]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: target-supports.exp (add_options_for_bind_pic_locally): New.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Sat, 6 Mar 2010 03:57:55 +0000 (03:57 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Sat, 6 Mar 2010 03:57:55 +0000 (03:57 +0000)
Backport:
2009-10-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
* lib/target-supports.exp (add_options_for_bind_pic_locally): New.

2009-10-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
* g++.dg/other/first-global.C: Use dg-add-options bind_pic_locally.
* g++.dg/parse/attr-externally-visible-1.C: Likewise.
* g++.dg/tree-ssa/nothrow-1.C: Likewise.
* gcc.dg/ipa/ipa-1.c: Likewise.
* gcc.dg/ipa/ipa-2.c: Likewise.
* gcc.dg/ipa/ipa-3.c: Likewise.
* gcc.dg/ipa/ipa-4.c: Likewise.
* gcc.dg/ipa/ipa-5.c: Likewise.
* gcc.dg/ipa/ipa-7.c: Likewise.

From-SVN: r157254

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/first-global.C
gcc/testsuite/g++.dg/parse/attr-externally-visible-1.C
gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C
gcc/testsuite/gcc.dg/ipa/ipa-1.c
gcc/testsuite/gcc.dg/ipa/ipa-2.c
gcc/testsuite/gcc.dg/ipa/ipa-3.c
gcc/testsuite/gcc.dg/ipa/ipa-4.c
gcc/testsuite/gcc.dg/ipa/ipa-5.c
gcc/testsuite/gcc.dg/ipa/ipa-7.c
gcc/testsuite/lib/target-supports.exp

index 82618ad8a29029a46f32dbe5d6ff9a8f5452294b..7943aa8dc521dc559081c61ba64762440c514772 100644 (file)
@@ -1,3 +1,20 @@
+2010-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       Backport:
+       2009-10-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+       * lib/target-supports.exp (add_options_for_bind_pic_locally): New.
+       
+       2009-10-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+       * g++.dg/other/first-global.C: Use dg-add-options bind_pic_locally.
+       * g++.dg/parse/attr-externally-visible-1.C: Likewise.
+       * g++.dg/tree-ssa/nothrow-1.C: Likewise.
+       * gcc.dg/ipa/ipa-1.c: Likewise.
+       * gcc.dg/ipa/ipa-2.c: Likewise.
+       * gcc.dg/ipa/ipa-3.c: Likewise.
+       * gcc.dg/ipa/ipa-4.c: Likewise.
+       * gcc.dg/ipa/ipa-5.c: Likewise.
+       * gcc.dg/ipa/ipa-7.c: Likewise.
+
 2010-02-16  Paolo Bonzini  <bonzini@gnu.org>
 
        * gcc.c-torture/execute/pr41917.c: New test.
index a993a9d51755610e1c2de78e97385439f867b8b1..0f39a8abb7329fb7fd82d3906c8db22854fd3f4c 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-fpie" { target { ! nonpic } } } */
+/* { dg-add-options bind_pic_locally } */
 /* { dg-final { scan-assembler "_GLOBAL__I(_|_65535_0_)foobar" } } */
 
 struct foo { foo (); };
index dbdab88af2d2c2581357362eb640f4fd148241e1..845d873aacb7d00dbc3f6a9164a6d447be4a2124 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do compile }
 // { dg-options "-O3 -fwhole-program" }
-// { dg-options "-O3 -fwhole-program -fpie" { target { ! nonpic } } }
+// { dg-add-options bind_pic_locally }
 // { dg-final { scan-assembler "foo1" } }
 // { dg-final { scan-assembler "foo2" } }
 // { dg-final { scan-assembler "foo3" } }
index 4bb71589de365fd04c6fa2ab36b78214d4c50b54..33462946aed57cdddf8e2c1e135f5ed8415f25ec 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fdump-tree-cfg" } */
-/* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
+
 double a;
 void t()
 {
index 65fd7b8ba7185273abddc8cdb09fcba24eac1bad..4ec30c68ffc781993eb7ad53c4beb46dcd9be416 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 #include <stdio.h>
 int g (int b, int c)
index 281c457eb362b79f5a316af766ab88fcada7df6b..d0896aa35bb23e67f5ffa35fadfafa6db5fa1128 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 #include <stdio.h>
 int g (int b, int c)
index 9487aae7f3b9df74ef2fb9599e7447cd4e5dc4ba..0c905df6c02428170ae2be5b90cf232d2174df98 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 
 /* Double constants.  */
index 55599a240489945b2e08867c5cfed6d2f63cc222..f3ce4279de5da7a4fbb082d6a02edf48c2301d38 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 #include <stdio.h>
 int g (int b, int c)
index b5106d9534343d6a8b1ced561540950665f32dc4..a3fa95f90c790af7e1b998e686953c570d427c88 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 /* Float & short constants.  */
 
index 60fc9c0b06f9aebeec2b36aaaf7754ed368ce1de..5aadb37543a3cfb3441bc46686cce00fd51c5d81 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
-/* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-add-options bind_pic_locally } */
 
 #include <stdio.h>
 void send_addr (int *);
index ab9886f2ef0067a1984d563d497f6b113c8d00bb..924973234ca010ffa9b5331944d97c0dcff5c804 100644 (file)
@@ -2356,6 +2356,28 @@ proc add_options_for_c99_runtime { flags } {
     return $flags
 }
 
+# Add to FLAGS the flags needed to enable functions to bind locally
+# when using pic/PIC passes in the testsuite.
+
+proc add_options_for_bind_pic_locally { flags } {
+    if {[check_no_compiler_messages using_pic2 assembly {
+        #if __PIC__ != 2
+        #error FOO
+        #endif
+    }]} {
+       return "$flags -fPIE"
+    }
+    if {[check_no_compiler_messages using_pic1 assembly {
+        #if __PIC__ != 1
+        #error FOO
+        #endif
+    }]} {
+       return "$flags -fpie"
+    }
+
+    return $flags
+}
+
 # Return 1 if the target provides a full C99 runtime.
 
 proc check_effective_target_c99_runtime { } {