Remove NO_TRAMPOLINES
authorTom de Vries <tom@codesourcery.com>
Thu, 8 Jun 2017 17:16:10 +0000 (17:16 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Thu, 8 Jun 2017 17:16:10 +0000 (17:16 +0000)
2017-06-08  Tom de Vries  <tom@codesourcery.com>

* gcc.c-torture/compile/930506-2.c: Use dg-require-effective-target
trampolines instead of NO_TRAMPOLINES.
* gcc.c-torture/execute/20000822-1.c: Same.
* gcc.c-torture/execute/920428-2.c: Same.
* gcc.c-torture/execute/920501-7.c: Same.
* gcc.c-torture/execute/920612-2.c: Same.
* gcc.c-torture/execute/921017-1.c: Same.
* gcc.c-torture/execute/921215-1.c: Same.
* gcc.c-torture/execute/931002-1.c: Same.
* gcc.c-torture/execute/comp-goto-2.c: Same.
* gcc.c-torture/execute/nestfunc-1.c: Same.
* gcc.c-torture/execute/nestfunc-2.c: Same.
* gcc.c-torture/execute/nestfunc-3.c: Same.
* gcc.c-torture/execute/nestfunc-5.c: Same.
* gcc.c-torture/execute/nestfunc-6.c: Same.
* gcc.c-torture/execute/pr24135.c: Same.
* gcc.dg/Wtrampolines.c: Same.
* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
* gcc.dg/torture/stackalign/nested-5.c: Same.
* gcc.dg/torture/stackalign/nested-6.c: Same.
* gcc.dg/torture/stackalign/non-local-goto-3.c: Same.
* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Same.
* gcc.dg/trampoline-1.c: Same.
* gcc.dg/tree-prof/pr44777.c: Same.
* gcc.target/i386/pr67770.c: Same.
* lib/gcc.exp (gcc_target_compile): Remove appending of
-DNO_TRAMPOLINES to additional_flags.
* lib/objc.exp (objc_target_compile): Same.

From-SVN: r249027

28 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/930506-2.c
gcc/testsuite/gcc.c-torture/execute/20000822-1.c
gcc/testsuite/gcc.c-torture/execute/920428-2.c
gcc/testsuite/gcc.c-torture/execute/920501-7.c
gcc/testsuite/gcc.c-torture/execute/920612-2.c
gcc/testsuite/gcc.c-torture/execute/921017-1.c
gcc/testsuite/gcc.c-torture/execute/921215-1.c
gcc/testsuite/gcc.c-torture/execute/931002-1.c
gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c
gcc/testsuite/gcc.c-torture/execute/nestfunc-1.c
gcc/testsuite/gcc.c-torture/execute/nestfunc-2.c
gcc/testsuite/gcc.c-torture/execute/nestfunc-3.c
gcc/testsuite/gcc.c-torture/execute/nestfunc-5.c
gcc/testsuite/gcc.c-torture/execute/nestfunc-6.c
gcc/testsuite/gcc.c-torture/execute/pr24135.c
gcc/testsuite/gcc.dg/Wtrampolines.c
gcc/testsuite/gcc.dg/torture/stackalign/comp-goto-1.c
gcc/testsuite/gcc.dg/torture/stackalign/nested-5.c
gcc/testsuite/gcc.dg/torture/stackalign/nested-6.c
gcc/testsuite/gcc.dg/torture/stackalign/non-local-goto-3.c
gcc/testsuite/gcc.dg/torture/stackalign/non-local-goto-4.c
gcc/testsuite/gcc.dg/torture/stackalign/non-local-goto-5.c
gcc/testsuite/gcc.dg/trampoline-1.c
gcc/testsuite/gcc.dg/tree-prof/pr44777.c
gcc/testsuite/gcc.target/i386/pr67770.c
gcc/testsuite/lib/gcc.exp
gcc/testsuite/lib/objc.exp

index 7a91ef4427eebc8aa973ae53d38f6b2bee56ae70..1a3a4bbddbbbb98f0f9ee9b36248b7fc9f3f4163 100644 (file)
@@ -1,3 +1,35 @@
+2017-06-08  Tom de Vries  <tom@codesourcery.com>
+
+       * gcc.c-torture/compile/930506-2.c: Use dg-require-effective-target
+       trampolines instead of NO_TRAMPOLINES.
+       * gcc.c-torture/execute/20000822-1.c: Same.
+       * gcc.c-torture/execute/920428-2.c: Same.
+       * gcc.c-torture/execute/920501-7.c: Same.
+       * gcc.c-torture/execute/920612-2.c: Same.
+       * gcc.c-torture/execute/921017-1.c: Same.
+       * gcc.c-torture/execute/921215-1.c: Same.
+       * gcc.c-torture/execute/931002-1.c: Same.
+       * gcc.c-torture/execute/comp-goto-2.c: Same.
+       * gcc.c-torture/execute/nestfunc-1.c: Same.
+       * gcc.c-torture/execute/nestfunc-2.c: Same.
+       * gcc.c-torture/execute/nestfunc-3.c: Same.
+       * gcc.c-torture/execute/nestfunc-5.c: Same.
+       * gcc.c-torture/execute/nestfunc-6.c: Same.
+       * gcc.c-torture/execute/pr24135.c: Same.
+       * gcc.dg/Wtrampolines.c: Same.
+       * gcc.dg/torture/stackalign/comp-goto-1.c: Same.
+       * gcc.dg/torture/stackalign/nested-5.c: Same.
+       * gcc.dg/torture/stackalign/nested-6.c: Same.
+       * gcc.dg/torture/stackalign/non-local-goto-3.c: Same.
+       * gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
+       * gcc.dg/torture/stackalign/non-local-goto-5.c: Same.
+       * gcc.dg/trampoline-1.c: Same.
+       * gcc.dg/tree-prof/pr44777.c: Same.
+       * gcc.target/i386/pr67770.c: Same.
+       * lib/gcc.exp (gcc_target_compile): Remove appending of
+       -DNO_TRAMPOLINES to additional_flags.
+       * lib/objc.exp (objc_target_compile): Same.
+
 2017-06-08  Tom de Vries  <tom@codesourcery.com>
 
        * lib/target-supports.exp (check_effective_target_trampolines): Test for
index e11e62f026fef69494a7cc6d39260676733b295b..bc982acffba9d89e29c71a8fc1ff9a76220fd8a0 100644 (file)
@@ -1,4 +1,5 @@
-#ifndef NO_TRAMPOLINES
+/* { dg-require-effective-target trampolines } */
+
 int f1()
 {
   { int ___() { foo(1); } bar(___); }
@@ -10,6 +11,3 @@ int f2(int j)
   { int ___() { foo(j); } bar(___); }
   return( { int ___() { foo(j); } bar(___);} );
 }
-#else
-int x;
-#endif
index f4a084b33edf467b0ee3d482f9700f8f9e78c886..e99bcc2fea3ef1c35f728bd6c9d469ecfdd05f30 100644 (file)
@@ -1,4 +1,5 @@
-#ifndef NO_TRAMPOLINES
+/* { dg-require-effective-target trampolines } */
+
 int f0(int (*fn)(int *), int *p)
 {
   return (*fn) (p);
@@ -16,13 +17,11 @@ int f1(void)
 
   return f0(f2, &i);
 }
-#endif
 
 int main()
 {
-#ifndef NO_TRAMPOLINES
   if (f1() != 2)
     abort ();
-#endif
+
   return 0;
 }
index 99a39257496903386a0a18e2c0d165bb5631a9b4..c6a5bda05bcb7d22fc7134e4f54e921a71d6ef69 100644 (file)
@@ -1,9 +1,6 @@
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
-#if !defined (NO_TRAMPOLINES)
 s(i){if(i>0){__label__ l1;int f(int i){if(i==2)goto l1;return 0;}return f(i);l1:;}return 1;}
 x(){return s(0)==1&&s(1)==0&&s(2)==1;}
 main(){if(x()!=1)abort();exit(0);}
-#else
-main(){ exit (0); }
-#endif
index ea8f93191e10494b7a7e330ae3849b691568f0a4..d05ac61d48c604020a38561f9f83431454984315 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
 #ifdef STACK_SIZE
 #define DEPTH ((STACK_SIZE) / 512 + 1)
@@ -6,7 +7,6 @@
 #define DEPTH 1000
 #endif
 
-#if !defined (NO_TRAMPOLINES)
 x(a)
 {
   __label__ xlab;
@@ -20,13 +20,11 @@ x(a)
  xlab:;
   return a;
 }
-#endif
 
 main ()
 {
-#if !defined (NO_TRAMPOLINES)
   if (x (DEPTH) != DEPTH)
     abort ();
-#endif
+
   exit (0);
 }
index 9bbdce2e0ade30d483583897be21c59506b30553..23796fcdaa91e7a098df10cfdecceb372a5307ef 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target trampolines } */
+
 main ()
 {
   int i = 0;
@@ -7,9 +9,9 @@ main ()
        i++, x--;
       return x;
     }
-#ifndef NO_TRAMPOLINES
+
   if (a (2) != 0)
     abort ();
-#endif
+
   exit (0);
 }
index c7fab5840b331344f9fc66bb0d5c422b02d16fae..a2784f68487cedf827ba03b0aeecebb0e0d3ede3 100644 (file)
@@ -1,4 +1,6 @@
 /* { dg-skip-if "requires alloca" { ! alloca } { "-O0" } { "" } } */
+/* { dg-require-effective-target trampolines } */
+
 f(n)
 {
   int a[n];
@@ -11,8 +13,7 @@ f(n)
 }
 main()
 {
-#ifndef NO_TRAMPOLINES
   if(f(2)!=4711)abort();
-#endif
+
   exit(0);
 }
index 4fa3b7dfcccb633b4575e678659a8d4ae359ff94..28dccd662f25aa383b01529f561cb75235d10168 100644 (file)
@@ -1,6 +1,7 @@
+/* { dg-require-effective-target trampolines } */
+
 main()
 {
-#ifndef NO_TRAMPOLINES
   void p(void ((*f) (void ())))
     {
       void r()
@@ -17,7 +18,7 @@ main()
     }
 
   p(q);
-#endif
+
   exit(0);
 }
 
index 6a02b2343946bf0ff4cec514032ac2f6b4009320..fc5222374d926255a5f2c34e7ba9e67162812f78 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target trampolines } */
+
 f (void (*func) ())
 {
   func ();
@@ -5,7 +7,6 @@ f (void (*func) ())
 
 main ()
 {
-#ifndef NO_TRAMPOLINES
   void t0 ()
     {
     }
@@ -23,6 +24,6 @@ main ()
   t1 ();
   t1 ();
   t2 ();
-#endif
+
   exit (0);
 }
index 1b594db2758c73fc7e9ec916b154d48fe7dbafe1..eaf83d870a178c4152b53f6894542a18bfeaa778 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
 /* A slight variation of 920501-7.c.  */
 
@@ -8,7 +9,6 @@
 #define DEPTH 1000
 #endif
 
-#if !defined (NO_TRAMPOLINES)
 x(a)
 {
   __label__ xlab;
@@ -26,13 +26,12 @@ x(a)
  xlab:;
   return a;
 }
-#endif
 
 main ()
 {
-#if !defined (NO_TRAMPOLINES)
+
   if (x (DEPTH) != DEPTH)
     abort ();
-#endif
+
   exit (0);
 }
index e34a56b3f578e52e0cba151c7cd4e988c28fb2c4..29ccfc399bd725e368abedbb22d1978e7fc65779 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target trampolines } */
+
 int
 g (int a, int b, int (*gi) (int, int))
 {
@@ -9,7 +11,6 @@ g (int a, int b, int (*gi) (int, int))
 
 f ()
 {
-#ifndef NO_TRAMPOLINES
   int i, j;
   int f2 (int a, int b)
     {
@@ -18,7 +19,6 @@ f ()
 
   if (g (1, 2, f2) != 2)
     abort ();
-#endif
 }
 
 main ()
index 030875560dc51b0b6e47ff01afaf166aaf445c70..1a25a17449ee4f9b0b962fe95adec32525cb9f66 100644 (file)
@@ -1,3 +1,5 @@
+/* { dg-require-effective-target trampolines } */
+
 extern int foo (int, int, int (*) (int, int, int, int, int, int, int));
 
 int z;
@@ -5,7 +7,6 @@ int z;
 int
 main (void)
 {
-#ifndef NO_TRAMPOLINES
   int sum = 0;
   int i;
 
@@ -37,8 +38,7 @@ main (void)
 
   if (z != 0x1b)
     abort ();
-#endif
-  
+
   exit (0);
 }
 
index 9d09b196d23bea0655c4d651576ac3402545a62d..2bdfece9c5be5c36f7cb41d4232466fc3e34f392 100644 (file)
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target trampolines } */
 
 extern long foo (long, long, long (*) (long, long));
 extern long use (long (*) (long, long), long, long);
@@ -5,7 +6,6 @@ extern long use (long (*) (long, long), long, long);
 int
 main (void)
 {
-#ifndef NO_TRAMPOLINES
   long sum = 0;
   long i;
 
@@ -42,7 +42,6 @@ main (void)
 
   if ((sum & 0xffffffff) != 0xbecfcbf5)
     abort ();
-#endif
 
   exit (0);
 }
index 88e74cc904cde80fa1f9795cdc3814f50f258488..fc9ad955a9f2089e807e7bef24e3e523450cee4e 100644 (file)
@@ -1,7 +1,8 @@
+/* { dg-require-effective-target trampolines } */
+
 extern void abort (void);
 extern void exit (int);
 
-#ifndef NO_TRAMPOLINES
 static void recursive (int n, void (*proc) (void))
 {
   __label__ l1;
@@ -31,6 +32,3 @@ int main ()
   recursive (10, abort);
   abort ();
 }
-#else
-int main () { return 0; }
-#endif
index c8e82435ab1705fec016c441e6acff8f0f154a82..fad729aaba3b6e02a9a9edfad1338ab6c2fb1cf2 100644 (file)
@@ -1,8 +1,8 @@
+/* { dg-require-effective-target trampolines } */
+
 /* Test that the GP gets properly restored, either by the nonlocal
    receiver or the nested function.  */
 
-#ifndef NO_TRAMPOLINES
-
 typedef __SIZE_TYPE__ size_t;
 extern void abort (void);
 extern void exit (int);
@@ -23,7 +23,3 @@ int main ()
  nonlocal:
   exit (0);
 }
-
-#else
-int main() { return 0; }
-#endif
index fdeda164004149725c220ba75b0d80b513b3625a..f1d12983ef34e4ec4ff0688398dcec7d13a9f911 100644 (file)
@@ -1,4 +1,5 @@
-#ifndef NO_TRAMPOLINES
+/* { dg-require-effective-target trampolines } */
+
 extern void abort (void);
 
 int x(int a, int b)
@@ -41,6 +42,3 @@ int main ()
 
   return 0;
 }
-#else
-int main() { return 0; }
-#endif
index 7e9646be5c3681791b091c31f12732895e977819..8ff09ebc9fe5fca34171bac0295a1abccd51f3d2 100644 (file)
@@ -5,8 +5,6 @@
 /* { dg-require-effective-target trampolines } */
 /* { dg-options "-O2 -Wtrampolines" } */
 
-#ifndef NO_TRAMPOLINES
-
 /* This used to fail on various versions of Solaris 2 because the
    trampoline couldn't be made executable.  */
 
@@ -46,12 +44,10 @@ void foo (void)
       abort();
   }
 }
-#endif
 
 int main (void)
 {
-#ifndef NO_TRAMPOLINES
   foo ();
-#endif
+
   return 0;
 }
index 1129b00a49ef2b1881f0b8b96cc5dc166717390c..98a47a8ce96f9507419d623ed6484fbbf8d1d803 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
 #ifdef STACK_SIZE
 #define DEPTH ((STACK_SIZE) / 512 + 1)
@@ -10,7 +11,6 @@
 extern void abort (void);
 extern void exit (int);
 
-#if !defined (NO_TRAMPOLINES)
 int
 x(int a)
 {
@@ -29,14 +29,12 @@ x(int a)
  xlab:;
   return a;
 }
-#endif
 
 int
 main ()
 {
-#if !defined (NO_TRAMPOLINES)
   if (x (DEPTH) != DEPTH)
     abort ();
-#endif
+
   exit (0);
 }
index 95eba0482f671a4df9b38ed098f3b2c8dd43caf4..e6bf3645c59973c007c3adacea4f5e6ead4cd3e6 100644 (file)
@@ -1,9 +1,9 @@
 /* { dg-do run } */
+/* { dg-require-effective-target trampolines } */
 
 extern void abort (void);
 extern void exit (int);
 
-#ifndef NO_TRAMPOLINES
 static void recursive (int n, void (*proc) (void))
 {
   __label__ l1;
@@ -33,6 +33,3 @@ int main ()
   recursive (10, abort);
   abort ();
 }
-#else
-int main () { return 0; }
-#endif
index d853825feb75cd36fd55c484f3d70e25d4a3fd92..708cd9e89a9f3138fa009c84d56789a0f97b8f07 100644 (file)
@@ -1,6 +1,5 @@
 /* { dg-do run } */
-
-#ifndef NO_TRAMPOLINES
+/* { dg-require-effective-target trampolines } */
 
 typedef __SIZE_TYPE__ size_t;
 extern void abort (void);
@@ -22,7 +21,3 @@ int main ()
  nonlocal:
   exit (0);
 }
-
-#else
-int main() { return 0; }
-#endif
index f18366f9c0f0efb06303b6b444eda7e7f8cf9743..39525d7f8c68b039cbb9ab2b0398d4a1b034fe3e 100644 (file)
@@ -1,7 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target nonlocal_goto } */
+/* { dg-require-effective-target trampolines } */
 
-#ifndef NO_TRAMPOLINES
 extern void abort (void);
 
 int x(int a, int b)
@@ -38,6 +38,3 @@ int main ()
 
   return 0;
 }
-#else
-int main() { return 0; }
-#endif
index bcad887a93fc2f27c4e1116aeb9849044b23d912..591428d08b726c1c1bb731cccdc8b738c9d58f24 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target nonlocal_goto } */
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
 extern void abort (void);
 extern void exit (int);
@@ -11,7 +12,6 @@ extern void exit (int);
 #define DEPTH 1000
 #endif
 
-#if !defined (NO_TRAMPOLINES)
 int
 x(int a)
 {
@@ -26,14 +26,12 @@ x(int a)
  xlab:;
   return a;
 }
-#endif
 
 int
 main ()
 {
-#if !defined (NO_TRAMPOLINES)
   if (x (DEPTH) != DEPTH)
     abort ();
-#endif
+
   exit (0);
 }
index ab524fe36562b6f5900e5810be61bb59cabcbd5e..b158cea5436749ed37bfb5de6be67d6e936e2a22 100644 (file)
@@ -1,13 +1,10 @@
 /* { dg-do run } */
 /* { dg-require-effective-target nonlocal_goto } */
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 
 extern void exit (int);
-#if !defined (NO_TRAMPOLINES)
 extern void abort (void);
 int s(int i){if(i>0){__label__ l1;int f(int i){if(i==2)goto l1;return 0;}return f(i);l1:;}return 1;}
 int x(){return s(0)==1&&s(1)==0&&s(2)==1;}
 int main(){if(x()!=1)abort();exit(0);}
-#else
-int main(){ exit (0); }
-#endif
index 37a582c5703daa703dc92694f1485e5f550577c5..e3dcf573a94bad28492ea4fb6a3fe3c9302bad1d 100644 (file)
@@ -5,8 +5,6 @@
 /* { dg-require-effective-target trampolines } */
 /* { dg-options "-O2" } */
 
-#ifndef NO_TRAMPOLINES
-
 /* This used to fail on various versions of Solaris 2 because the
    trampoline couldn't be made executable.  */
 
@@ -46,12 +44,9 @@ void foo (void)
       abort();
   }
 }
-#endif
 
 int main (void)
 {
-#ifndef NO_TRAMPOLINES
   foo ();
-#endif
   return 0;
 }
index 4550599a2885eaaed6092015eda888dda9cdbbc3..4074b750645a1a8618cfc1788c36f6d262c9e795 100644 (file)
@@ -1,5 +1,6 @@
 /* PR middle-end/44777 */
 /* { dg-require-effective-target label_values } */
+/* { dg-require-effective-target trampolines } */
 /* { dg-options "-O0" } */
 /* A variant of gcc.c-torture/execute/comp-goto-2.c.  */
 
@@ -12,7 +13,6 @@ extern void exit (int);
 #define DEPTH 1000
 #endif
 
-#if !defined (NO_TRAMPOLINES)
 int
 x (int a)
 {
@@ -31,14 +31,13 @@ x (int a)
  xlab:;
   return a;
 }
-#endif
 
 int
 main ()
 {
-#if !defined (NO_TRAMPOLINES)
+
   if (x (DEPTH) != DEPTH)
     abort ();
-#endif
+
   exit (0);
 }
index 3826aff45b74a17d4a7dd051864f4baeb05b8712..9368524c145b0b92933e067cfc46792fa9df5552 100644 (file)
@@ -3,18 +3,15 @@
 /* { dg-require-effective-target trampolines } */
 /* { dg-options "-O2" } */
 
-#ifndef NO_TRAMPOLINES
 __attribute__ ((noinline)) void
 foo (int i, void (* __attribute__ ((regparm (3))) bar) (int))
 {
   bar (i);
 }
-#endif
 
 int
 main ()
 {
-#ifndef NO_TRAMPOLINES
   int p = 0;
 
   __attribute__ ((regparm (3), noinline)) void
@@ -35,6 +32,6 @@ main ()
 
   if (p != 2)
     __builtin_abort ();
-#endif
+
   return 0;
 }
index 19d500c6a29437b1215f5059eb4e4b1b18e37be3..fd32a30fdf6ecd49728786fa3f90fe475ebc9a64 100644 (file)
@@ -144,9 +144,6 @@ proc gcc_target_compile { source dest type options } {
     if [target_info exists gcc,stack_size] {
        lappend options "additional_flags=-DSTACK_SIZE=[target_info gcc,stack_size]"
     }
-    if [target_info exists gcc,no_trampolines] {
-       lappend options "additional_flags=-DNO_TRAMPOLINES"
-    }
     if [target_info exists gcc,signal_suppress] {
        lappend options "additional_flags=-DSIGNAL_SUPPRESS"
     }
index c4c954e1db67c8d1006a2e7f40badd0e2ae83b97..c8b9741eeda6a27413bbf916dcb8206e7059f91d 100644 (file)
@@ -194,9 +194,6 @@ proc objc_target_compile { source dest type options } {
     if [target_info exists objc,stack_size] {
        lappend options "additional_flags=-DSTACK_SIZE=[target_info objc,stack_size]"
     }
-    if [target_info exists objc,no_trampolines] {
-       lappend options "additional_flags=-DNO_TRAMPOLINES"
-    }
 
     # TEST_ALWAYS_FLAGS are flags that should be passed to every
     # compilation.  They are passed first to allow individual