* [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
@ 2015-12-09 9:56 Thomas Preud'homme
2015-12-10 21:50 ` Jeff Law
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Thomas Preud'homme @ 2015-12-09 9:56 UTC (permalink / raw)
To: gcc-patches
c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets due to -fcilkplus needing -pthread which is not available for those targets. This patch solves this issue by adding a condition to the cilkplus effective target that compiling with -fcilkplus succeeds and requires cilkplus as an effective target for attr-simd-3.c testcase.
ChangeLog entry is as follows:
*** gcc/testsuite/ChangeLog ***
2015-12-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/68629
* lib/target-supports.exp (check_effective_target_cilkplus): Also
check that compiling with -fcilkplus does not give an error.
* c-c++-common/attr-simd-3.c: Require cilkplus effective target.
diff --git a/gcc/testsuite/c-c++-common/attr-simd-3.c b/gcc/testsuite/c-c++-common/attr-simd-3.c
index d61ba82..1970c67 100644
--- a/gcc/testsuite/c-c++-common/attr-simd-3.c
+++ b/gcc/testsuite/c-c++-common/attr-simd-3.c
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-require-effective-target "cilkplus" } */
/* { dg-options "-fcilkplus" } */
/* { dg-prune-output "undeclared here \\(not in a function\\)|\[^\n\r\]* was not declared in this scope" } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4e349e9..95b903c 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
if { [istarget avr-*-*] } {
return 0;
}
- return 1
+ return [ check_no_compiler_messages_nocache fcilkplus_available executable {
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ int dummy;
+ } "-fcilkplus" ]
}
proc check_linker_plugin_available { } {
Testsuite shows no regression when run with
+ an arm-none-eabi GCC cross-compiler targeting Cortex-M3
+ a bootstrapped x86_64-linux-gnu GCC native compiler
Is this ok for trunk?
Best regards,
Thomas
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-09 9:56 [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets Thomas Preud'homme
@ 2015-12-10 21:50 ` Jeff Law
2015-12-15 16:45 ` Thomas Schwinge
2015-12-17 8:44 ` Thomas Preud'homme
2 siblings, 0 replies; 7+ messages in thread
From: Jeff Law @ 2015-12-10 21:50 UTC (permalink / raw)
To: Thomas Preud'homme, gcc-patches
On 12/09/2015 02:56 AM, Thomas Preud'homme wrote:
> c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets due to -fcilkplus needing -pthread which is not available for those targets. This patch solves this issue by adding a condition to the cilkplus effective target that compiling with -fcilkplus succeeds and requires cilkplus as an effective target for attr-simd-3.c testcase.
>
> ChangeLog entry is as follows:
>
>
> *** gcc/testsuite/ChangeLog ***
>
> 2015-12-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> PR testsuite/68629
> * lib/target-supports.exp (check_effective_target_cilkplus): Also
> check that compiling with -fcilkplus does not give an error.
> * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
OK.
Note however, that the simd attribute is now independent of Cilk+. So
generally we shouldn't want/need -fcilkplus for uses of that attribute.
This case is somewhat special in that we're checking for something
that's considered a syntax error for Cilk+, so it probably makes sense
to keep the test as-is.
I do wonder if a complementary test where we try to apply that attribute
to a function (without the vector attribute) and compile without the
-fcilkplus option would be wise. We ought to be throwing some kind of
error in that situation and it'd be useful to verify that's the case.
jeff
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-09 9:56 [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets Thomas Preud'homme
2015-12-10 21:50 ` Jeff Law
@ 2015-12-15 16:45 ` Thomas Schwinge
2015-12-17 8:03 ` Thomas Schwinge
2015-12-17 8:44 ` Thomas Preud'homme
2 siblings, 1 reply; 7+ messages in thread
From: Thomas Schwinge @ 2015-12-15 16:45 UTC (permalink / raw)
To: Thomas Preud'homme; +Cc: Jeff Law, gcc-patches, Tobias Burnus, Rainer Orth
[-- Attachment #1: Type: text/plain, Size: 2407 bytes --]
Hi!
On Wed, 9 Dec 2015 17:56:13 +0800, "Thomas Preud'homme" <thomas.preudhomme@arm.com> wrote:
> c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets due to -fcilkplus needing -pthread which is not available for those targets. This patch solves this issue by adding a condition to the cilkplus effective target that compiling with -fcilkplus succeeds and requires cilkplus as an effective target for attr-simd-3.c testcase.
> PR testsuite/68629
> * lib/target-supports.exp (check_effective_target_cilkplus): Also
> check that compiling with -fcilkplus does not give an error.
> * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
> if { [istarget avr-*-*] } {
> return 0;
> }
> - return 1
> + return [ check_no_compiler_messages_nocache fcilkplus_available executable {
> + #ifdef __cplusplus
> + extern "C"
> + #endif
> + int dummy;
> + } "-fcilkplus" ]
> }
>
> proc check_linker_plugin_available { } {
>
>
> Testsuite shows no regression when run with
> + an arm-none-eabi GCC cross-compiler targeting Cortex-M3
> + a bootstrapped x86_64-linux-gnu GCC native compiler
With this committed in r231605, I now see all gcc/testsuite/ Cilk+
testing disappear for "configure && make && make check", because of:
Executing on host: [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ fcilkplus_available14337.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14337.exe (timeout = 300)
spawn [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ fcilkplus_available14337.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14337.exe
xgcc: error: libcilkrts.spec: No such file or directory
compiler exited with status 1
Can you confirm that in your build/test tree, the compiler is picking up
the build-tree libcilkrts, and not the one from /usr/lib/ (or similar)?
Long ago, in r208889, a similar problem has been diagnosed and fixed by
Rainer and Tobias (CCed just in case),
<http://news.gmane.org/find-root.php?message_id=%3C53336904.5010003%40net-b.de%3E>,
so I wonder what broke now?
Grüße
Thomas
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-15 16:45 ` Thomas Schwinge
@ 2015-12-17 8:03 ` Thomas Schwinge
2015-12-17 8:26 ` Jakub Jelinek
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Schwinge @ 2015-12-17 8:03 UTC (permalink / raw)
To: Thomas Preud'homme; +Cc: Jeff Law, gcc-patches, Tobias Burnus, Rainer Orth
[-- Attachment #1: Type: text/plain, Size: 3342 bytes --]
Hi!
On Tue, 15 Dec 2015 17:44:59 +0100, I wrote:
> On Wed, 9 Dec 2015 17:56:13 +0800, "Thomas Preud'homme" <thomas.preudhomme@arm.com> wrote:
> > c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets due to -fcilkplus needing -pthread which is not available for those targets. This patch solves this issue by adding a condition to the cilkplus effective target that compiling with -fcilkplus succeeds and requires cilkplus as an effective target for attr-simd-3.c testcase.
>
> > PR testsuite/68629
> > * lib/target-supports.exp (check_effective_target_cilkplus): Also
> > check that compiling with -fcilkplus does not give an error.
> > * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
>
> > --- a/gcc/testsuite/lib/target-supports.exp
> > +++ b/gcc/testsuite/lib/target-supports.exp
> > @@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
> > if { [istarget avr-*-*] } {
> > return 0;
> > }
> > - return 1
> > + return [ check_no_compiler_messages_nocache fcilkplus_available executable {
> > + #ifdef __cplusplus
> > + extern "C"
> > + #endif
> > + int dummy;
> > + } "-fcilkplus" ]
> > }
> >
> > proc check_linker_plugin_available { } {
> >
> >
> > Testsuite shows no regression when run with
> > + an arm-none-eabi GCC cross-compiler targeting Cortex-M3
> > + a bootstrapped x86_64-linux-gnu GCC native compiler
>
> With this committed in r231605, I now see all gcc/testsuite/ Cilk+
> testing disappear for "configure && make && make check", because of:
>
> Executing on host: [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ fcilkplus_available14337.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14337.exe (timeout = 300)
> spawn [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ fcilkplus_available14337.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14337.exe
> xgcc: error: libcilkrts.spec: No such file or directory
> compiler exited with status 1
By the way, this also happens for c-c++-common/attr-simd-3.c, gcc.log,
for example:
Executing on host: [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/
fcilkplus_available14668.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14668.exe (timeout = 300)
spawn [...]/build-gcc/gcc/xgcc -B[...]/build-gcc/gcc/ fcilkplus_available14668.c -fno-diagnostics-show-caret -fdiagnostics-color=never -fcilkplus -lm -o fcilkplus_available14668.exe
xgcc: error: libcilkrts.spec: No such file or directory
compiler exited with status 1
output is:
xgcc: error: libcilkrts.spec: No such file or directory
UNSUPPORTED: c-c++-common/attr-simd-3.c -Wc++-compat
Can you confirm and are you going to resolve that?
> Can you confirm that in your build/test tree, the compiler is picking up
> the build-tree libcilkrts, and not the one from /usr/lib/ (or similar)?
>
> Long ago, in r208889, a similar problem has been diagnosed and fixed by
> Rainer and Tobias (CCed just in case),
> <http://news.gmane.org/find-root.php?message_id=%3C53336904.5010003%40net-b.de%3E>,
> so I wonder what broke now?
Grüße
Thomas
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-17 8:03 ` Thomas Schwinge
@ 2015-12-17 8:26 ` Jakub Jelinek
2015-12-17 8:34 ` Thomas Preud'homme
0 siblings, 1 reply; 7+ messages in thread
From: Jakub Jelinek @ 2015-12-17 8:26 UTC (permalink / raw)
To: Thomas Schwinge
Cc: Thomas Preud'homme, Jeff Law, gcc-patches, Tobias Burnus,
Rainer Orth
On Thu, Dec 17, 2015 at 09:02:39AM +0100, Thomas Schwinge wrote:
> On Tue, 15 Dec 2015 17:44:59 +0100, I wrote:
> > On Wed, 9 Dec 2015 17:56:13 +0800, "Thomas Preud'homme" <thomas.preudhomme@arm.com> wrote:
> > > c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets due to -fcilkplus needing -pthread which is not available for those targets. This patch solves this issue by adding a condition to the cilkplus effective target that compiling with -fcilkplus succeeds and requires cilkplus as an effective target for attr-simd-3.c testcase.
> >
> > > PR testsuite/68629
> > > * lib/target-supports.exp (check_effective_target_cilkplus): Also
> > > check that compiling with -fcilkplus does not give an error.
> > > * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
> >
> > > --- a/gcc/testsuite/lib/target-supports.exp
> > > +++ b/gcc/testsuite/lib/target-supports.exp
> > > @@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
> > > if { [istarget avr-*-*] } {
> > > return 0;
> > > }
> > > - return 1
> > > + return [ check_no_compiler_messages_nocache fcilkplus_available executable {
> > > + #ifdef __cplusplus
> > > + extern "C"
> > > + #endif
> > > + int dummy;
> > > + } "-fcilkplus" ]
> > > }
That change has been obviously bad. If anything, you want to make it
compile time only, i.e. check_no_compiler_messages_nocache fcilkplus_available assembly
Just look at cilk-plus.exp:
It checks check_effective_target_cilkplus, and performs lots of tests if it
it returns true, and then checks check_libcilkrts_available and performs
further tests.
So, if any use of -fcilkplus fails on your target, then putting it
into check_effective_target_cilkplus is fine, you won't lose any Cilk+
testing that way. Otherwise, if it is conditional say only some constructs,
say array notation is fine, but _Cilk_for is not, then even that is wrong.
In any case, IMHO the attr-simd-3.c test just should be moved into
c-c++-common/cilk-plus/SE/ directory.
Jakub
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-17 8:26 ` Jakub Jelinek
@ 2015-12-17 8:34 ` Thomas Preud'homme
0 siblings, 0 replies; 7+ messages in thread
From: Thomas Preud'homme @ 2015-12-17 8:34 UTC (permalink / raw)
To: 'Jakub Jelinek', Thomas Schwinge
Cc: Jeff Law, gcc-patches, Tobias Burnus, Rainer Orth
Hi,
> From: Jakub Jelinek [mailto:jakub@redhat.com]
> Sent: Thursday, December 17, 2015 4:26 PM
> > >
> > > > --- a/gcc/testsuite/lib/target-supports.exp
> > > > +++ b/gcc/testsuite/lib/target-supports.exp
> > > > @@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
> > > > if { [istarget avr-*-*] } {
> > > > return 0;
> > > > }
> > > > - return 1
> > > > + return [ check_no_compiler_messages_nocache
> fcilkplus_available executable {
> > > > + #ifdef __cplusplus
> > > > + extern "C"
> > > > + #endif
> > > > + int dummy;
> > > > + } "-fcilkplus" ]
> > > > }
>
> That change has been obviously bad. If anything, you want to make it
> compile time only, i.e. check_no_compiler_messages_nocache
> fcilkplus_available assembly
Indeed, I failed to parse the space and didn't realize the kind of testing could be selected.
> Just look at cilk-plus.exp:
> It checks check_effective_target_cilkplus, and performs lots of tests if it
> it returns true, and then checks check_libcilkrts_available and performs
> further tests.
> So, if any use of -fcilkplus fails on your target, then putting it
> into check_effective_target_cilkplus is fine, you won't lose any Cilk+
> testing that way. Otherwise, if it is conditional say only some constructs,
> say array notation is fine, but _Cilk_for is not, then even that is wrong.
Ok. When I saw the very small list of target for which the condition returned true, I thought the goal was only to check if the target *could* support cilkplus and that actual support was tested by cilk-plus.exp. I'll revert this commit and prepare a patch to add arm in that list.
>
> In any case, IMHO the attr-simd-3.c test just should be moved into
> c-c++-common/cilk-plus/SE/ directory.
That was my thought initially but then I changed my mind, thinking that the test was placed there for a reason. I'll prepare a third patch to do that.
My apologize for the breakage.
Best regards,
Thomas
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets
2015-12-09 9:56 [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets Thomas Preud'homme
2015-12-10 21:50 ` Jeff Law
2015-12-15 16:45 ` Thomas Schwinge
@ 2015-12-17 8:44 ` Thomas Preud'homme
2 siblings, 0 replies; 7+ messages in thread
From: Thomas Preud'homme @ 2015-12-17 8:44 UTC (permalink / raw)
To: gcc-patches
Reverted now.
> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of Thomas Preud'homme
> Sent: Wednesday, December 09, 2015 5:56 PM
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-
> none-eabi targets
>
> c-c++-common/attr-simd-3.c fails to compile on arm-none-eabi targets
> due to -fcilkplus needing -pthread which is not available for those targets.
> This patch solves this issue by adding a condition to the cilkplus effective
> target that compiling with -fcilkplus succeeds and requires cilkplus as an
> effective target for attr-simd-3.c testcase.
>
> ChangeLog entry is as follows:
>
>
> *** gcc/testsuite/ChangeLog ***
>
> 2015-12-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
>
> PR testsuite/68629
> * lib/target-supports.exp (check_effective_target_cilkplus): Also
> check that compiling with -fcilkplus does not give an error.
> * c-c++-common/attr-simd-3.c: Require cilkplus effective target.
>
>
> diff --git a/gcc/testsuite/c-c++-common/attr-simd-3.c b/gcc/testsuite/c-
> c++-common/attr-simd-3.c
> index d61ba82..1970c67 100644
> --- a/gcc/testsuite/c-c++-common/attr-simd-3.c
> +++ b/gcc/testsuite/c-c++-common/attr-simd-3.c
> @@ -1,4 +1,5 @@
> /* { dg-do compile } */
> +/* { dg-require-effective-target "cilkplus" } */
> /* { dg-options "-fcilkplus" } */
> /* { dg-prune-output "undeclared here \\(not in a
> function\\)|\[^\n\r\]* was not declared in this scope" } */
>
> diff --git a/gcc/testsuite/lib/target-supports.exp
> b/gcc/testsuite/lib/target-supports.exp
> index 4e349e9..95b903c 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -1432,7 +1432,12 @@ proc check_effective_target_cilkplus { } {
> if { [istarget avr-*-*] } {
> return 0;
> }
> - return 1
> + return [ check_no_compiler_messages_nocache fcilkplus_available
> executable {
> + #ifdef __cplusplus
> + extern "C"
> + #endif
> + int dummy;
> + } "-fcilkplus" ]
> }
>
> proc check_linker_plugin_available { } {
>
>
> Testsuite shows no regression when run with
> + an arm-none-eabi GCC cross-compiler targeting Cortex-M3
> + a bootstrapped x86_64-linux-gnu GCC native compiler
>
> Is this ok for trunk?
>
> Best regards,
>
> Thomas
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-12-17 8:44 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-09 9:56 [PATCH, testsuite] Fix PR68629: attr-simd-3.c failure on arm-none-eabi targets Thomas Preud'homme
2015-12-10 21:50 ` Jeff Law
2015-12-15 16:45 ` Thomas Schwinge
2015-12-17 8:03 ` Thomas Schwinge
2015-12-17 8:26 ` Jakub Jelinek
2015-12-17 8:34 ` Thomas Preud'homme
2015-12-17 8:44 ` Thomas Preud'homme
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).