From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83277 invoked by alias); 19 Jul 2019 08:57:57 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 83267 invoked by uid 89); 19 Jul 2019 08:57:57 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=confused X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.110.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 19 Jul 2019 08:57:55 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D7D831515; Fri, 19 Jul 2019 01:57:53 -0700 (PDT) Received: from [10.2.206.47] (e120808-lin.cambridge.arm.com [10.2.206.47]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2EFCB3F71A; Fri, 19 Jul 2019 01:57:53 -0700 (PDT) Subject: Re: [ARM/FDPIC v5 18/21] [ARM][testsuite] FDPIC: Enable tests on pie_enabled targets To: Christophe Lyon , "gcc-patches@gcc.gnu.org" References: <20190515124006.25840-1-christophe.lyon@st.com> <20190515124006.25840-19-christophe.lyon@st.com> Cc: ro@CeBiTec.Uni-Bielefeld.DE, mikestump@comcast.net From: Kyrill Tkachov Message-ID: <9535d640-2bb4-9786-a637-0e29da22b047@foss.arm.com> Date: Fri, 19 Jul 2019 08:59:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <20190515124006.25840-19-christophe.lyon@st.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-SW-Source: 2019-07/txt/msg01287.txt.bz2 On 5/15/19 1:39 PM, Christophe Lyon wrote: > Some tests have the "nonpic" guard, but pass on > arm*-*-uclinuxfdpiceabi because it is in PIE mode by default. Rather > than adding this target to all these tests, add the "pie_enabled" > effective target. > > 2019-XX-XX  Christophe Lyon  > >         gcc/testsuite/ >         * g++.dg/cpp0x/noexcept03.C: Add pie_enabled. >         * g++.dg/ipa/devirt-c-7.C: Likewise. >         * g++.dg/ipa/ivinline-1.C: Likewise. >         * g++.dg/ipa/ivinline-2.C: Likewise. >         * g++.dg/ipa/ivinline-3.C: Likewise. >         * g++.dg/ipa/ivinline-4.C: Likewise. >         * g++.dg/ipa/ivinline-5.C: Likewise. >         * g++.dg/ipa/ivinline-7.C: Likewise. >         * g++.dg/ipa/ivinline-8.C: Likewise. >         * g++.dg/ipa/ivinline-9.C: Likewise. >         * g++.dg/tls/pr79288.C: Likewise. >         * gcc.dg/addr_equal-1.c: Likewise. >         * gcc.dg/const-1.c: Likewise. >         * gcc.dg/ipa/pure-const-1.c: Likewise. >         * gcc.dg/noreturn-8.c: Likewise. >         * gcc.dg/pr33826.c: Likewise. >         * gcc.dg/torture/ipa-pta-1.c: Likewise. >         * gcc.dg/tree-ssa/alias-2.c: Likewise. >         * gcc.dg/tree-ssa/ipa-split-5.c: Likewise. >         * gcc.dg/tree-ssa/loadpre6.c: Likewise. >         * gcc.dg/uninit-19.c: Likewise. > Looks sensible, but this is not an arm-specific patch. CC'ing testsuite maintainers. Thanks, Kyrill > Change-Id: I1a0d836b892c23891f739fccdc467d0f354ab82c > > diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept03.C > b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C > index 2d37867..906a44d 100644 > --- a/gcc/testsuite/g++.dg/cpp0x/noexcept03.C > +++ b/gcc/testsuite/g++.dg/cpp0x/noexcept03.C > @@ -1,6 +1,6 @@ >  // Runtime test for noexcept-specification. >  // { dg-options "-Wnoexcept" } > -// { dg-do run { target nonpic } } > +// { dg-do run { target { nonpic || pie_enabled } } } >  // { dg-require-effective-target c++11 } > >  #include > diff --git a/gcc/testsuite/g++.dg/ipa/devirt-c-7.C > b/gcc/testsuite/g++.dg/ipa/devirt-c-7.C > index 2e76cbe..efb65c2 100644 > --- a/gcc/testsuite/g++.dg/ipa/devirt-c-7.C > +++ b/gcc/testsuite/g++.dg/ipa/devirt-c-7.C > @@ -1,7 +1,6 @@ >  /* Verify that ipa-cp will not get confused by placement new > constructing an >     object within another one when looking for dynamic type change .  */ > -/* { dg-do run } */ > -/* { dg-require-effective-target nonpic } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -Wno-attributes"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-1.C > b/gcc/testsuite/g++.dg/ipa/ivinline-1.C > index 9b10d20..2d988bc 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-1.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-1.C > @@ -1,6 +1,6 @@ >  /* Verify that simple virtual calls are inlined even without early >     inlining.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-2.C > b/gcc/testsuite/g++.dg/ipa/ivinline-2.C > index 21cd46f..d978638 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-2.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-2.C > @@ -1,6 +1,6 @@ >  /* Verify that simple virtual calls using this pointer are inlined >     even without early inlining..  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-3.C > b/gcc/testsuite/g++.dg/ipa/ivinline-3.C > index 1e24644..f756a16 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-3.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-3.C > @@ -1,6 +1,6 @@ >  /* Verify that simple virtual calls on an object refrence are inlined >     even without early inlining.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-4.C > b/gcc/testsuite/g++.dg/ipa/ivinline-4.C > index cf0d980..5fbd3ef 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-4.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-4.C > @@ -1,7 +1,7 @@ >  /* Verify that simple virtual calls are inlined even without early >     inlining, even when a typecast to an ancestor is involved along the >     way.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-5.C > b/gcc/testsuite/g++.dg/ipa/ivinline-5.C > index f15ebf2..6c19907 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-5.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-5.C > @@ -1,6 +1,6 @@ >  /* Verify that virtual call inlining does not pick a wrong method when >     there is a user defined ancestor in an object.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-7.C > b/gcc/testsuite/g++.dg/ipa/ivinline-7.C > index a7b41e7..fd6aba6 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-7.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-7.C > @@ -1,7 +1,7 @@ >  /* Verify that simple virtual calls are inlined even without early >     inlining, even when a typecast to an ancestor is involved along the >     way and that ancestor is not the first one with virtual functions.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-8.C > b/gcc/testsuite/g++.dg/ipa/ivinline-8.C > index 5c3299f..bc81abf 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-8.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-8.C > @@ -1,6 +1,6 @@ >  /* Verify that virtual calls are inlined (ithout early inlining) even >     when their caller is itself indirectly inlined.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/ipa/ivinline-9.C > b/gcc/testsuite/g++.dg/ipa/ivinline-9.C > index 41b2381..0917f15 100644 > --- a/gcc/testsuite/g++.dg/ipa/ivinline-9.C > +++ b/gcc/testsuite/g++.dg/ipa/ivinline-9.C > @@ -2,7 +2,7 @@ >     inlining, even when a typecast to an ancestor is involved along the >     way and that ancestor itself has an ancestor wich is not the >     primary base class.  */ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-ipa-inline -fno-early-inlining > -fno-ipa-cp"  } */ > >  extern "C" void abort (void); > diff --git a/gcc/testsuite/g++.dg/tls/pr79288.C > b/gcc/testsuite/g++.dg/tls/pr79288.C > index 9f488df..da6751f 100644 > --- a/gcc/testsuite/g++.dg/tls/pr79288.C > +++ b/gcc/testsuite/g++.dg/tls/pr79288.C > @@ -1,5 +1,5 @@ >  // PR c++/79288 > -// { dg-do compile { target nonpic } } > +// { dg-do compile { target { nonpic || pie_enabled } } } >  // { dg-require-effective-target tls } >  // { dg-options "-O2" } >  // { dg-final { scan-assembler-not "@tpoff" { target i?86-*-* > x86_64-*-* } } } > diff --git a/gcc/testsuite/gcc.dg/addr_equal-1.c > b/gcc/testsuite/gcc.dg/addr_equal-1.c > index 18b0dc9..35fa010 100644 > --- a/gcc/testsuite/gcc.dg/addr_equal-1.c > +++ b/gcc/testsuite/gcc.dg/addr_equal-1.c > @@ -1,5 +1,4 @@ > -/* { dg-do run } */ > -/* { dg-require-effective-target nonpic } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-require-weak "" } */ >  /* { dg-require-alias "" } */ >  /* { dg-options "-O2 -fdelete-null-pointer-checks" } */ > diff --git a/gcc/testsuite/gcc.dg/const-1.c > b/gcc/testsuite/gcc.dg/const-1.c > index a5b2b16..aa20aad 100644 > --- a/gcc/testsuite/gcc.dg/const-1.c > +++ b/gcc/testsuite/gcc.dg/const-1.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target nonpic } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O2 -Wsuggest-attribute=const" } */ > >  extern int extern_const(int a) __attribute__ ((const)); > diff --git a/gcc/testsuite/gcc.dg/ipa/pure-const-1.c > b/gcc/testsuite/gcc.dg/ipa/pure-const-1.c > index 06b415e..dd58457 100644 > --- a/gcc/testsuite/gcc.dg/ipa/pure-const-1.c > +++ b/gcc/testsuite/gcc.dg/ipa/pure-const-1.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target nonpic } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-tree-local-pure-const1 > -fdump-ipa-pure-const -fdump-tree-optimized -fno-early-inlining > -fgnu89-inline" } */ >  void abort (void); >  int error_code; > diff --git a/gcc/testsuite/gcc.dg/noreturn-8.c > b/gcc/testsuite/gcc.dg/noreturn-8.c > index 294800b..ce41cab 100644 > --- a/gcc/testsuite/gcc.dg/noreturn-8.c > +++ b/gcc/testsuite/gcc.dg/noreturn-8.c > @@ -1,4 +1,4 @@ > -/* { dg-do run { target nonpic } } */ > +/* { dg-do run { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O2" } */ >  void exit (int); >  void noreturn_autodetection_failed (); > diff --git a/gcc/testsuite/gcc.dg/pr33826.c > b/gcc/testsuite/gcc.dg/pr33826.c > index df83915..d222774 100644 > --- a/gcc/testsuite/gcc.dg/pr33826.c > +++ b/gcc/testsuite/gcc.dg/pr33826.c > @@ -1,8 +1,7 @@ >  /* Regression test for PR middle-end/33826 */ >  /* Verify that recursive functions cannot be pure or const.  */ > > -/* { dg-do compile } */ > -/* { dg-require-effective-target nonpic } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O1 -fdump-tree-local-pure-const1 > -fdump-ipa-pure-const" } */ > >  int recurse1 (int); > diff --git a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c > b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c > index 1bf4997..30156a3 100644 > --- a/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c > +++ b/gcc/testsuite/gcc.dg/torture/ipa-pta-1.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target { nonpic } } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-fipa-pta -fdump-ipa-pta2 -fno-ipa-icf" } */ >  /* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */ > > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/alias-2.c > b/gcc/testsuite/gcc.dg/tree-ssa/alias-2.c > index e10a25d..f9d2dd4 100644 > --- a/gcc/testsuite/gcc.dg/tree-ssa/alias-2.c > +++ b/gcc/testsuite/gcc.dg/tree-ssa/alias-2.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target { nonpic } } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O2 -fdump-tree-optimized" } */ >  static int a; >  int f; > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c > b/gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c > index 2d713d6..3b5a94f 100644 > --- a/gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c > +++ b/gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target nonpic } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O3 -fdump-tree-fnsplit -fdump-tree-optimized > --param=builtin-expect-probability=100" } */ > >  struct a {int a,b;}; > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c > b/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c > index 028becd..b4e9296 100644 > --- a/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loadpre6.c > @@ -1,4 +1,4 @@ > -/* { dg-do compile { target nonpic } } */ > +/* { dg-do compile { target { nonpic || pie_enabled } } } */ >  /* { dg-options "-O2 -fdump-tree-pre-stats -fdump-tree-fre1" } */ >  #include > > -- > 2.6.3 >