diff options
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/lex.c | 1 | ||||
-rw-r--r-- | gcc/cp/method.c | 3 |
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 |