http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46203
Summary: constexpr weirdness w/ default ctors Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: b...@gcc.gnu.org From trunk, get these additional fails. FAIL: 23_containers/vector/ext_pointer/citerators.cc (test for excess errors) FAIL: 29_atomics/atomic_address/cons/assign_neg.cc (test for excess errors) FAIL: 29_atomics/atomic_address/cons/copy_neg.cc (test for excess errors) FAIL: 29_atomics/atomic_address/cons/default.cc (test for excess errors) FAIL: 29_atomics/atomic_flag/cons/assign_neg.cc (test for excess errors) FAIL: 29_atomics/atomic_flag/cons/copy_neg.cc (test for excess errors) FAIL: 29_atomics/atomic_flag/cons/default.cc (test for excess errors) === libstdc++ Summary === # of expected passes 7977 # of unexpected failures 7 # of expected failures 84 # of unsupported tests 100 Looking at FAIL: 29_atomics/atomic_address/cons/default.cc, I see: In file included from /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/atomic:42:0, from /mnt/share/src/gcc.git-trunk/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc:20: /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/atomic_base.h: In constructor ‘constexpr std::__atomic_flag_base::__atomic_flag_base()’: /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/atomic_base.h:58:18: error: uninitialized member ‘std::__atomic_flag_base::_M_i’ in ‘constexpr’ constructor In file included from /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/atomic:81:0, from /mnt/share/src/gcc.git-trunk/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc:20: /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/atomic_2.h: In constructor ‘constexpr std::__atomic2::atomic_flag::atomic_flag()’: /mnt/share/bld/gcc.git-trunk/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/atomic_2.h:49:5: note: synthesized method ‘std::__atomic_flag_base::__atomic_flag_base()’ first required here /mnt/share/src/gcc.git-trunk/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc: In function ‘int main()’: /mnt/share/src/gcc.git-trunk/libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc:25:44: note: synthesized method ‘constexpr std::__atomic2::atomic_flag::atomic_flag()’ first required here These default ctors are not constexpr.