#define NAMESPACE namespace A NAMESPACE { int Foo; /* Test 1 */ // CHECK: int Bar; } int Foo; // CHECK: int Foo; int Qux = Foo; // CHECK: int Qux = Foo; int Baz = A::Foo; /* Test 2 */ // CHECK: Baz = A::Bar; void fun() { struct { int Foo; // CHECK: int Foo; } b = {100}; int Foo = 100; // CHECK: int Foo = 100; Baz = Foo; // CHECK: Baz = Foo; { extern int Foo; // CHECK: extern int Foo; Baz = Foo; // CHECK: Baz = Foo; Foo = A::Foo /* Test 3 */ + Baz; // CHECK: Foo = A::Bar /* Test 3 */ + Baz; A::Foo /* Test 4 */ = b.Foo; // CHECK: A::Bar /* Test 4 */ = b.Foo; } Foo = b.Foo; // Foo = b.Foo; } // Test 1. // RUN: clang-rename -offset=46 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s // Test 2. // RUN: clang-rename -offset=234 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s // Test 3. // RUN: clang-rename -offset=641 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s // Test 4. // RUN: clang-rename -offset=716 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s // To find offsets after modifying the file, use: // grep -Ubo 'Foo.*'