summaryrefslogtreecommitdiffstats
path: root/test/FrontendC/2007-02-05-nested.c
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
committered <ed@FreeBSD.org>2009-06-02 17:52:33 +0000
commit3277b69d734b9c90b44ebde4ede005717e2c3b2e (patch)
tree64ba909838c23261cace781ece27d106134ea451 /test/FrontendC/2007-02-05-nested.c
downloadFreeBSD-src-3277b69d734b9c90b44ebde4ede005717e2c3b2e.zip
FreeBSD-src-3277b69d734b9c90b44ebde4ede005717e2c3b2e.tar.gz
Import LLVM, at r72732.
Diffstat (limited to 'test/FrontendC/2007-02-05-nested.c')
-rw-r--r--test/FrontendC/2007-02-05-nested.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/FrontendC/2007-02-05-nested.c b/test/FrontendC/2007-02-05-nested.c
new file mode 100644
index 0000000..be23f17
--- /dev/null
+++ b/test/FrontendC/2007-02-05-nested.c
@@ -0,0 +1,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);
+}
OpenPOWER on IntegriCloud