aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2003-11-12 22:20:34 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2003-11-12 22:20:34 +0000
commitad16ae7f128edb825803b0caff4ede85ffaa5087 (patch)
tree705a5a353e64752eead76b0ef49aecc2beabc557
parent2860518a07933c067e9970b509109e49833da80d (diff)
downloadgcc-ad16ae7f128edb825803b0caff4ede85ffaa5087.zip
gcc-ad16ae7f128edb825803b0caff4ede85ffaa5087.tar.gz
gcc-ad16ae7f128edb825803b0caff4ede85ffaa5087.tar.bz2
decl.c (cp_make_fname_decl): When creating a top-level __FUNCTION__-like symbol, do register it with pushdecl.
* decl.c (cp_make_fname_decl): When creating a top-level __FUNCTION__-like symbol, do register it with pushdecl. From-SVN: r73515
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/decl.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index d8c54b0..f74ac5e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2003-11-12 Mark Mitchell <mark@codesourcery.com>
+ * decl.c (cp_make_fname_decl): When creating a top-level
+ __FUNCTION__-like symbol, do register it with pushdecl.
+
* decl.c (finish_case_label): Do not check that we are within a
switch statement here.
* parser.c (struct cp_parser): Add in_iteration_statement_p and
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index b1fd4f7..61bea50 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3157,9 +3157,10 @@ cp_make_fname_decl (tree id, int type_dep)
while (b->level_chain->kind != sk_function_parms)
b = b->level_chain;
pushdecl_with_scope (decl, b);
+ cp_finish_decl (decl, init, NULL_TREE, LOOKUP_ONLYCONVERTING);
}
-
- cp_finish_decl (decl, init, NULL_TREE, LOOKUP_ONLYCONVERTING);
+ else
+ pushdecl_top_level_and_finish (decl, init);
return decl;
}