blob: 5ad6a63159ecc035c5f6c447fd1fff7e150ab935 [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-O2 -ftree-tail-merge" } */
static inline void set_longish(int is_long_long, void *p, long x)
{
if (is_long_long)
*(long long*)p = x;
else
*(long*)p = x;
}
static long test(long long *p, int index, int mode)
{
*p = 1;
set_longish(mode, p+index, 2);
return *p;
}
long (*volatile vtest)(long long*, int, int) = test;
int main(void)
{
long long x;
long result = vtest(&x, 0, 1);
if (result != 2 || x != 2)
__builtin_abort ();
return 0;
}