aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-10-24 16:46:44 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2001-10-24 16:46:44 +0200
commitc0a4369a237ae3b0cdabff81a2b83fdf3308b5b2 (patch)
tree38a09399a3edfe3cf8aa399e0146cca77ab9f37a
parentb8c815e5488369a6611f9194f9b5d09f2a72193f (diff)
downloadgcc-c0a4369a237ae3b0cdabff81a2b83fdf3308b5b2.zip
gcc-c0a4369a237ae3b0cdabff81a2b83fdf3308b5b2.tar.gz
gcc-c0a4369a237ae3b0cdabff81a2b83fdf3308b5b2.tar.bz2
c-decl.c (finish_decl): Don't add DECL_STMTs for nested function prototypes.
* c-decl.c (finish_decl): Don't add DECL_STMTs for nested function prototypes. * gcc.c-torture/compile/20011023-1.c: New test. From-SVN: r46463
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-decl.c3
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20011023-1.c14
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e58637f..640da38 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
+ prototypes.
+
2001-10-23 Stan Shebs <shebs@apple.com>
* config/rs6000/x-darwin: Use -no-cpp-precomp instead of
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index ad724f5..a5dbd92 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -3735,7 +3735,8 @@ finish_decl (decl, init, asmspec_tree)
SET_DECL_ASSEMBLER_NAME (decl, get_identifier (asmspec));
}
- add_decl_stmt (decl);
+ if (TREE_CODE (decl) != FUNCTION_DECL)
+ add_decl_stmt (decl);
}
if (DECL_CONTEXT (decl) != 0)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 230b9dc..106e21a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-10-24 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c-torture/compile/20011023-1.c: New test.
+
2001-10-23 Geoffrey Keating <geoffk@redhat.com>
* lib/g77.exp: Rewrite based on lib/g++.exp.
diff --git a/gcc/testsuite/gcc.c-torture/compile/20011023-1.c b/gcc/testsuite/gcc.c-torture/compile/20011023-1.c
new file mode 100644
index 0000000..eca1adf
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20011023-1.c
@@ -0,0 +1,14 @@
+/* Test whether tree inlining works with prototyped nested functions. */
+
+extern void foo (char *x);
+void bar (void);
+void bar (void)
+{
+ auto void baz (void);
+ void baz (void)
+ {
+ char tmp[2];
+ foo (tmp);
+ }
+ baz ();
+}