diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-02-09 22:43:25 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-02-09 22:43:25 +0000 |
commit | de9554eb8ae74764555178fc8bdf04cad9f3aa82 (patch) | |
tree | dbdec03f770326fec3f6cb1f409d09b2e0054728 /gcc/cp/lex.c | |
parent | 9b7b9c339c3432328310ed68b939612c9874d17e (diff) | |
download | ppe42-gcc-de9554eb8ae74764555178fc8bdf04cad9f3aa82.tar.gz ppe42-gcc-de9554eb8ae74764555178fc8bdf04cad9f3aa82.zip |
81st Cygnus<->FSF merge
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/lex.c')
-rw-r--r-- | gcc/cp/lex.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c index 8fca04ff769..7febe10520d 100644 --- a/gcc/cp/lex.c +++ b/gcc/cp/lex.c @@ -2283,8 +2283,7 @@ check_newline () tricks. */ else { - ungetc (c, finput); - HANDLE_PRAGMA (finput); + c = HANDLE_PRAGMA (finput, c); } #endif #endif @@ -2940,6 +2939,11 @@ do_identifier (token) if (TREE_CODE (id) == VAR_DECL && DECL_DEAD_FOR_LOCAL (id)) { tree shadowed = DECL_SHADOWED_FOR_VAR (id); + while (shadowed != NULL_TREE && TREE_CODE (shadowed) == VAR_DECL + && DECL_DEAD_FOR_LOCAL (shadowed)) + shadowed = DECL_SHADOWED_FOR_VAR (shadowed); + if (!shadowed) + shadowed = IDENTIFIER_GLOBAL_VALUE (DECL_NAME (id)); if (shadowed) { if (!DECL_ERROR_REPORTED (id)) |