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-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=415e2e6b2cc65c68c25677ec02657c0efb1ce563;p=gcc.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 23c0b194a2e..6c11a549084 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 7a2940e16e3..11897cd99db 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 f92e884e9e7..f60d2127b36 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 dedb993c108..68b0a93a1f0 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 887dfdcdb9f..08d547f3aae 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 267ab1f321c..c3d61a01d5b 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 83e65af7e86..6645f2acfcb 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 c5303ea97a7..cb3907fa5cc 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 0beb20cfbd0..f58562c63b8 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 b5f03ed0b60..18506afb3c3 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 f6db4744446..c3c45b7c47e 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 705635c0d84..63fade5a6e1 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 1d8216a3d2f..bf30a0b9b39 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 2cf3939ca5e..170377ee4d4 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 7fabbeca4c7..ab43d22a325 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 e8965d2f025..8165463c1f3 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 bd4139f8dff..aeca04d341d 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 436082d21d9..3f4790b6c34 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 f8af8281f1c..85499d86c26 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 3680bd3e726..9a850243d3b 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 0f2ea59df49..bb355a21111 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 ddfbb2e7ae0..ece25a354b8 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 93596417d4b..49332dc0e36 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 b05c1a43fb7..82e114001b4 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 b73787c1d19..85f81d8b547 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 9c19d2c815c..9a711c25976 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 3b955279ba7..2dcf16d1230 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 99f59054e16..6476b65d2a0 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 170da8c859b..b68775702be 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 eb921c4ff18..12fb4c240d7 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 367e3034629..7fad7029907 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 1229b711fe9..2458fcbd95d 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 48513068826..e438d24fda9 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 426e6a5bd5f..621093c6b73 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 1841a947b9c..6f110c1ca3d 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; }