blob: fd226a41408d740c50c3af94d277367456c0d607 [file] [log] [blame]
/* { dg-do run } */
/* { dg-require-effective-target lto } */
/* { dg-options "-O2 -flto" } */
typedef int *A;
void* foo(void* a, void *b, void *c, void *d)
{
*(A**)a = c;
typedef enum E *B;
enum E { E1 = -1, E2 = 0, E3 = 1, MAX = __INT_MAX__ };
{
*(B**)b = d;
}
return *(A**)a;
}
int main()
{
A *a, b, c;
if (&c != (A*)foo(&a, &a, &b, &c))
__builtin_abort();
}