re PR sanitizer/60557 (UBSAN: ICE after ubsan_expand_null_ifn)
authorJakub Jelinek <jakub@redhat.com>
Tue, 18 Mar 2014 15:05:30 +0000 (16:05 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 18 Mar 2014 15:05:30 +0000 (16:05 +0100)
PR sanitizer/60557
* ubsan.c (ubsan_instrument_unreachable): Call
initialize_sanitizer_builtins.
(ubsan_pass): Likewise.

From-SVN: r208652

gcc/ChangeLog
gcc/ubsan.c

index 6c11a5490848f50a95f55e68a4ec6eafdcc89d11..0289142a0bbade11bdfd87770c33c5b2d1cf2205 100644 (file)
@@ -1,5 +1,10 @@
 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
 
+       PR sanitizer/60557
+       * ubsan.c (ubsan_instrument_unreachable): Call
+       initialize_sanitizer_builtins.
+       (ubsan_pass): Likewise.
+
        PR sanitizer/60535
        * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
        varpool_finalize_decl instead of rest_of_decl_compilation.
index 6f110c1ca3d0613efaf78302b7848aa8aecc633e..7c7a893aca6495b8b210b3fb5d6efb6c89bffa5c 100644 (file)
@@ -512,6 +512,7 @@ ubsan_create_data (const char *name, location_t loc,
 tree
 ubsan_instrument_unreachable (location_t loc)
 {
+  initialize_sanitizer_builtins ();
   tree data = ubsan_create_data ("__ubsan_unreachable_data", loc, NULL,
                                 NULL_TREE);
   tree t = builtin_decl_explicit (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE);
@@ -847,6 +848,8 @@ ubsan_pass (void)
   basic_block bb;
   gimple_stmt_iterator gsi;
 
+  initialize_sanitizer_builtins ();
+
   FOR_EACH_BB_FN (bb, cfun)
     {
       for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi);)