diff options
| -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 (); +} |
