aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1997-12-06 03:43:05 +0000
committerJason Merrill <jason@gcc.gnu.org>1997-12-05 22:43:05 -0500
commit7211716df46060793d33a8ec61a5b952007f68e7 (patch)
tree7fad100495e9ee3f1ce7d71210ceb98994f696f0
parentf2d765451e5dee21174c6ca6d4174866dbe24e00 (diff)
downloadgcc-7211716df46060793d33a8ec61a5b952007f68e7.zip
gcc-7211716df46060793d33a8ec61a5b952007f68e7.tar.gz
gcc-7211716df46060793d33a8ec61a5b952007f68e7.tar.bz2
parse.y (template_id): do_identifier for PFUNCNAMEs, too.
* parse.y (template_id): do_identifier for PFUNCNAMEs, too. * spew.c (yylex): Don't do_identifier here. * decl2.c (build_expr_from_tree): Revert last change. * decl2.c (build_expr_from_tree): Expand the name for a method call. * parse.y (object_template_id): Don't try to take the DECL_NAME. From-SVN: r16971
-rw-r--r--gcc/cp/ChangeLog9
-rw-r--r--gcc/cp/parse.y10
-rw-r--r--gcc/cp/spew.c3
3 files changed, 15 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index dfe5121..225f262 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,12 @@
+Fri Dec 5 01:17:34 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * parse.y (template_id): do_identifier for PFUNCNAMEs, too.
+ * spew.c (yylex): Don't do_identifier here.
+ * decl2.c (build_expr_from_tree): Revert last change.
+
+ * decl2.c (build_expr_from_tree): Expand the name for a method call.
+ * parse.y (object_template_id): Don't try to take the DECL_NAME.
+
Wed Dec 3 20:02:39 1997 Jason Merrill <jason@yorick.cygnus.com>
* init.c (build_new): Use a TARGET_EXPR instead of SAVE_EXPR for
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 18d4aa7..9628b8a 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -1295,9 +1295,11 @@ notype_unqualified_id:
template_id:
PFUNCNAME '<' template_arg_list template_close_bracket
- { $$ = lookup_template_function ($1, $3); }
+ { $$ = lookup_template_function
+ (do_identifier ($1, 1), $3); }
| PFUNCNAME '<' template_close_bracket
- { $$ = lookup_template_function ($1, NULL_TREE); }
+ { $$ = lookup_template_function
+ (do_identifier ($1, 1), NULL_TREE); }
| operator_name '<' template_arg_list template_close_bracket
{ $$ = lookup_template_function
(do_identifier ($1, 1), $3); }
@@ -1310,9 +1312,9 @@ object_template_id:
TEMPLATE identifier '<' template_arg_list template_close_bracket
{ $$ = lookup_template_function ($2, $4); }
| TEMPLATE PFUNCNAME '<' template_arg_list template_close_bracket
- { $$ = lookup_template_function (DECL_NAME ($2), $4); }
+ { $$ = lookup_template_function ($2, $4); }
| TEMPLATE operator_name '<' template_arg_list template_close_bracket
- { $$ = lookup_template_function (DECL_NAME ($2), $4); }
+ { $$ = lookup_template_function ($2, $4); }
;
unqualified_id:
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index a6fe404..769fb2a 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -379,9 +379,6 @@ yylex ()
debug_yychar (yychar);
#endif
- if (yychar == PFUNCNAME)
- yylval.ttype = do_identifier (yylval.ttype, 1);
-
return yychar;
}