re PR c++/66487 (sanitizer/warnings for lifetime DSE)
authorJan Hubicka <hubicka@ucw.cz>
Wed, 13 Jan 2016 23:47:45 +0000 (00:47 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 13 Jan 2016 23:47:45 +0000 (23:47 +0000)
PR ipa/66487
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
use block_ultimate_origin
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.

From-SVN: r232356

gcc/ChangeLog
gcc/ipa-polymorphic-call.c

index 555a442..dc13621 100644 (file)
@@ -1,3 +1,10 @@
+2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/66487
+       * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
+       use block_ultimate_origin
+       (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
+       
 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
 
        * doc/invoke.texi (Submodel Options): Rename section to
index 336d2a2..91c41f9 100644 (file)
@@ -484,7 +484,7 @@ contains_type_p (tree outer_type, HOST_WIDE_INT offset,
 tree
 inlined_polymorphic_ctor_dtor_block_p (tree block, bool check_clones)
 {
-  tree fn = BLOCK_ABSTRACT_ORIGIN (block);
+  tree fn = block_ultimate_origin (block);
   if (fn == NULL || TREE_CODE (fn) != FUNCTION_DECL)
     return NULL_TREE;
 
@@ -1143,7 +1143,7 @@ noncall_stmt_may_be_vtbl_ptr_store (gimple *stmt)
   for (tree block = gimple_block (stmt); block && TREE_CODE (block) == BLOCK;
        block = BLOCK_SUPERCONTEXT (block))
     if (BLOCK_ABSTRACT_ORIGIN (block)
-       && TREE_CODE (BLOCK_ABSTRACT_ORIGIN (block)) == FUNCTION_DECL)
+       && TREE_CODE (block_ultimate_origin (block)) == FUNCTION_DECL)
       return inlined_polymorphic_ctor_dtor_block_p (block, false);
   return (TREE_CODE (TREE_TYPE (current_function_decl)) == METHOD_TYPE
          && (DECL_CXX_CONSTRUCTOR_P (current_function_decl)