handle_alias_pairs contains the following thinko.
I believe it should be "not a virtual function".

Bootstrapped/regtested on x86_64-linux, ok for trunk?

2014-08-19  Marek Polacek  <pola...@redhat.com>

        PR c/61271
        * cgraphunit.c (handle_alias_pairs): Fix condition.

diff --git gcc/cgraphunit.c gcc/cgraphunit.c
index d9acc65..2c2006b 100644
--- gcc/cgraphunit.c
+++ gcc/cgraphunit.c
@@ -1171,7 +1171,7 @@ handle_alias_pairs (void)
          /* We use local aliases for C++ thunks to force the tailcall
             to bind locally.  This is a hack - to keep it working do
             the following (which is not strictly correct).  */
-         && (! TREE_CODE (target_node->decl) == FUNCTION_DECL
+         && (TREE_CODE (target_node->decl) != FUNCTION_DECL
              || ! DECL_VIRTUAL_P (target_node->decl))
          && ! lookup_attribute ("weakref", DECL_ATTRIBUTES (p->decl)))
        {

        Marek

Reply via email to