The following invalid code snippet triggers an ICE on the trunk: ====================================== void foo() = default; ======================================
bug.cc:1: error: 'void foo()' cannot be defaulted bug.cc:1: internal compiler error: Segmentation fault Please submit a full bug report, [etc.] A similar code snippet triggers an ICE in a different place: ====================================== namespace { void foo() = default; } ====================================== bug.cc:3: error: 'void<unnamed>::foo()' cannot be defaulted bug.cc:3: internal compiler error: tree check: expected class 'type', have 'declaration' (namespace_decl) in synthesize_method, at cp/method.c:758 Please submit a full bug report, [etc.] This is a recent regression on the trunk, introduced between 2008-11-20 and 2008-12-06. -- Summary: [4.4 regression] ICE with defaulted function Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code, error-recovery, monitored Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: reichelt at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38701