From patchwork Tue Mar 18 15:03:05 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Jelinek X-Patchwork-Id: 331453 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 782D92C00AE for ; Wed, 19 Mar 2014 02:04:13 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:references:mime-version :content-type:in-reply-to; q=dns; s=default; b=M+YqMP4BD/okPeLka pFZ69LW/M34hd+cVcDUMVZTz60GqPr4Stwo2dNz9ZfYzoQCkUC3axcbkNVcACyl0 MMQIQqqB57GZlOmIY4SsKMFhL55VZCHPPiPeB0syOiHhkEJnQt6lfF6wKr79wZ41 176RDPt09LotzOOheDc2Jt9d7c= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:cc:subject:message-id:reply-to:references:mime-version :content-type:in-reply-to; s=default; bh=acVivr5+EinLLxppJEqCfs3 IxD8=; b=LzMBHzNtxVJjjy0VbUXWqncPqzpSQImw31aHAeWbKW1BEbDfDGeToIn TAS004SPOOtNnaRnt9ILfTmS1Q2IDU/ugK9HV1dsJbJ3gU8j9k0pu1H5u0K3Bv9l Aad4NMhVzB/Y8Yjb7VwgXN/DNVKjAtjUMFiFPX7f0C7XzH2lNPAw= Received: (qmail 13180 invoked by alias); 18 Mar 2014 15:03:26 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 13081 invoked by uid 89); 18 Mar 2014 15:03:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.6 required=5.0 tests=AWL, BAYES_00, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 18 Mar 2014 15:03:23 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2IF3Jqm011822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 18 Mar 2014 11:03:20 -0400 Received: from tucnak.zalov.cz (ovpn-116-35.ams2.redhat.com [10.36.116.35]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s2IF3Hp6016413 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 18 Mar 2014 11:03:18 -0400 Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.14.8/8.14.7) with ESMTP id s2IF3AL1024776; Tue, 18 Mar 2014 16:03:11 +0100 Received: (from jakub@localhost) by tucnak.zalov.cz (8.14.8/8.14.8/Submit) id s2IF35BC024774; Tue, 18 Mar 2014 16:03:05 +0100 Date: Tue, 18 Mar 2014 16:03:05 +0100 From: Jakub Jelinek To: Richard Biener Cc: Jan Hubicka , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Fix -fsanitize=undefined -flto (PR sanitizer/60535) Message-ID: <20140318150305.GV22862@tucnak.redhat.com> Reply-To: Jakub Jelinek References: <20140317185009.GP22862@tucnak.redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes On Tue, Mar 18, 2014 at 10:00:09AM +0100, Richard Biener wrote: > Isn't varpool_finalize_decl the canonical interface anyway? > Thus, you don't need to call rest_of_decl_compilation AFAIK - the > varpool machinery will do that. ... > Should be enough to check if int128_integer_type_node is not NULL. Ok, here is what I've checked in after another bootstrap/regtest: 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. 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. Jakub --- gcc/ubsan.c.jj 2014-03-18 10:04:06.441343729 +0100 +++ gcc/ubsan.c 2014-03-18 10:24:42.824451915 +0100 @@ -390,7 +390,7 @@ ubsan_type_descriptor (tree type, bool w 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, 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; } --- gcc/lto/lto-lang.c.jj 2014-03-17 20:01:33.927565658 +0100 +++ gcc/lto/lto-lang.c 2014-03-18 10:25:14.141276663 +0100 @@ -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. */ --- gcc/testsuite/c-c++-common/ubsan/null-1.c.jj 2013-11-19 21:56:24.566416519 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-1.c 2014-03-17 13:23:46.057000209 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/null-2.c.jj 2013-11-19 21:56:24.566416519 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-2.c 2014-03-17 13:23:46.060000592 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/null-3.c.jj 2013-11-19 21:56:24.567416516 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-3.c 2014-03-17 13:23:46.063000958 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int foo (int *p) --- gcc/testsuite/c-c++-common/ubsan/null-4.c.jj 2013-11-19 21:56:24.567416516 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-4.c 2014-03-17 15:37:15.977422737 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/null-5.c.jj 2013-11-19 21:56:24.568416515 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-5.c 2014-03-17 13:23:46.070001743 +0100 @@ -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; --- gcc/testsuite/c-c++-common/ubsan/null-6.c.jj 2013-11-19 21:56:24.568416515 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-6.c 2014-03-17 13:23:46.073002053 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/null-7.c.jj 2013-11-19 21:56:24.568416515 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-7.c 2014-03-17 13:23:46.076002349 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int * gao (void) --- gcc/testsuite/c-c++-common/ubsan/null-8.c.jj 2013-11-19 21:56:24.569416512 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-8.c 2014-03-17 13:23:46.079002629 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ struct S { int i; --- gcc/testsuite/c-c++-common/ubsan/null-9.c.jj 2013-11-19 21:56:24.569416512 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-9.c 2014-03-17 13:23:46.082002896 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ union U { int i; --- gcc/testsuite/c-c++-common/ubsan/null-10.c.jj 2013-11-19 21:56:24.570416506 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-10.c 2014-03-17 13:23:46.037997317 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/null-11.c.jj 2013-11-19 21:56:24.570416506 +0100 +++ gcc/testsuite/c-c++-common/ubsan/null-11.c 2014-03-17 13:23:46.040997808 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=null -w" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ struct S { int i; --- gcc/testsuite/c-c++-common/ubsan/overflow-1.c.jj 2013-12-16 09:01:19.528694075 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-1.c 2014-03-17 13:23:46.115005224 +0100 @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ #ifndef ASM1 # define ASM1(a) /* Nothing */ --- gcc/testsuite/c-c++-common/ubsan/overflow-2.c.jj 2013-12-16 09:01:19.529694084 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-2.c 2014-03-17 13:23:46.117005412 +0100 @@ -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)) --- gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c.jj 2013-12-05 09:39:37.025471293 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-add-1.c 2014-03-17 13:23:46.129006333 +0100 @@ -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__ --- gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c.jj 2013-12-27 19:24:31.892788744 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-add-2.c 2014-03-17 13:23:46.135006670 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-int128.c.jj 2013-12-17 20:04:24.664056891 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-int128.c 2014-03-17 15:37:24.128376597 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c.jj 2013-12-05 09:39:37.027471281 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-mul-1.c 2014-03-17 13:23:46.140006896 +0100 @@ -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__ --- gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c.jj 2013-12-27 19:24:31.907788669 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-mul-2.c 2014-03-17 13:23:46.143007014 +0100 @@ -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__ --- gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c.jj 2013-12-16 19:45:37.820560165 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-mul-3.c 2014-03-17 13:23:46.180008229 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c.jj 2013-12-27 19:24:31.907788669 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-mul-4.c 2014-03-17 14:16:29.242042830 +0100 @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ + int main () --- gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c.jj 2013-12-27 19:24:31.908788664 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-negate-1.c 2014-03-17 13:23:46.187008132 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c.jj 2014-02-17 10:05:30.397163210 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-negate-2.c 2014-03-17 13:23:46.190008087 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c.jj 2013-12-05 09:39:37.026471287 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-sub-1.c 2014-03-17 13:23:46.193008058 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c.jj 2013-12-27 19:24:31.906788674 +0100 +++ gcc/testsuite/c-c++-common/ubsan/overflow-sub-2.c 2014-03-17 13:23:46.196008044 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/pr59333.c.jj 2013-12-27 19:24:31.924788585 +0100 +++ gcc/testsuite/c-c++-common/ubsan/pr59333.c 2014-03-17 13:23:46.199008026 +0100 @@ -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) --- gcc/testsuite/c-c++-common/ubsan/pr59503.c.jj 2013-12-16 09:01:19.528694075 +0100 +++ gcc/testsuite/c-c++-common/ubsan/pr59503.c 2014-03-17 13:23:46.202008009 +0100 @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=signed-integer-overflow" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/pr59667.c.jj 2014-01-08 17:45:05.985539847 +0100 +++ gcc/testsuite/c-c++-common/ubsan/pr59667.c 2014-03-17 13:23:46.205007992 +0100 @@ -1,7 +1,6 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=undefined" } */ /* { dg-shouldfail "ubsan" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int main (void) --- gcc/testsuite/c-c++-common/ubsan/undefined-1.c.jj 2013-11-27 12:10:46.208899823 +0100 +++ gcc/testsuite/c-c++-common/ubsan/undefined-1.c 2014-03-17 13:23:46.208007974 +0100 @@ -1,6 +1,5 @@ /* { dg-do run } */ /* { dg-options "-fsanitize=undefined" } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */ int foo (int x, int y) --- gcc/testsuite/g++.dg/ubsan/pr59250.C.jj 2013-11-25 18:30:19.000000000 +0100 +++ gcc/testsuite/g++.dg/ubsan/pr59250.C 2014-03-17 13:24:55.456612415 +0100 @@ -1,7 +1,6 @@ // PR sanitizer/59250 // { dg-do compile } // { dg-options "-fsanitize=undefined" } -// { dg-skip-if "" { *-*-* } { "-flto" } { "" } } struct E { int i; --- gcc/testsuite/g++.dg/ubsan/pr59306.C.jj 2013-11-27 18:02:44.000000000 +0100 +++ gcc/testsuite/g++.dg/ubsan/pr59306.C 2014-03-17 13:24:52.950626701 +0100 @@ -1,6 +1,5 @@ // { dg-do compile } // { dg-options "-fsanitize=undefined" } -// { dg-skip-if "" { *-*-* } { "-flto" } { "" } } class A { void bar (void (A::*) (int));