llvm-project/llvm/test/CFrontend/2007-02-05-nested.c

55 lines
586 B
C

// 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);
}