[Bug c++/46203] New: constexpr weirdness w/ default ctors

bkoz at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 27 21:30:00 GMT 2010


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: unassigned@gcc.gnu.org
        ReportedBy: bkoz@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.



More information about the Gcc-bugs mailing list