diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-05-26 21:28:50 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-05-26 21:28:50 +0000 |
commit | 67fa0b85cd7bc514783490d2b7ceca97b84839b2 (patch) | |
tree | 2acd66b10908bc9a09dccbfc50afac6ec6605fba /clang/test/CodeGenCXX/pointers-to-data-members.cpp | |
parent | c74f73f2a02647c5c793fc71779ac2c33c51eff5 (diff) | |
download | bcm5719-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.cpp | 8 |
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{{.*}} } |