blob: 59b82d53ba8b4cf6b9e4895077e56cda4335b528 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3" } */
class test
{
public:
test (int val, int *p)
{
int_val = *p;
bool_val = (val != int_val);
}
~test ()
{
if (!bool_val)
return;
}
int get_int_val () const
{
return int_val;
}
private:
bool bool_val;
int int_val;
};
static int __attribute__ ((noinline))
f1 (int i, int *p)
{
test obj (i, p);
return obj.get_int_val ();
}
static int __attribute__ ((noinline))
f2 (int i, int *p)
{
test obj (i, p);
return obj.get_int_val ();
}
int
f (int i, int *p)
{
return f1 (i, p) + f2 (i, p);
}