aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/lex.c1
-rw-r--r--gcc/cp/method.c3
3 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 365dc2b..328039a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+1998-10-27 Jason Merrill <jason@yorick.cygnus.com>
+
+ * lex.c (do_identifier): Also generate LOOKUP_EXPR for RESULT_DECL.
+ * method.c (hack_identifier): Also check for using RESULT_DECL
+ from outer context.
+
1998-10-27 Mark Mitchell <mark@markmitchell.com>
* decl.c (grokdeclarator): Use type_quals, rather than constp,
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index e081663..30c7048 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -3070,6 +3070,7 @@ do_identifier (token, parsing, args)
&& CP_DECL_CONTEXT (id)
&& TREE_CODE (CP_DECL_CONTEXT (id)) == FUNCTION_DECL)
|| TREE_CODE (id) == PARM_DECL
+ || TREE_CODE (id) == RESULT_DECL
|| TREE_CODE (id) == USING_DECL))
id = build_min_nt (LOOKUP_EXPR, token);
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index f738124..ee0185b 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1924,7 +1924,8 @@ hack_identifier (value, name)
else
mark_used (value);
- if (TREE_CODE (value) == VAR_DECL || TREE_CODE (value) == PARM_DECL)
+ if (TREE_CODE (value) == VAR_DECL || TREE_CODE (value) == PARM_DECL
+ || TREE_CODE (value) == RESULT_DECL)
{
tree context = decl_function_context (value);
if (context != NULL_TREE && context != current_function_decl