new testcase for nested functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34017 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CFrontend/2007-02-05-nested.c b/test/CFrontend/2007-02-05-nested.c
new file mode 100644
index 0000000..be23f17
--- /dev/null
+++ b/test/CFrontend/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);
+}