1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/FrontendC/2007-02-05-nested.c
Duncan Sands 020f241883 Remove explicit uses of -emit-llvm, the test infrastructure adds it
automatically.  Use -S with llvm-gcc rather than -c, so tests can
work when llvm-gcc is really dragonegg (which can output IR with -S
but not -c).

llvm-svn: 120158
2010-11-25 21:24:35 +00:00

55 lines
575 B
C

// RUN: %llvmgcc -S -fnested-functions -O0 -o - %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);
}