diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-10-24 16:46:44 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-10-24 16:46:44 +0200 |
commit | c0a4369a237ae3b0cdabff81a2b83fdf3308b5b2 (patch) | |
tree | 38a09399a3edfe3cf8aa399e0146cca77ab9f37a | |
parent | b8c815e5488369a6611f9194f9b5d09f2a72193f (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-decl.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20011023-1.c | 14 |
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 (); +} |