diff options
author | Alexander Shaposhnikov <shal1t712@gmail.com> | 2016-09-02 02:56:07 +0000 |
---|---|---|
committer | Alexander Shaposhnikov <shal1t712@gmail.com> | 2016-09-02 02:56:07 +0000 |
commit | bf3c84cff7fdd767bb8228bb0dfde3b385eedf04 (patch) | |
tree | 0acf73f898028b112ae4fe255d7b8da6d37a3ada /clang-tools-extra/test/clang-reorder-fields/ClassMixedInitialization.cpp | |
parent | a9bac92890fdad806cc6b84261b2aff4f2a36e86 (diff) | |
download | bcm5719-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/ClassMixedInitialization.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-reorder-fields/ClassMixedInitialization.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-reorder-fields/ClassMixedInitialization.cpp b/clang-tools-extra/test/clang-reorder-fields/ClassMixedInitialization.cpp new file mode 100644 index 00000000000..888649a9120 --- /dev/null +++ b/clang-tools-extra/test/clang-reorder-fields/ClassMixedInitialization.cpp @@ -0,0 +1,24 @@ +// RUN: clang-reorder-fields -record-name Foo -fields-order e,x,pi,s2,s1 %s -- -std=c++11 | FileCheck %s + +class Foo { +public: + Foo(); + +private: + int x; // CHECK: {{^ double e = 2.71;}} + const char *s1; // CHECK-NEXT: {{^ int x;}} + const char *s2; // CHECK-NEXT: {{^ double pi = 3.14;}} + double pi = 3.14; // CHECK-NEXT: {{^ const char \*s2;}} + double e = 2.71; // CHECK-NEXT: {{^ const char \*s1;}} +}; + +Foo::Foo(): + x(12), // CHECK: {{^ x\(12\)}}, + s1("abc"), // CHECK-NEXT: {{^ s2\("def"\)}}, + s2("def") // CHECK-NEXT: {{^ s1\("abc"\)}} +{} + +int main() { + Foo foo; + return 0; +} |