Commit e9e485f4 by Richard Kenner

(integrate_decl_tree): Set DECL_ABTRACT_ORIGIN before pushdecl call

for local variables.

From-SVN: r10102
parent a8259c76
...@@ -1991,14 +1991,23 @@ integrate_decl_tree (let, level, map) ...@@ -1991,14 +1991,23 @@ integrate_decl_tree (let, level, map)
if (DECL_LANG_SPECIFIC (d)) if (DECL_LANG_SPECIFIC (d))
copy_lang_decl (d); copy_lang_decl (d);
/* Must set DECL_ABSTRACT_ORIGIN here for local variables, to ensure
that we don't get -Wshadow warnings. But don't set it here if
pushdecl might return a duplicate decl, as that will result in
incorrect DWARF debug info. */
if (! DECL_EXTERNAL (d) || ! TREE_PUBLIC (d))
/* Prevent warning for shadowing with these. */
DECL_ABSTRACT_ORIGIN (d) = t;
newd = pushdecl (d); newd = pushdecl (d);
/* If the decl we get back is the copy of 't' that we started with, /* If we didn't set DECL_ABSTRACT_ORIGIN above, then set it now.
Simpler to just set it always rather than checking.
If the decl we get back is the copy of 't' that we started with,
then set the DECL_ABSTRACT_ORIGIN. Otherwise, we must have a then set the DECL_ABSTRACT_ORIGIN. Otherwise, we must have a
duplicate decl, and we got the older one back. In that case, setting duplicate decl, and we got the older one back. In that case, setting
DECL_ABSTRACT_ORIGIN is not appropriate. */ DECL_ABSTRACT_ORIGIN is not appropriate. */
if (newd == d) if (newd == d)
/* Prevent warning for shadowing with these. */
DECL_ABSTRACT_ORIGIN (d) = t; DECL_ABSTRACT_ORIGIN (d) = t;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment