[LLVMbugs] [Bug 12806] New: explicitly defaulted default constructor isn't noexcept when it should be

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat May 12 16:43:07 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=12806

             Bug #: 12806
           Summary: explicitly defaulted default constructor isn't
                    noexcept when it should be
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++11
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: hhinnant at apple.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


#include <type_traits>

class A
{
public:
    A() = default;
};

static_assert(std::is_nothrow_default_constructible<A>::value, "");
static_assert(std::is_copy_constructible<A>::value, "");
static_assert(std::is_copy_assignable<A>::value, "");
static_assert(std::is_nothrow_move_constructible<A>::value, "");
static_assert(std::is_nothrow_move_assignable<A>::value, "");
static_assert(std::is_nothrow_destructible<A>::value, "");

int main()
{
}

I expect this to compile.  Instead I get:

test.cpp:1885:1: error: static_assert failed ""
static_assert(std::is_nothrow_default_constructible<A>::value, "");
^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list