1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
// RUN: %llvmgcc -S -fnested-functions -O0 -o - -emit-llvm %s
// PR915
extern void abort(void);
void nest(int n)
{
int a = 0;
int b = 5;
int c = 0;
int d = 7;
void o(int i, int j)
{
if (i!=j)
abort();
}
void f(x)
int x; /* K&R style */
{
int e = 0;
int f = 2;
int g = 0;
void y(void)
{
c = n;
e = 1;
g = x;
}
void z(void)
{
a = 4;
g = 3;
}
a = 5;
y();
c = x;
z();
o(1,e);
o(2,f);
o(3,g);
}
c = 2;
f(6);
o(4,a);
o(5,b);
o(6,c);
o(7,d);
}
|