summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/pointers-to-data-members.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-05-26 21:28:50 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-05-26 21:28:50 +0000
commit67fa0b85cd7bc514783490d2b7ceca97b84839b2 (patch)
tree2acd66b10908bc9a09dccbfc50afac6ec6605fba /clang/test/CodeGenCXX/pointers-to-data-members.cpp
parentc74f73f2a02647c5c793fc71779ac2c33c51eff5 (diff)
downloadbcm5719-llvm-67fa0b85cd7bc514783490d2b7ceca97b84839b2.tar.gz
bcm5719-llvm-67fa0b85cd7bc514783490d2b7ceca97b84839b2.zip
[CodeGen] Handle flexible array members containing pointers to members
Types can be classified as being zero-initializable or non-zero-initializable. We used to classify array types by giving them the classification of their base element type. However, incomplete array types are never initialized directly and thus are always zero-initializable. llvm-svn: 238256
Diffstat (limited to 'clang/test/CodeGenCXX/pointers-to-data-members.cpp')
-rw-r--r--clang/test/CodeGenCXX/pointers-to-data-members.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/pointers-to-data-members.cpp b/clang/test/CodeGenCXX/pointers-to-data-members.cpp
index bb1b64e0a73..0f2ddaac23b 100644
--- a/clang/test/CodeGenCXX/pointers-to-data-members.cpp
+++ b/clang/test/CodeGenCXX/pointers-to-data-members.cpp
@@ -277,4 +277,12 @@ U u;
// CHECK-GLOBAL: @_ZN7PR212821uE = global %"union.PR21282::U" { i64 -1, [8 x i8] zeroinitializer }, align 8
}
+namespace FlexibleArrayMember {
+struct S {
+ int S::*x[];
+};
+S s;
+// CHECK-GLOBAL: @_ZN19FlexibleArrayMember1sE = global %"struct.FlexibleArrayMember::S" zeroinitializer, align 8
+}
+
// CHECK-O3: attributes [[NUW]] = { nounwind readnone{{.*}} }
OpenPOWER on IntegriCloud