diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-10-10 17:22:13 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-10-10 17:22:13 +0000 |
commit | 556e5860f970411bec3f440c1cb20563b51a77a6 (patch) | |
tree | 2ba43838bd1a26f3dde179dadd34ff9b52c366a4 /clang/test/CXX/class | |
parent | 5cf6fd422e1e7c0fc88dd058973cfc7e66b936e8 (diff) | |
download | bcm5719-llvm-556e5860f970411bec3f440c1cb20563b51a77a6.tar.gz bcm5719-llvm-556e5860f970411bec3f440c1cb20563b51a77a6.zip |
Per C++ [class.bit]p2, unnamed bit-fields are not members. Fixes PR10289.
llvm-svn: 141549
Diffstat (limited to 'clang/test/CXX/class')
-rw-r--r-- | clang/test/CXX/class/class.bit/p2.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/test/CXX/class/class.bit/p2.cpp b/clang/test/CXX/class/class.bit/p2.cpp new file mode 100644 index 00000000000..a849664593d --- /dev/null +++ b/clang/test/CXX/class/class.bit/p2.cpp @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++0x %s + +struct A { +private: + int : 0; +}; + +A a = { }; +A a2 = { 1 }; // expected-error{{excess elements in struct initializer}} + +struct B { + const int : 0; +}; + +B b; + +void testB() { + B b2(b); + B b3(static_cast<B&&>(b2)); + b = b; + b = static_cast<B&&>(b); +} |