http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48930

           Summary: [C++0x] Invalid implicitly declared default c'tor
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: daniel.krueg...@googlemail.com
                CC: ja...@redhat.com


gcc 4.7.0 20110430 (experimental) in C++0x mode accepts the following code:

//-------
struct C {
  C(const C&) = default;
} c1;

C c2{};
//-------

It shouldn't, the code is ill-formed, because there is a user-declared (but not
user-provided) copy-constructor. According to [class.ctor]p.5 the default
constructor of C should not be implicitly declared in this case. The defect
exists independent of the way, a default-constructed variable of type C is
declared, or whether a defaulted move constructor is added or not.

Reply via email to