28 lines
414 B
C
28 lines
414 B
C
// 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 (...)
|
|
{ }
|
|
}
|