On Thu, Jan 28, 2016 at 09:51:34PM -0500, Jason Merrill wrote:
> On 01/28/2016 03:15 PM, Jakub Jelinek wrote:
> >+    if (TREE_CODE (decl) == FUNCTION_DECL
> >+        && DECL_INITIAL (decl) == 0
> >+        && DECL_EXTERNAL (decl)
> >+        && !TREE_PUBLIC (decl)
> >+        && !DECL_ARTIFICIAL (decl)
> >+        && !TREE_NO_WARNING (decl))
> 
> Do we need to check both DECL_INITIAL and DECL_EXTERNAL?

Dunno, but that is what cgraphunit.c does, c-decl.c too,
what the old toplev.c (check_global_declaration_1) did (back to at least
r26593 from ~ 1999), so I think we want some consistency.
Either it is needed, or if it is not needed, then all the spots should
change, not just this one.
I can try to stick there an assert whether for FUNCTION_DECL
(DECL_INITIAL (decl) == 0) == DECL_EXTERNAL (decl).

        Jakub

Reply via email to