45 lines
367 B
C
45 lines
367 B
C
// PR c++/26757
|
|
// { dg-do run }
|
|
// { dg-options "-O" }
|
|
|
|
extern "C" void abort ();
|
|
|
|
typedef struct A
|
|
{
|
|
int c;
|
|
int d;
|
|
} A;
|
|
|
|
A *b;
|
|
|
|
void
|
|
foo ()
|
|
{
|
|
b->c++;
|
|
extern A *b;
|
|
b->d++;
|
|
|
|
}
|
|
|
|
void
|
|
bar ()
|
|
{
|
|
if (b->d)
|
|
b->c++;
|
|
}
|
|
|
|
|
|
int
|
|
main ()
|
|
{
|
|
A a = { 0, 0 };
|
|
b = &a;
|
|
foo ();
|
|
bar ();
|
|
if (b->c != 2)
|
|
abort ();
|
|
if (b->d != 1)
|
|
abort ();
|
|
return 0;
|
|
}
|