From: Jakub Jelinek Date: Tue, 18 Mar 2014 14:56:23 +0000 (+0100) Subject: re PR sanitizer/60535 (Link failure with -flto and -fsanitize=undefined) X-Git-Tag: releases/gcc-4.9.0~407 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=415e2e6b2cc65c68c25677ec02657c0efb1ce563;p=thirdparty%2Fgcc.git re PR sanitizer/60535 (Link failure with -flto and -fsanitize=undefined) PR sanitizer/60535 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call varpool_finalize_decl instead of rest_of_decl_compilation. lto/ * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node and complex_{float,{,long_}double}_type_node. testsuite/ * c-c++-common/ubsan/null-1.c: Don't skip if -flto. * c-c++-common/ubsan/null-2.c: Likewise. * c-c++-common/ubsan/null-3.c: Likewise. * c-c++-common/ubsan/null-4.c: Likewise. * c-c++-common/ubsan/null-5.c: Likewise. * c-c++-common/ubsan/null-6.c: Likewise. * c-c++-common/ubsan/null-7.c: Likewise. * c-c++-common/ubsan/null-8.c: Likewise. * c-c++-common/ubsan/null-9.c: Likewise. * c-c++-common/ubsan/null-10.c: Likewise. * c-c++-common/ubsan/null-11.c: Likewise. * c-c++-common/ubsan/overflow-1.c: Likewise. * c-c++-common/ubsan/overflow-2.c: Likewise. * c-c++-common/ubsan/overflow-add-1.c: Likewise. * c-c++-common/ubsan/overflow-add-2.c: Likewise. * c-c++-common/ubsan/overflow-int128.c: Likewise. * c-c++-common/ubsan/overflow-mul-1.c: Likewise. * c-c++-common/ubsan/overflow-mul-2.c: Likewise. * c-c++-common/ubsan/overflow-mul-3.c: Likewise. * c-c++-common/ubsan/overflow-mul-4.c: Likewise. * c-c++-common/ubsan/overflow-negate-1.c: Likewise. * c-c++-common/ubsan/overflow-negate-2.c: Likewise. * c-c++-common/ubsan/overflow-sub-1.c: Likewise. * c-c++-common/ubsan/overflow-sub-2.c: Likewise. * c-c++-common/ubsan/pr59333.c: Likewise. * c-c++-common/ubsan/pr59503.c: Likewise. * c-c++-common/ubsan/pr59667.c: Likewise. * c-c++-common/ubsan/undefined-1.c: Likewise. * g++.dg/ubsan/pr59250.C: Likewise. * g++.dg/ubsan/pr59306.C: Likewise. From-SVN: r208651 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23c0b194a2e1..6c11a5490848 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-03-18 Jakub Jelinek + + PR sanitizer/60535 + * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call + varpool_finalize_decl instead of rest_of_decl_compilation. + 2014-03-18 Richard Biener * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 7a2940e16e30..11897cd99db0 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,7 +1,13 @@ +2014-03-18 Jakub Jelinek + + PR sanitizer/60535 + * lto-lang.c (lto_init): Add NAME_TYPE for int128_integer_type_node + and complex_{float,{,long_}double}_type_node. + 2014-03-08 Paulo Matos - * lto-lang.c (lto_init): Pass flag_short_double to - build_common_tree_nodes. + * lto-lang.c (lto_init): Pass flag_short_double to + build_common_tree_nodes. 2014-02-14 Jan Hubicka diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c index f92e884e9e74..f60d2127b36f 100644 --- a/gcc/lto/lto-lang.c +++ b/gcc/lto/lto-lang.c @@ -1222,6 +1222,11 @@ lto_init (void) NAME_TYPE (long_double_type_node, "long double"); NAME_TYPE (void_type_node, "void"); NAME_TYPE (boolean_type_node, "bool"); + NAME_TYPE (complex_float_type_node, "complex float"); + NAME_TYPE (complex_double_type_node, "complex double"); + NAME_TYPE (complex_long_double_type_node, "complex long double"); + if (int128_integer_type_node) + NAME_TYPE (int128_integer_type_node, "__int128"); #undef NAME_TYPE /* Initialize LTO-specific data structures. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dedb993c108e..68b0a93a1f08 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,37 @@ +2014-03-18 Jakub Jelinek + + PR sanitizer/60535 + * c-c++-common/ubsan/null-1.c: Don't skip if -flto. + * c-c++-common/ubsan/null-2.c: Likewise. + * c-c++-common/ubsan/null-3.c: Likewise. + * c-c++-common/ubsan/null-4.c: Likewise. + * c-c++-common/ubsan/null-5.c: Likewise. + * c-c++-common/ubsan/null-6.c: Likewise. + * c-c++-common/ubsan/null-7.c: Likewise. + * c-c++-common/ubsan/null-8.c: Likewise. + * c-c++-common/ubsan/null-9.c: Likewise. + * c-c++-common/ubsan/null-10.c: Likewise. + * c-c++-common/ubsan/null-11.c: Likewise. + * c-c++-common/ubsan/overflow-1.c: Likewise. + * c-c++-common/ubsan/overflow-2.c: Likewise. + * c-c++-common/ubsan/overflow-add-1.c: Likewise. + * c-c++-common/ubsan/overflow-add-2.c: Likewise. + * c-c++-common/ubsan/overflow-int128.c: Likewise. + * c-c++-common/ubsan/overflow-mul-1.c: Likewise. + * c-c++-common/ubsan/overflow-mul-2.c: Likewise. + * c-c++-common/ubsan/overflow-mul-3.c: Likewise. + * c-c++-common/ubsan/overflow-mul-4.c: Likewise. + * c-c++-common/ubsan/overflow-negate-1.c: Likewise. + * c-c++-common/ubsan/overflow-negate-2.c: Likewise. + * c-c++-common/ubsan/overflow-sub-1.c: Likewise. + * c-c++-common/ubsan/overflow-sub-2.c: Likewise. + * c-c++-common/ubsan/pr59333.c: Likewise. + * c-c++-common/ubsan/pr59503.c: Likewise. + * c-c++-common/ubsan/pr59667.c: Likewise. + * c-c++-common/ubsan/undefined-1.c: Likewise. + * g++.dg/ubsan/pr59250.C: Likewise. + * g++.dg/ubsan/pr59306.C: Likewise. + 2014-03-18 Rainer Orth * gcc.dg/tls/pr58595.c: Add tls options. diff --git a/gcc/testsuite/c-c++-common/ubsan/null-1.c b/gcc/testsuite/c-c++-common/ubsan/null-1.c index 887dfdcdb9ff..08d547f3aaeb 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-1.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-10.c b/gcc/testsuite/c-c++-common/ubsan/null-10.c index 267ab1f321c7..c3d61a01d5bf 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-10.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-10.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-11.c b/gcc/testsuite/c-c++-common/ubsan/null-11.c index 83e65af7e86d..6645f2acfcb3 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-11.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-11.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ struct S { int i; diff --git a/gcc/testsuite/c-c++-common/ubsan/null-2.c b/gcc/testsuite/c-c++-common/ubsan/null-2.c index c5303ea97a7a..cb3907fa5cc3 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-2.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-3.c b/gcc/testsuite/c-c++-common/ubsan/null-3.c index 0beb20cfbd00..f58562c63b8c 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-3.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-3.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int foo (int *p) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-4.c b/gcc/testsuite/c-c++-common/ubsan/null-4.c index b5f03ed0b60b..18506afb3c37 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-4.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-4.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-5.c b/gcc/testsuite/c-c++-common/ubsan/null-5.c index f6db4744446e..c3c45b7c47e6 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-5.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-5.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ typedef volatile const _Complex float *T; diff --git a/gcc/testsuite/c-c++-common/ubsan/null-6.c b/gcc/testsuite/c-c++-common/ubsan/null-6.c index 705635c0d84f..63fade5a6e19 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-6.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-6.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-7.c b/gcc/testsuite/c-c++-common/ubsan/null-7.c index 1d8216a3d2fa..bf30a0b9b399 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-7.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-7.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int * gao (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/null-8.c b/gcc/testsuite/c-c++-common/ubsan/null-8.c index 2cf3939ca5e4..170377ee4d4f 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-8.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-8.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ struct S { int i; diff --git a/gcc/testsuite/c-c++-common/ubsan/null-9.c b/gcc/testsuite/c-c++-common/ubsan/null-9.c index 7fabbeca4c7f..ab43d22a325a 100644 --- a/gcc/testsuite/c-c++-common/ubsan/null-9.c +++ b/gcc/testsuite/c-c++-common/ubsan/null-9.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ union U { int i; diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-1.c b/gcc/testsuite/c-c++-common/ubsan/overflow-1.c index e8965d2f0257..8165463c1f3f 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #ifndef ASM1 # define ASM1(a) /* Nothing */ diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-2.c b/gcc/testsuite/c-c++-common/ubsan/overflow-2.c index bd4139f8dff4..aeca04d341d9 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-2.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define ASM1(a) asm volatile ("" : "+g" (a)) #define ASM2(a, b) asm volatile ("" : "+g" (a), "+g" (b)) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c b/gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c index 436082d21d95..3f4790b6c341 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define SCHAR_MAX __SCHAR_MAX__ #define SHRT_MAX __SHRT_MAX__ diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c b/gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c index f8af8281f1c0..85499d86c26e 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define INT_MAX __INT_MAX__ #define INT_MIN (-__INT_MAX__ - 1) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-int128.c b/gcc/testsuite/c-c++-common/ubsan/overflow-int128.c index 3680bd3e7261..9a850243d3b8 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-int128.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-int128.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-require-effective-target int128 } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ /* 2^127 - 1 */ #define INT128_MAX (__int128) (((unsigned __int128) 1 << ((__SIZEOF_INT128__ * __CHAR_BIT__) - 1)) - 1) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c index 0f2ea59df491..bb355a211114 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define SCHAR_MAX __SCHAR_MAX__ #define SHRT_MAX __SHRT_MAX__ diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c index ddfbb2e7ae06..ece25a354b8a 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define INT_MAX __INT_MAX__ #define LONG_MAX __LONG_MAX__ diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c index 93596417d4ba..49332dc0e362 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ __attribute__((noinline, noclone)) long long mul (long long x, long long y) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c index b05c1a43fb76..82e114001b41 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ + int main () diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c b/gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c index b73787c1d194..85f81d8b547d 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define INT_MIN (-__INT_MAX__ - 1) #define LONG_MIN (-__LONG_MAX__ - 1L) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c b/gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c index 9c19d2c815c0..9a711c259765 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define SCHAR_MIN (-__SCHAR_MAX__ - 1) #define SHRT_MIN (-__SHRT_MAX__ - 1) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c b/gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c index 3b955279ba79..2dcf16d12309 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define SCHAR_MAX __SCHAR_MAX__ #define SCHAR_MIN (-__SCHAR_MAX__ - 1) diff --git a/gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c b/gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c index 99f59054e163..6476b65d2a01 100644 --- a/gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c +++ b/gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #define INT_MAX __INT_MAX__ #define INT_MIN (-__INT_MAX__ - 1) diff --git a/gcc/testsuite/c-c++-common/ubsan/pr59333.c b/gcc/testsuite/c-c++-common/ubsan/pr59333.c index 170da8c859b8..b68775702be1 100644 --- a/gcc/testsuite/c-c++-common/ubsan/pr59333.c +++ b/gcc/testsuite/c-c++-common/ubsan/pr59333.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=undefined" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ long long int __attribute__ ((noinline, noclone)) foo (long long int i, long long int j) diff --git a/gcc/testsuite/c-c++-common/ubsan/pr59503.c b/gcc/testsuite/c-c++-common/ubsan/pr59503.c index eb921c4ff188..12fb4c240d7f 100644 --- a/gcc/testsuite/c-c++-common/ubsan/pr59503.c +++ b/gcc/testsuite/c-c++-common/ubsan/pr59503.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/pr59667.c b/gcc/testsuite/c-c++-common/ubsan/pr59667.c index 367e3034629d..7fad70299079 100644 --- a/gcc/testsuite/c-c++-common/ubsan/pr59667.c +++ b/gcc/testsuite/c-c++-common/ubsan/pr59667.c @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=undefined" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) diff --git a/gcc/testsuite/c-c++-common/ubsan/undefined-1.c b/gcc/testsuite/c-c++-common/ubsan/undefined-1.c index 1229b711fe92..2458fcbd95d4 100644 --- a/gcc/testsuite/c-c++-common/ubsan/undefined-1.c +++ b/gcc/testsuite/c-c++-common/ubsan/undefined-1.c @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=undefined" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int foo (int x, int y) diff --git a/gcc/testsuite/g++.dg/ubsan/pr59250.C b/gcc/testsuite/g++.dg/ubsan/pr59250.C index 485130688266..e438d24fda98 100644 --- a/gcc/testsuite/g++.dg/ubsan/pr59250.C +++ b/gcc/testsuite/g++.dg/ubsan/pr59250.C @@ -1,7 +1,6 @@ // PR sanitizer/59250 // { dg-do compile } // { dg-options "-fsanitize=undefined" } -// { dg-skip-if "" { *-*-* } { "-flto" } { "" } } struct E { int i; diff --git a/gcc/testsuite/g++.dg/ubsan/pr59306.C b/gcc/testsuite/g++.dg/ubsan/pr59306.C index 426e6a5bd5f6..621093c6b732 100644 --- a/gcc/testsuite/g++.dg/ubsan/pr59306.C +++ b/gcc/testsuite/g++.dg/ubsan/pr59306.C @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-fsanitize=undefined" } -// { dg-skip-if "" { *-*-* } { "-flto" } { "" } } class A { void bar (void (A::*) (int)); diff --git a/gcc/ubsan.c b/gcc/ubsan.c index 1841a947b9c6..6f110c1ca3d0 100644 --- a/gcc/ubsan.c +++ b/gcc/ubsan.c @@ -390,7 +390,7 @@ ubsan_type_descriptor (tree type, bool want_pointer_type_p) TREE_CONSTANT (ctor) = 1; TREE_STATIC (ctor) = 1; DECL_INITIAL (decl) = ctor; - rest_of_decl_compilation (decl, 1, 0); + varpool_finalize_decl (decl); /* Save the VAR_DECL into the hash table. */ decl_for_type_insert (type, decl); @@ -501,7 +501,7 @@ ubsan_create_data (const char *name, location_t loc, TREE_CONSTANT (ctor) = 1; TREE_STATIC (ctor) = 1; DECL_INITIAL (var) = ctor; - rest_of_decl_compilation (var, 1, 0); + varpool_finalize_decl (var); return var; }