summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
diff options
context:
space:
mode:
authorAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-01 23:49:48 +0000
committerAlexander Shaposhnikov <shal1t712@gmail.com>2016-09-01 23:49:48 +0000
commitae4ff453a4a95140669dd0cab28ec7d7032e5449 (patch)
tree822a30d1e71e04cd647e9ecd6f61902f205a3685 /clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
parent356f79d5357a14cf57014cf05757412ad10bc236 (diff)
downloadbcm5719-llvm-ae4ff453a4a95140669dd0cab28ec7d7032e5449.tar.gz
bcm5719-llvm-ae4ff453a4a95140669dd0cab28ec7d7032e5449.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 excess padding). Differential revision: https://reviews.llvm.org/D23279 llvm-svn: 280431
Diffstat (limited to 'clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp')
-rw-r--r--clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp b/clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
new file mode 100644
index 00000000000..9d09c818775
--- /dev/null
+++ b/clang-tools-extra/test/clang-reorder-fields/AggregatePartialInitialization.cpp
@@ -0,0 +1,14 @@
+// RUN: clang-reorder-fields -record-name Foo -fields-order z,y,x %s -- | FileCheck %s
+
+// The order of fields should not change.
+class Foo {
+public:
+ int x; // CHECK: {{^ int x;}}
+ int y; // CHECK-NEXT: {{^ int y;}}
+ int z; // CHECK-NEXT: {{^ int z;}}
+};
+
+int main() {
+ Foo foo = { 0, 1 }; // CHECK: {{^ Foo foo = { 0, 1 };}}
+ return 0;
+}
OpenPOWER on IntegriCloud