46 lines
365 B
C
46 lines
365 B
C
// { dg-do run }
|
|
// Origin: Mark Mitchell <mark@codesourcery.com>
|
|
|
|
extern "C" void abort ();
|
|
|
|
int count;
|
|
|
|
struct S
|
|
{
|
|
S ();
|
|
S (const S&);
|
|
~S ();
|
|
|
|
int i;
|
|
};
|
|
|
|
S::S ()
|
|
{
|
|
i = count++;
|
|
}
|
|
|
|
S::S (const S&)
|
|
{
|
|
i = count++;
|
|
}
|
|
|
|
S::~S ()
|
|
{
|
|
if (--count != i)
|
|
abort ();
|
|
}
|
|
|
|
void f (S, S)
|
|
{
|
|
}
|
|
|
|
int main ()
|
|
{
|
|
{
|
|
S s;
|
|
f (s, s);
|
|
}
|
|
return count != 0;
|
|
}
|
|
|