diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-03-30 03:55:31 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-03-30 03:55:31 +0000 |
commit | a154dd5b33dc1e8b7d2c09e88dbba39486c26271 (patch) | |
tree | 48a651b851ec2112f969626c84744588f6254f3a /clang/test/CodeGenCXX/const-init-cxx11.cpp | |
parent | 356e17ce69b41905d9f9b2ce22d22dbde38e4022 (diff) | |
download | bcm5719-llvm-a154dd5b33dc1e8b7d2c09e88dbba39486c26271.tar.gz bcm5719-llvm-a154dd5b33dc1e8b7d2c09e88dbba39486c26271.zip |
ConstStructBuilder: fix offset math for base classes so it works correctly in general. Found by inspection.
llvm-svn: 153720
Diffstat (limited to 'clang/test/CodeGenCXX/const-init-cxx11.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/const-init-cxx11.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/const-init-cxx11.cpp b/clang/test/CodeGenCXX/const-init-cxx11.cpp index 8d92b81feb0..c6250c6d966 100644 --- a/clang/test/CodeGenCXX/const-init-cxx11.cpp +++ b/clang/test/CodeGenCXX/const-init-cxx11.cpp @@ -78,6 +78,11 @@ namespace BaseClass { struct Test2 : X<E,0>, X<E,1>, X<E,2>, X<E,3> {}; // CHECK: @_ZN9BaseClass2t2E = constant {{.*}} undef extern constexpr Test2 t2 = Test2(); + + struct __attribute((packed)) PackedD { double y = 2; }; + struct Test3 : C, PackedD { constexpr Test3() {} }; + // CHECK: @_ZN9BaseClass2t3E = constant <{ i8, double }> <{ i8 1, double 2.000000e+00 }> + extern constexpr Test3 t3 = Test3(); } namespace Array { |