blob: d7e670fb43eebb6b18a8917a9e7edec67ab3e09a [file] [log] [blame]
Benjamin Kramerb568d992016-11-22 17:29:45 +00001#define NAMESPACE namespace A
2NAMESPACE {
Kirill Bobyrev77f522c2016-08-10 13:28:30 +00003int Foo; /* Test 1 */ // CHECK: int Bar;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +00004}
Kirill Bobyrev77f522c2016-08-10 13:28:30 +00005int Foo; // CHECK: int Foo;
6int Qux = Foo; // CHECK: int Qux = Foo;
7int Baz = A::Foo; /* Test 2 */ // CHECK: Baz = A::Bar;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +00008void fun() {
9 struct {
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000010 int Foo; // CHECK: int Foo;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +000011 } b = {100};
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000012 int Foo = 100; // CHECK: int Foo = 100;
13 Baz = Foo; // CHECK: Baz = Foo;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +000014 {
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000015 extern int Foo; // CHECK: extern int Foo;
16 Baz = Foo; // CHECK: Baz = Foo;
17 Foo = A::Foo /* Test 3 */ + Baz; // CHECK: Foo = A::Bar /* Test 3 */ + Baz;
18 A::Foo /* Test 4 */ = b.Foo; // CHECK: A::Bar /* Test 4 */ = b.Foo;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +000019 }
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000020 Foo = b.Foo; // Foo = b.Foo;
Kirill Bobyrevee99fd12016-07-15 12:22:38 +000021}
22
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000023// Test 1.
Benjamin Kramerb568d992016-11-22 17:29:45 +000024// RUN: clang-rename -offset=46 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000025// Test 2.
Benjamin Kramerb568d992016-11-22 17:29:45 +000026// RUN: clang-rename -offset=234 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000027// Test 3.
Benjamin Kramerb568d992016-11-22 17:29:45 +000028// RUN: clang-rename -offset=641 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000029// Test 4.
Benjamin Kramerb568d992016-11-22 17:29:45 +000030// RUN: clang-rename -offset=716 -new-name=Bar %s -- | sed 's,//.*,,' | FileCheck %s
Kirill Bobyrev77f522c2016-08-10 13:28:30 +000031
32// To find offsets after modifying the file, use:
33// grep -Ubo 'Foo.*' <file>