Remove an assert that was overly-strict and already partially redundant
with an immediately prior assert. In this case we had a hidden visibility
function clone that was created after the LIPO link due to indirect call
promotion. It is a cgraph_is_aux_decl_external node.

Fixes failures and passes regression tests. Ok for Google branch?

2015-12-02  Teresa Johnson  <tejohn...@google.com>

Google ref b/25925223.
* l-ipo.c (cgraph_lipo_get_resolved_node_1): Remove overly-strict
assert.

Index: l-ipo.c
===================================================================
--- l-ipo.c (revision 231131)
+++ l-ipo.c (working copy)
@@ -1457,9 +1457,6 @@ cgraph_lipo_get_resolved_node_1 (tree decl, bool d
               gcc_assert (DECL_EXTERNAL (decl)
                           || cgraph_is_aux_decl_external (n)
                           || DECL_VIRTUAL_P (decl));
-              gcc_assert (/* This is the case for explicit extern
instantiation,
-                             when cgraph node is not created before link.  */
-                          DECL_EXTERNAL (decl));
               cgraph_link_node (n);
               return n;
             }


-- 
Teresa Johnson | Software Engineer | tejohn...@google.com | 408-460-2413

Reply via email to