summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp
diff options
context:
space:
mode:
authorAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-02 02:56:07 +0000
committerAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-02 02:56:07 +0000
commitbf3c84cff7fdd767bb8228bb0dfde3b385eedf04 (patch)
tree0acf73f898028b112ae4fe255d7b8da6d37a3ada /clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp
parenta9bac92890fdad806cc6b84261b2aff4f2a36e86 (diff)
downloadbcm5719-llvm-bf3c84cff7fdd767bb8228bb0dfde3b385eedf04.tar.gz
bcm5719-llvm-bf3c84cff7fdd767bb8228bb0dfde3b385eedf04.zip
Add clang-reorder-fields to clang-tools-extra
This diff adds v0 of clang-reorder-fields tool to clang/tools/extra. The main idea behind this tool is to simplify and make less error-prone refactoring of large codebases when someone needs to change the order fields of a struct/class (for example to remove excessive padding). Differential revision: https://reviews.llvm.org/D23279 llvm-svn: 280456
Diffstat (limited to 'clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp')
-rw-r--r--clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp b/clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp
new file mode 100644
index 00000000000..6dc27222a58
--- /dev/null
+++ b/clang-tools-extra/test/clang-reorder-fields/ClassSimpleCtor.cpp
@@ -0,0 +1,24 @@
+// RUN: clang-reorder-fields -record-name Foo -fields-order s1,x,z,s2 %s -- | FileCheck %s
+
+class Foo {
+public:
+ Foo();
+
+private:
+ int x; // CHECK: {{^ const char \*s1;}}
+ const char *s1; // CHECK-NEXT: {{^ int x;}}
+ const char *s2; // CHECK-NEXT: {{^ double z;}}
+ double z; // CHECK-NEXT: {{^ const char \*s2;}}
+};
+
+Foo::Foo():
+ x(12), // CHECK: {{^ s1\("abc"\),}}
+ s1("abc"), // CHECK-NEXT: {{^ x\(12\),}}
+ s2("def"), // CHECK-NEXT: {{^ z\(3.14\),}}
+ z(3.14) // CHECK-NEXT: {{^ s2\("def"\)}}
+{}
+
+int main() {
+ Foo foo;
+ return 0;
+}
OpenPOWER on IntegriCloud