OSDN Git Service

* decl.c (cp_make_fname_decl): When creating a top-level
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Nov 2003 22:20:34 +0000 (22:20 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Nov 2003 22:20:34 +0000 (22:20 +0000)
__FUNCTION__-like symbol, do register it with pushdecl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73515 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/decl.c

index d8c54b0..f74ac5e 100644 (file)
@@ -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
index b1fd4f7..61bea50 100644 (file)
@@ -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;
 }