diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
commit | 461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch) | |
tree | 6942083d7d56bba40ec790a453ca58ad3baf6832 /test/Refactor/LocalRename | |
parent | 75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff) |
Vendor import of clang trunk r321017:vendor/clang/clang-trunk-r321017
Notes
Notes:
svn path=/vendor/clang/dist/; revision=326941
svn path=/vendor/clang/clang-trunk-r321017/; revision=326942; tag=vendor/clang/clang-trunk-r321017
Diffstat (limited to 'test/Refactor/LocalRename')
-rw-r--r-- | test/Refactor/LocalRename/BuiltinOffsetof.cpp | 32 | ||||
-rw-r--r-- | test/Refactor/LocalRename/Field.cpp | 11 | ||||
-rw-r--r-- | test/Refactor/LocalRename/NoSymbolSelectedError.cpp | 8 | ||||
-rw-r--r-- | test/Refactor/LocalRename/QualifiedRename.cpp | 24 |
4 files changed, 75 insertions, 0 deletions
diff --git a/test/Refactor/LocalRename/BuiltinOffsetof.cpp b/test/Refactor/LocalRename/BuiltinOffsetof.cpp new file mode 100644 index 000000000000..3119eeb7e524 --- /dev/null +++ b/test/Refactor/LocalRename/BuiltinOffsetof.cpp @@ -0,0 +1,32 @@ +// RUN: clang-refactor local-rename -selection=test:%s -new-name=bar %s -- | grep -v CHECK | FileCheck %s + +struct Struct { + int /*range f=*/field; +}; + +struct Struct2 { + Struct /*range array=*/array[4][2]; +}; + +void foo() { + (void)__builtin_offsetof(Struct, /*range f=*/field); + (void)__builtin_offsetof(Struct2, /*range array=*/array[1][0]./*range f=*/field); +} + +#define OFFSET_OF_(X, Y) __builtin_offsetof(X, Y) + +class SubclassOffsetof : public Struct { + void foo() { + (void)OFFSET_OF_(SubclassOffsetof, field); + } +}; + +// CHECK: 2 'array' results: +// CHECK: Struct /*range array=*/bar[4][2]; +// CHECK: __builtin_offsetof(Struct2, /*range array=*/bar[1][0]./*range f=*/field); + +// CHECK: 3 'f' results: +// CHECK: int /*range f=*/bar; +// CHECK: __builtin_offsetof(Struct, /*range f=*/bar); +// CHECK-NEXT: __builtin_offsetof(Struct2, /*range array=*/array[1][0]./*range f=*/bar); +// CHECK: OFFSET_OF_(SubclassOffsetof, bar); diff --git a/test/Refactor/LocalRename/Field.cpp b/test/Refactor/LocalRename/Field.cpp new file mode 100644 index 000000000000..e674401b9653 --- /dev/null +++ b/test/Refactor/LocalRename/Field.cpp @@ -0,0 +1,11 @@ +// RUN: clang-refactor local-rename -selection=test:%s -new-name=Bar %s -- | grep -v CHECK | FileCheck %s + +class Baz { + int /*range=*/Foo; + // CHECK: int /*range=*/Bar; +public: + Baz(); +}; + +Baz::Baz() : /*range=*/Foo(0) {} +// CHECK: Baz::Baz() : /*range=*/Bar(0) {} diff --git a/test/Refactor/LocalRename/NoSymbolSelectedError.cpp b/test/Refactor/LocalRename/NoSymbolSelectedError.cpp new file mode 100644 index 000000000000..98de61a45f46 --- /dev/null +++ b/test/Refactor/LocalRename/NoSymbolSelectedError.cpp @@ -0,0 +1,8 @@ +// RUN: not clang-refactor local-rename -selection=%s:4:1 -new-name=Bar %s -- 2>&1 | grep -v CHECK | FileCheck %s +// RUN: clang-refactor local-rename -selection=test:%s -new-name=Bar %s -- 2>&1 | grep -v CHECK | FileCheck --check-prefix=TESTCHECK %s + +class Baz { // CHECK: [[@LINE]]:1: error: there is no symbol at the given location +}; +/*range=*/; +// TESTCHECK: 1 '' results: +// TESTCHECK-NEXT: there is no symbol at the given location diff --git a/test/Refactor/LocalRename/QualifiedRename.cpp b/test/Refactor/LocalRename/QualifiedRename.cpp new file mode 100644 index 000000000000..d9eb138e5c76 --- /dev/null +++ b/test/Refactor/LocalRename/QualifiedRename.cpp @@ -0,0 +1,24 @@ +// RUN: clang-refactor local-rename -old-qualified-name="foo::A" -new-qualified-name="bar::B" %s -- -std=c++11 2>&1 | grep -v CHECK | FileCheck %s + +namespace foo { +class A {}; +} +// CHECK: namespace foo { +// CHECK-NEXT: class B {}; +// CHECK-NEXT: } + +namespace bar { +void f(foo::A* a) { + foo::A b; +} +// CHECK: void f(B* a) { +// CHECK-NEXT: B b; +// CHECK-NEXT: } +} + +void f(foo::A* a) { + foo::A b; +} +// CHECK: void f(bar::B* a) { +// CHECK-NEXT: bar::B b; +// CHECK-NEXT: } |