r208157 causes: markus@x4 skia % cat test.ii struct A { A(int); }; typedef struct { A format; } B; markus@x4 skia % g++ -std=c++11 -c test.ii test.ii: In constructor ‘B::B()’: test.ii:6:3: error: no matching function for call to ‘A::A()’ } B; ^ test.ii:6:3: note: candidates are: test.ii:2:3: note: A::A(int) A(int); ^ test.ii:2:3: note: candidate expects 1 argument, 0 provided test.ii:1:8: note: constexpr A::A(const A&) struct A { ^ test.ii:1:8: note: candidate expects 1 argument, 0 provided test.ii:1:8: note: constexpr A::A(A&&) test.ii:1:8: note: candidate expects 1 argument, 0 provided test.ii: At global scope: test.ii:4:16: note: synthesized method ‘B::B()’ first required here typedef struct { ^
Confirmed.
Author: jason Date: Thu Feb 27 16:20:59 2014 New Revision: 208200 URL: http://gcc.gnu.org/viewcvs?rev=208200&root=gcc&view=rev Log: PR c++/60353 PR c++/55877 * decl2.c (tentative_decl_linkage): Don't mess with functions that are not yet defined. Added: trunk/gcc/testsuite/g++.dg/other/anon6.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl2.c
Fixed.