* 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.
From-SVN: r227177
+2015-08-25 Nathan Sidwell <nathan@acm.org>
+
+ * 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 <christian.bruel@st.com>
* gcc.dg/Wno-frame-address.c: Skip for ARM.
/* { dg-do run } */
/* { dg-options "-O2 -finstrument-functions" } */
+/* { dg-require-effective-target return_address } */
extern void abort (void);
extern void exit (int);
/* 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)
/* { 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)
/* { dg-options "-O -fgraphite-identity" } */
+/* { dg-require-effective-target nonlocal_goto } */
#include <setjmp.h>
/* { dg-options "-O -fstack-check=generic -ftree-pre -fgraphite-identity" } */
+/* nvptx doesn't expose a stack. */
+/* { dg-skip-if "" { nvptx-*-* } { "*" } { "" } } */
int main ()
{
/* { dg-do link } */
/* { dg-options "-O2" } */
+/* { dg-require-effective-target label_values } */
+
void *a;
int b, c, d;
/* { 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).
/* { 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" } */
{
-/* { 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
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), \
/* { 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. */
-/* { 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");
# 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"]
# 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"]