This patch removes checks of DECL_FROM_INLINE from the respective
-Wshadow code of the C/C++ FE.  I noticed those when looking after
DECL_ABSTRACT_ORIGIN uses.  Those checks may be from times where
we did inlining very early?

Bootstrapped and tested on x86_64-unknown-linux-gnu with no regression.

OK for trunk?

Thanks,
Richard.

2018-10-01  Richard Biener  <rguent...@suse.de>

        c/
        * c-decl.c (warn_if_shadowing): Do not test DECL_FROM_INLINE.

        cp/
        * name-lookup.c (check_local_shadow): Do not test DECL_FROM_INLINE.

Index: gcc/c/c-decl.c
===================================================================
--- gcc/c/c-decl.c      (revision 264757)
+++ gcc/c/c-decl.c      (working copy)
@@ -2784,9 +2784,7 @@ warn_if_shadowing (tree new_decl)
         || warn_shadow_local
         || warn_shadow_compatible_local)
       /* No shadow warnings for internally generated vars.  */
-      || DECL_IS_BUILTIN (new_decl)
-      /* No shadow warnings for vars made for inlining.  */
-      || DECL_FROM_INLINE (new_decl))
+      || DECL_IS_BUILTIN (new_decl))
     return;
 
   /* Is anything being shadowed?  Invisible decls do not count.  */
Index: gcc/cp/name-lookup.c
===================================================================
--- gcc/cp/name-lookup.c        (revision 264757)
+++ gcc/cp/name-lookup.c        (working copy)
@@ -2628,10 +2628,6 @@ check_local_shadow (tree decl)
   if (TREE_CODE (decl) == PARM_DECL && !DECL_CONTEXT (decl))
     return;
 
-  /* Inline decls shadow nothing.  */
-  if (DECL_FROM_INLINE (decl))
-    return;
-
   /* External decls are something else.  */
   if (DECL_EXTERNAL (decl))
     return;

Reply via email to