Re: [PATCH, testsuite] Add bind_pic_locally to certain tests

2014-11-19 Thread Andreas Schwab
* gcc.dg/pure-2.c: Update line numbers.

diff --git a/gcc/testsuite/gcc.dg/pure-2.c b/gcc/testsuite/gcc.dg/pure-2.c
index 638bd7c..fe6e2bc 100644
--- a/gcc/testsuite/gcc.dg/pure-2.c
+++ b/gcc/testsuite/gcc.dg/pure-2.c
@@ -8,14 +8,14 @@ extern int v;
 /* Trivial.  */
 int
 foo1(int a)  /* { dg-bogus normally detect pure candidate } */
-{ /* { dg-warning pure detect pure candidate { target *-*-* } 9 } */
+{ /* { dg-warning pure detect pure candidate { target *-*-* } 10 } */
   return v;
 }
 
 /* Loops known to be normally and extern const calls should be safe.  */
 int __attribute__ ((noinline))
 foo2(int n)  /* { dg-bogus normally detect pure candidate } */
-{ /* { dg-warning pure detect pure candidate { target *-*-* } 16 } */
+{ /* { dg-warning pure detect pure candidate { target *-*-* } 17 } */
   int ret = 0;
   int i;
   for (i=0; in; i++)
@@ -53,6 +53,6 @@ foo4(int n)  /* { dg-warning pure\[^\n\]* normally detect 
pure candidate } *
 
 int
 foo5(int n)  /* { dg-bogus normally detect pure candidate } */
-{  /* { dg-warning pure detect pure candidate { target *-*-* } 54 } */
+{  /* { dg-warning pure detect pure candidate { target *-*-* } 55 } */
   return foo2(n);
 }
-- 
2.1.3


-- 
Andreas Schwab, SUSE Labs, sch...@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
And now for something completely different.


Re: [PATCH, testsuite] Add bind_pic_locally to certain tests

2014-11-17 Thread Jeff Law

On 11/12/14 09:45, Alexander Ivchenko wrote:

Hi,

This patch adds bind_pic_locally to a certain tests that depend on the
availability of functions, declared in them. Those tests fail on
Android (or on any other pic target);
As for gcc/testsuite/g++.dg/fstack-protector-strong.[cC] - this is a
related problem. I've added target nonpic, cause __stack_chk_fail
(that is scanned in them) is not emitted in position independent case.

Patch is regtested on x86_64-unknown-linux-gnu. Is it OK?


2014-11-12  Alexander Ivchenko  alexander.ivche...@intel.com

 * c-c++-common/tm/safe-3.c: Add bind_pic_locally.
 * g++.dg/ipa/devirt-15.C: Ditto.
 * g++.dg/ipa/devirt-7.C: Ditto.
 * g++.dg/ipa/pr60600.C: Ditto.
 * g++.dg/opt/vt2.C: Ditto.
 * g++.dg/opt/vt4.C: Ditto.
 * g++.dg/pr48484.C: Ditto.
 * g++.dg/tm/pr47746.C: Ditto.
 * g++.dg/tree-ssa/pr57380.C: Ditto.
 * gcc.dg/ipa/inline-4.c: Ditto.
 * gcc.dg/ipa/inlinehint-1.c: Ditto.
 * gcc.dg/ipa/inlinehint-2.c: Ditto.
 * gcc.dg/ipa/inlinehint-3.c: Ditto.
 * gcc.dg/pr47276.c: Ditto.
 * gcc.dg/pure-2.c: Ditto.
 * gcc.dg/tm/nested-2.c: Ditto.
 * gcc.dg/tree-ssa/alias-29.c: Ditto.
 * gcc.target/i386/3dnow-1.c: Ditto.
 * gcc.target/i386/3dnow-2.c: Ditto.
 * gcc.target/i386/3dnowA-1.c: Ditto.
 * gcc.target/i386/3dnowA-2.c: Ditto.
 * gcc.target/i386/avx-1.c: Ditto.
 * gcc.target/i386/avx-2.c: Ditto.
 * gcc.target/i386/memcpy-1.c: Ditto.
 * gcc.target/i386/mmx-1.c: Ditto.
 * gcc.target/i386/mmx-2.c: Ditto.
 * gcc.target/i386/sse-14.c: Ditto.
 * gcc.target/i386/sse-22.c: Ditto.
 * gcc.target/i386/sse-22a.c: Ditto.
 * gcc.target/i386/sse-23.c: Ditto.
 * gcc.target/i386/sse-24.c: Ditto.
 * gcc.target/i386/vect-double-1.c: Ditto.
 * g++.dg/fstack-protector-strong.C: Add target nonpic.
 * gcc.dg/fstack-protector-strong.c: Ditto.

OK for the trunk.

Thanks
Jeff




[PATCH, testsuite] Add bind_pic_locally to certain tests

2014-11-12 Thread Alexander Ivchenko
Hi,

This patch adds bind_pic_locally to a certain tests that depend on the
availability of functions, declared in them. Those tests fail on
Android (or on any other pic target);
As for gcc/testsuite/g++.dg/fstack-protector-strong.[cC] - this is a
related problem. I've added target nonpic, cause __stack_chk_fail
(that is scanned in them) is not emitted in position independent case.

Patch is regtested on x86_64-unknown-linux-gnu. Is it OK?


2014-11-12  Alexander Ivchenko  alexander.ivche...@intel.com

* c-c++-common/tm/safe-3.c: Add bind_pic_locally.
* g++.dg/ipa/devirt-15.C: Ditto.
* g++.dg/ipa/devirt-7.C: Ditto.
* g++.dg/ipa/pr60600.C: Ditto.
* g++.dg/opt/vt2.C: Ditto.
* g++.dg/opt/vt4.C: Ditto.
* g++.dg/pr48484.C: Ditto.
* g++.dg/tm/pr47746.C: Ditto.
* g++.dg/tree-ssa/pr57380.C: Ditto.
* gcc.dg/ipa/inline-4.c: Ditto.
* gcc.dg/ipa/inlinehint-1.c: Ditto.
* gcc.dg/ipa/inlinehint-2.c: Ditto.
* gcc.dg/ipa/inlinehint-3.c: Ditto.
* gcc.dg/pr47276.c: Ditto.
* gcc.dg/pure-2.c: Ditto.
* gcc.dg/tm/nested-2.c: Ditto.
* gcc.dg/tree-ssa/alias-29.c: Ditto.
* gcc.target/i386/3dnow-1.c: Ditto.
* gcc.target/i386/3dnow-2.c: Ditto.
* gcc.target/i386/3dnowA-1.c: Ditto.
* gcc.target/i386/3dnowA-2.c: Ditto.
* gcc.target/i386/avx-1.c: Ditto.
* gcc.target/i386/avx-2.c: Ditto.
* gcc.target/i386/memcpy-1.c: Ditto.
* gcc.target/i386/mmx-1.c: Ditto.
* gcc.target/i386/mmx-2.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-22a.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* gcc.target/i386/sse-24.c: Ditto.
* gcc.target/i386/vect-double-1.c: Ditto.
* g++.dg/fstack-protector-strong.C: Add target nonpic.
* gcc.dg/fstack-protector-strong.c: Ditto.

diff --git a/gcc/testsuite/c-c++-common/tm/safe-3.c
b/gcc/testsuite/c-c++-common/tm/safe-3.c
index 8a883db..becbd2f 100644
--- a/gcc/testsuite/c-c++-common/tm/safe-3.c
+++ b/gcc/testsuite/c-c++-common/tm/safe-3.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options -fgnu-tm } */
+/* { dg-add-options bind_pic_locally } */

 void f_extern (void);
 void f_first (void);
diff --git a/gcc/testsuite/g++.dg/fstack-protector-strong.C
b/gcc/testsuite/g++.dg/fstack-protector-strong.C
index 5a820ed..ae6d2fd 100644
--- a/gcc/testsuite/g++.dg/fstack-protector-strong.C
+++ b/gcc/testsuite/g++.dg/fstack-protector-strong.C
@@ -3,6 +3,11 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options -O2 -fstack-protector-strong } */

+/* This test checks the presence of __stack_chk_fail function in assembler.
+ * Compiler generates _stack_chk_fail_local (wrapper) calls instead for PIC.
+ */
+/* { dg-require-effective-target nonpic } */
+
 class A
 {
 public:
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-15.C
b/gcc/testsuite/g++.dg/ipa/devirt-15.C
index 9245646..fd83894 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-15.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-15.C
@@ -2,6 +2,8 @@
A is noreturn.  */
 /* { dg-do compile } */
 /* { dg-options -O2 -fdump-ipa-devirt-details -fdump-tree-optimized  } */
+/* { dg-add-options bind_pic_locally } */
+
 class A {
 public:
   virtual int foo(void)
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-7.C
b/gcc/testsuite/g++.dg/ipa/devirt-7.C
index 1c59122..30df64a 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-7.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-7.C
@@ -2,6 +2,7 @@
comes from a method that has been early-inlined into a descendant.  */
 /* { dg-do run } */
 /* { dg-options -O3 -fdump-ipa-cp  } */
+/* { dg-add-options bind_pic_locally } */

 extern C void abort (void);

diff --git a/gcc/testsuite/g++.dg/ipa/pr60600.C
b/gcc/testsuite/g++.dg/ipa/pr60600.C
index 0753931..8f6cd7a 100644
--- a/gcc/testsuite/g++.dg/ipa/pr60600.C
+++ b/gcc/testsuite/g++.dg/ipa/pr60600.C
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options -O3 -fdump-ipa-cp } */
+/* { dg-add-options bind_pic_locally } */

 struct data {
 data(int);
diff --git a/gcc/testsuite/g++.dg/opt/vt2.C b/gcc/testsuite/g++.dg/opt/vt2.C
index a77db38..780f587 100644
--- a/gcc/testsuite/g++.dg/opt/vt2.C
+++ b/gcc/testsuite/g++.dg/opt/vt2.C
@@ -1,5 +1,6 @@
 // PR c++/34949
 // { dg-options -O3 }
+// { dg-add-options bind_pic_locally }
 // { dg-final { scan-assembler-not mov\[^\n\]*_ZTV { target
i?86-*-* x86_64-*-* } } }

 class Foo
diff --git a/gcc/testsuite/g++.dg/opt/vt4.C b/gcc/testsuite/g++.dg/opt/vt4.C
index c8d04cf..98378da 100644
--- a/gcc/testsuite/g++.dg/opt/vt4.C
+++ b/gcc/testsuite/g++.dg/opt/vt4.C
@@ -1,6 +1,7 @@
 // PR c++/50243
 // { dg-do compile }
 // { dg-options -O }
+// { dg-add-options bind_pic_locally }
 // { dg-final { scan-assembler-not _ZTV.A } }

 void foo ();
diff --git a/gcc/testsuite/g++.dg/pr48484.C b/gcc/testsuite/g++.dg/pr48484.C
index 3f17f39..1380c45