1762bb9d0ad20320b9f97a841dce57ba5e8e48b07Richard Smith// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s 2d61db33331c264d6361283602b248a7423040597Douglas Gregor 3d61db33331c264d6361283602b248a7423040597Douglas Gregorstruct A { 4d61db33331c264d6361283602b248a7423040597Douglas Gregorprivate: 5d61db33331c264d6361283602b248a7423040597Douglas Gregor int : 0; 6d61db33331c264d6361283602b248a7423040597Douglas Gregor}; 7d61db33331c264d6361283602b248a7423040597Douglas Gregor 8d61db33331c264d6361283602b248a7423040597Douglas GregorA a = { }; 9d61db33331c264d6361283602b248a7423040597Douglas GregorA a2 = { 1 }; // expected-error{{excess elements in struct initializer}} 10d61db33331c264d6361283602b248a7423040597Douglas Gregor 11d61db33331c264d6361283602b248a7423040597Douglas Gregorstruct B { 12d61db33331c264d6361283602b248a7423040597Douglas Gregor const int : 0; 13d61db33331c264d6361283602b248a7423040597Douglas Gregor}; 14d61db33331c264d6361283602b248a7423040597Douglas Gregor 15d61db33331c264d6361283602b248a7423040597Douglas GregorB b; 16d61db33331c264d6361283602b248a7423040597Douglas Gregor 17d61db33331c264d6361283602b248a7423040597Douglas Gregorvoid testB() { 18d61db33331c264d6361283602b248a7423040597Douglas Gregor B b2(b); 19d61db33331c264d6361283602b248a7423040597Douglas Gregor B b3(static_cast<B&&>(b2)); 20d61db33331c264d6361283602b248a7423040597Douglas Gregor b = b; 21d61db33331c264d6361283602b248a7423040597Douglas Gregor b = static_cast<B&&>(b); 22d61db33331c264d6361283602b248a7423040597Douglas Gregor} 23