diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bbb86599fe8..214a87a88e1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2015-08-25 Nathan Sidwell + + * gcc.dg/20001117-1.c: Needs return_address. + * gcc.dg/20020415-1.c: Needs alloca. + * gcc.dg/graphite/id-pr44676.c: Needs profiling. + * gcc.dg/graphite/pr60979.c: Needs nonlocal_goto + * gcc.dg/pr63186.c: Needs label_values. + * gcc.dg/torture/pr33848.c: Likwise. + + * lib/target-supports.exp (check_effective_target_fopenacc, + check_effective_target_fopenmp): Disable for nvptx. + * gcc.dg/graphite/run-id-pr47653.c: Disable for nvptx. + * gcc.dg/stack-usage-1.c: Likewise. + * gcc.dg/stack-usage-2.c: Likewise. + * gcc.dg/unused-5.c: Likewise. + * gcc.dg/unwind-1.c: Likewise. + 2015-08-25 Christian Bruel * gcc.dg/Wno-frame-address.c: Skip for ARM. diff --git a/gcc/testsuite/gcc.dg/20001117-1.c b/gcc/testsuite/gcc.dg/20001117-1.c index a9de496e276..1b24300da8e 100644 --- a/gcc/testsuite/gcc.dg/20001117-1.c +++ b/gcc/testsuite/gcc.dg/20001117-1.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O2 -finstrument-functions" } */ +/* { dg-require-effective-target return_address } */ extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.dg/20020415-1.c b/gcc/testsuite/gcc.dg/20020415-1.c index d0b64390718..46a1bbddc30 100644 --- a/gcc/testsuite/gcc.dg/20020415-1.c +++ b/gcc/testsuite/gcc.dg/20020415-1.c @@ -1,9 +1,9 @@ /* PR target/6303 This testcase ICEd because s390 did not define ASM_SIMPLIFY_DWARF_ADDR hook. */ -/* { dg-require-effective-target alloca } */ /* { dg-do compile { target fpic } } */ /* { dg-options "-O2 -fpic -g" } */ +/* { dg-require-effective-target alloca } */ static inline char * bar (unsigned long x, char *y) diff --git a/gcc/testsuite/gcc.dg/graphite/id-pr44676.c b/gcc/testsuite/gcc.dg/graphite/id-pr44676.c index 65821edba2a..ad22cdec8a7 100644 --- a/gcc/testsuite/gcc.dg/graphite/id-pr44676.c +++ b/gcc/testsuite/gcc.dg/graphite/id-pr44676.c @@ -1,4 +1,5 @@ /* { dg-options "-O2 -fgraphite-identity -fprofile-generate" } */ +/* { dg-require-profiling "-fprofile-generate" } */ int extend_options (int h, int map, int x, int y, int dx) diff --git a/gcc/testsuite/gcc.dg/graphite/pr60979.c b/gcc/testsuite/gcc.dg/graphite/pr60979.c index 66fffa5395d..ab8aa654d19 100644 --- a/gcc/testsuite/gcc.dg/graphite/pr60979.c +++ b/gcc/testsuite/gcc.dg/graphite/pr60979.c @@ -1,4 +1,5 @@ /* { dg-options "-O -fgraphite-identity" } */ +/* { dg-require-effective-target nonlocal_goto } */ #include diff --git a/gcc/testsuite/gcc.dg/graphite/run-id-pr47653.c b/gcc/testsuite/gcc.dg/graphite/run-id-pr47653.c index b62b891d996..20fdf87565e 100644 --- a/gcc/testsuite/gcc.dg/graphite/run-id-pr47653.c +++ b/gcc/testsuite/gcc.dg/graphite/run-id-pr47653.c @@ -1,4 +1,6 @@ /* { dg-options "-O -fstack-check=generic -ftree-pre -fgraphite-identity" } */ +/* nvptx doesn't expose a stack. */ +/* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */ int main () { diff --git a/gcc/testsuite/gcc.dg/pr63186.c b/gcc/testsuite/gcc.dg/pr63186.c index 8efb750a9b2..32aa2afda9b 100644 --- a/gcc/testsuite/gcc.dg/pr63186.c +++ b/gcc/testsuite/gcc.dg/pr63186.c @@ -1,5 +1,7 @@ /* { dg-do link } */ /* { dg-options "-O2" } */ +/* { dg-require-effective-target label_values } */ + void *a; int b, c, d; diff --git a/gcc/testsuite/gcc.dg/stack-usage-1.c b/gcc/testsuite/gcc.dg/stack-usage-1.c index 55edc7ec61f..7864c6a282b 100644 --- a/gcc/testsuite/gcc.dg/stack-usage-1.c +++ b/gcc/testsuite/gcc.dg/stack-usage-1.c @@ -1,5 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-fstack-usage" } */ +/* nvptx doesn't have a reg allocator, and hence no stack usage data. */ +/* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */ /* This is aimed at testing basic support for -fstack-usage in the back-ends. See the SPARC back-end for example (grep flag_stack_usage_info in sparc.c). diff --git a/gcc/testsuite/gcc.dg/stack-usage-2.c b/gcc/testsuite/gcc.dg/stack-usage-2.c index df7e55f0560..c2527d27c18 100644 --- a/gcc/testsuite/gcc.dg/stack-usage-2.c +++ b/gcc/testsuite/gcc.dg/stack-usage-2.c @@ -1,5 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-Wstack-usage=512" } */ +/* nvptx gets very upset with mismatched function types. */ +/* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */ int foo1 (void) /* { dg-bogus "stack usage" } */ { diff --git a/gcc/testsuite/gcc.dg/torture/pr33848.c b/gcc/testsuite/gcc.dg/torture/pr33848.c index 5d71d2c933c..db6060253eb 100644 --- a/gcc/testsuite/gcc.dg/torture/pr33848.c +++ b/gcc/testsuite/gcc.dg/torture/pr33848.c @@ -1,4 +1,3 @@ -/* { dg-require-effective-target label_values } */ /* &&foo should be hoisted, but on most targets, excess register pressure forces it to be rematerialized before "data != &&foo". On targets that have a "branch if registers are equal" instruction, this leads to the @@ -7,6 +6,7 @@ say that &&foo was the target of the branch, and the real target would then be removed as dead. */ /* { dg-do link } */ +/* { dg-require-effective-target label_values } */ #define NVARS 30 #define MULTI(X) \ X( 0), X( 1), X( 2), X( 3), X( 4), X( 5), X( 6), X( 7), X( 8), X( 9), \ diff --git a/gcc/testsuite/gcc.dg/unused-5.c b/gcc/testsuite/gcc.dg/unused-5.c index 5ccc3f3beae..1b8e100d249 100644 --- a/gcc/testsuite/gcc.dg/unused-5.c +++ b/gcc/testsuite/gcc.dg/unused-5.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-Wunused" } */ /* { dg-final { scan-assembler "string_to_look_for" } } */ +/* nvptx outputs strings as array of ints. */ +/* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */ /* 'volatile' variables get output and don't produce a warning about being unused. */ diff --git a/gcc/testsuite/gcc.dg/unwind-1.c b/gcc/testsuite/gcc.dg/unwind-1.c index 95bbb2daa50..a035af1f2c2 100644 --- a/gcc/testsuite/gcc.dg/unwind-1.c +++ b/gcc/testsuite/gcc.dg/unwind-1.c @@ -1,4 +1,4 @@ -/* { dg-do assemble { target { ! { powerpc-ibm-aix* } } } } */ +/* { dg-do assemble { target { ! { powerpc-ibm-aix* nvptx-*-* } } } } */ /* { dg-options "-fleading-underscore -funwind-tables" } */ void func(void) __asm("_func"); diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index b270722063d..1a0ad787ac0 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -819,6 +819,10 @@ proc check_effective_target_fgraphite {} { # code, 0 otherwise. proc check_effective_target_fopenacc {} { + # nvptx can be built with the device-side bits of openacc, but it + # does not make sense to test it as an openacc host. + if [istarget nvptx-*-*] { return 0 } + return [check_no_compiler_messages fopenacc object { void foo (void) { } } "-fopenacc"] @@ -828,6 +832,10 @@ proc check_effective_target_fopenacc {} { # code, 0 otherwise. proc check_effective_target_fopenmp {} { + # nvptx can be built with the device-side bits of libgomp, but it + # does not make sense to test it as an openmp host. + if [istarget nvptx-*-*] { return 0 } + return [check_no_compiler_messages fopenmp object { void foo (void) { } } "-fopenmp"]