aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c')
-rw-r--r--clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c b/clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c
new file mode 100644
index 0000000..ef64350
--- /dev/null
+++ b/clang-tools-extra/test/clang-reorder-fields/FlexibleArrayMember.c
@@ -0,0 +1,10 @@
+// RUN: clang-reorder-fields -record-name Foo -fields-order z,y,x %s -- 2>&1 | FileCheck --check-prefix=CHECK-BAD %s
+// RUN: clang-reorder-fields -record-name Foo -fields-order y,x,z %s -- | FileCheck --check-prefix=CHECK-GOOD %s
+
+// CHECK-BAD: {{^Flexible array member must remain the last field in the struct}}
+
+struct Foo {
+ int x; // CHECK-GOOD: {{^ int y;}}
+ int y; // CHECK-GOOD-NEXT: {{^ int x;}}
+ int z[]; // CHECK-GOOD-NEXT: {{^ int z\[\];}}
+};