// PR c++/6179 | |
// Bug: we tried to look at the fields of 'const A' to determine the proper | |
// exception specification for the synthesized copy constructor, but | |
// TYPE_FIELDS hadn't been set yet, so we incorrectly got a throw() spec. | |
struct B | |
{ | |
B () {} | |
B (const B&) { throw 1; } | |
}; | |
struct A; | |
void f (const A &) {} | |
struct A | |
{ | |
B b; | |
}; | |
int main () | |
{ | |
A a; | |
try | |
{ A a2 (a); } | |
catch (...) | |
{ } | |
} |