aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2014-03-18 15:56:23 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-03-18 15:56:23 +0100
commit415e2e6b2cc65c68c25677ec02657c0efb1ce563 (patch)
treece97a71ab9bc248df137a7ebbb5e97ff1a0c3b3c /gcc
parent4ca40f5284cc4b1347d6d9fe9d86ab41b2432599 (diff)
downloadgcc-415e2e6b2cc65c68c25677ec02657c0efb1ce563.zip
gcc-415e2e6b2cc65c68c25677ec02657c0efb1ce563.tar.gz
gcc-415e2e6b2cc65c68c25677ec02657c0efb1ce563.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/lto/ChangeLog10
-rw-r--r--gcc/lto/lto-lang.c5
-rw-r--r--gcc/testsuite/ChangeLog34
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-10.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-11.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-4.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-5.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-6.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-7.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-8.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/null-9.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-int128.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/pr59333.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/pr59503.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/pr59667.c1
-rw-r--r--gcc/testsuite/c-c++-common/ubsan/undefined-1.c1
-rw-r--r--gcc/testsuite/g++.dg/ubsan/pr59250.C1
-rw-r--r--gcc/testsuite/g++.dg/ubsan/pr59306.C1
-rw-r--r--gcc/ubsan.c4
35 files changed, 56 insertions, 34 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 23c0b19..6c11a54 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <rguenther@suse.de>
* df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 7a2940e..11897cd 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,7 +1,13 @@
+2014-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <paulo@matos-sorge.com>
- * 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 <hubicka@ucw.cz>
diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c
index f92e884..f60d212 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 dedb993..68b0a93 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,37 @@
+2014-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <ro@CeBiTec.Uni-Bielefeld.DE>
* 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 887dfdc..08d547f 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 267ab1f..c3d61a0 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 83e65af..6645f2a 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 c5303ea..cb3907f 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 0beb20cf..f58562c 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 b5f03ed..18506af 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 f6db474..c3c45b7 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 705635c..63fade5 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 1d8216a..bf30a0b 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 2cf3939..170377e 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 7fabbec..ab43d22 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 e8965d2..8165463 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 bd4139f..aeca04d 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 436082d..3f4790b 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 f8af828..85499d8 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 3680bd3..9a85024 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 0f2ea59..bb355a2 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 ddfbb2e7..ece25a3 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 9359641..49332dc 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 b05c1a4..82e1140 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 b73787c..85f81d8 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 9c19d2c..9a711c2 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 3b95527..2dcf16d 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 99f5905..6476b65 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 170da8c..b687757 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 eb921c4..12fb4c2 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 367e303..7fad702 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 1229b71..2458fcb 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 4851306..e438d24 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 426e6a5..621093c 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 1841a94..6f110c1 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;
}