2015-08-24  Nathan Sidwell  <nathan@acm.org>

	* gcc/testsuite/gcc.dg/pr49551.c: Needs -fdata-sections.

	* gcc/testsuite/gcc.dg/pr64935-2.c: Needs scheduling.

	* gcc/testsuite/gcc.dg/torture/pr66101.c: Needs nonlocal goto.
	* gcc/testsuite/gcc.dg/torture/pr63738.c: Likewise.
	* gcc/testsuite/gcc.dg/torture/pr64728.c: Likewise.
	* gcc/testsuite/gcc.dg/pr63748.c: Likewise.
	* gcc/testsuite/gcc.dg/20020312-2.c: Likewise.

	* gcc/testsuite/gcc.dg/torture/pr66123.c: Needs label_values.

	* gcc/testsuite/gcc.dg/torture/pr41261.c: Needs profiling.
	* gcc/testsuite/gcc.dg/pr26570.c: Likewise.
	* gcc/testsuite/gcc.dg/pr61776.c: Likewise.
	* gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
	* gcc/testsuite/gcc.dg/gomp/pr34610.c: Likewise.
	* gcc/testsuite/gcc.dg/pr54121.c: Likewise.
	* gcc/testsuite/gcc.dg/20050325-1.c: Likewise.
	* gcc/testsuite/gcc.dg/pr66899.c: Likewise.
	* gcc/testsuite/gcc.dg/pr48770.c: Likewise.
	* gcc/testsuite/gcc.dg/pr24225.c: Likewise.

	* gcc/testsuite/gcc.dg/pr27531-1.c: Needs io.
	* gcc/testsuite/gcc.dg/pr44606.c: Likewise.

	* gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c: Needs weak.

	* gcc/testsuite/gcc.dg/pr51990.c: Needs alloca.

	* gcc/testsuite/gcc.misc-tests/options.exp: Disable profiling
	check for nvptx.

Index: gcc/testsuite/gcc.dg/pr49551.c
===================================================================
--- gcc/testsuite/gcc.dg/pr49551.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr49551.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fdata-sections" } */
+/* { dg-skip-if "-fdata-sections not supported" { nvptx-*-* } { "*" } { "" } } */
 
 int x = 1;
 int x;
Index: gcc/testsuite/gcc.dg/torture/pr66101.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr66101.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/torture/pr66101.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target nonlocal_goto } */
 
 #include <setjmp.h>
 
Index: gcc/testsuite/gcc.dg/torture/pr63738.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr63738.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/torture/pr63738.c	(working copy)
@@ -1,4 +1,5 @@
 /*  { dg-do compile } */
+/* { dg-require-effective-target nonlocal_goto } */
 
 #include <setjmp.h>
 
Index: gcc/testsuite/gcc.dg/torture/pr64728.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr64728.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/torture/pr64728.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target nonlocal_goto } */
 
 #include <setjmp.h>
 
Index: gcc/testsuite/gcc.dg/torture/pr66123.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr66123.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/torture/pr66123.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target label_values } */
 
 int
 test (int foo)
Index: gcc/testsuite/gcc.dg/torture/pr41261.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr41261.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/torture/pr41261.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fprofile-arcs" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 extern void relocate_kernel();
 void machine_kexec(void *control_page)
Index: gcc/testsuite/gcc.dg/pr26570.c
===================================================================
--- gcc/testsuite/gcc.dg/pr26570.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr26570.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprofile-generate -fprofile-use -fopt-info" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 unsigned test (unsigned a, unsigned b)
 {
Index: gcc/testsuite/gcc.dg/pr64935-2.c
===================================================================
--- gcc/testsuite/gcc.dg/pr64935-2.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr64935-2.c	(working copy)
@@ -1,6 +1,7 @@
 /* PR rtl-optimization/64935 */
 /* { dg-do compile } */
 /* { dg-options "-O -fschedule-insns --param=max-sched-ready-insns=0 -fcompare-debug" } */
+/* { dg-require-effective-target scheduling } */
 
 void
 foo (int *data, unsigned len, const int qlp_coeff[],
Index: gcc/testsuite/gcc.dg/pr61776.c
===================================================================
--- gcc/testsuite/gcc.dg/pr61776.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr61776.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprofile-generate" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 #include <setjmp.h>
 
Index: gcc/testsuite/gcc.dg/pr27531-1.c
===================================================================
--- gcc/testsuite/gcc.dg/pr27531-1.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr27531-1.c	(working copy)
@@ -4,6 +4,8 @@
    output to reference a label that had been eliminated.  */
 /* { dg-do link } */
 /* { dg-options "-O2" } */
+/* { dg-skip-if "requires io" { freestanding } { "*" } { "" } }  */
+
 typedef struct _IO_FILE FILE;
 char const *RCSname;
 void *Locks;
Index: gcc/testsuite/gcc.dg/pr44606.c
===================================================================
--- gcc/testsuite/gcc.dg/pr44606.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr44606.c	(working copy)
@@ -1,6 +1,7 @@
 /* PR target/44606 */
 /* { dg-do run } */
 /* { dg-options "-O2" } */
+/* { dg-skip-if "requires io" { freestanding } { "*" } { "" } }  */
 
 #include <stdio.h>
 
Index: gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/tree-ssa/nonzero-1.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdelete-null-pointer-checks" } */
+/* { dg-require-weak "" } */
 
 /* { dg-skip-if "" keeps_null_pointer_checks } */
 extern int a; /* { dg-error "declared weak after being used" } */
Index: gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/tree-ssa/ssa-lim-11.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fprofile-arcs -fdump-tree-lim1-details" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 struct thread_param
 {
Index: gcc/testsuite/gcc.dg/pr51990.c
===================================================================
--- gcc/testsuite/gcc.dg/pr51990.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr51990.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2" } */
+/* { dg-require-effective-target alloca } */
 
 int
 zzz (char *s1, char *s2, int len, int *q)
Index: gcc/testsuite/gcc.dg/pr63748.c
===================================================================
--- gcc/testsuite/gcc.dg/pr63748.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr63748.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -Wall" } */
+/* { dg-require-effective-target nonlocal_goto } */
 
 #include <setjmp.h>
 
Index: gcc/testsuite/gcc.dg/gomp/pr34610.c
===================================================================
--- gcc/testsuite/gcc.dg/gomp/pr34610.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/gomp/pr34610.c	(working copy)
@@ -1,6 +1,7 @@
 /* PR gcov-profile/34610 */
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprofile-arcs -fopenmp" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 extern void bar (int);
 extern void baz (int) __attribute__((noreturn));
Index: gcc/testsuite/gcc.dg/pr54121.c
===================================================================
--- gcc/testsuite/gcc.dg/pr54121.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr54121.c	(working copy)
@@ -3,6 +3,7 @@
 
 /* { dg-do compile { target fpic } } */
 /* { dg-options "-std=gnu99 -O -fPIC -fprofile-generate" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 typedef __SIZE_TYPE__ size_t;
 typedef unsigned char uint8_t;
Index: gcc/testsuite/gcc.dg/20020312-2.c
===================================================================
--- gcc/testsuite/gcc.dg/20020312-2.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/20020312-2.c	(working copy)
@@ -7,6 +7,7 @@
 
 /* { dg-do run } */
 /* { dg-options "-O -fno-pic" } */
+/* { dg-require-effective-target nonlocal_goto } */
 
 extern void abort (void);
 
Index: gcc/testsuite/gcc.dg/20050325-1.c
===================================================================
--- gcc/testsuite/gcc.dg/20050325-1.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/20050325-1.c	(working copy)
@@ -2,6 +2,7 @@
 
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprofile-arcs" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 extern int *g (int x, void* y);
 extern void fg (long long x, int y);
Index: gcc/testsuite/gcc.dg/pr66899.c
===================================================================
--- gcc/testsuite/gcc.dg/pr66899.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr66899.c	(working copy)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-Os -fprofile-arcs" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 struct
 {
Index: gcc/testsuite/gcc.dg/pr48770.c
===================================================================
--- gcc/testsuite/gcc.dg/pr48770.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr48770.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target fpic } */
 /* { dg-options "-O -fprofile-arcs -fPIC -fno-dce -fno-forward-propagate" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 int test_goto2 (int f)
 {
Index: gcc/testsuite/gcc.dg/pr24225.c
===================================================================
--- gcc/testsuite/gcc.dg/pr24225.c	(revision 227123)
+++ gcc/testsuite/gcc.dg/pr24225.c	(working copy)
@@ -2,6 +2,7 @@
    statements around s[b].  */
 /* { dg-do compile } */
 /* { dg-options "-O1 -fprofile-arcs" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 
 int
 foo (int a, int b)
Index: gcc/testsuite/gcc.misc-tests/options.exp
===================================================================
--- gcc/testsuite/gcc.misc-tests/options.exp	(revision 227123)
+++ gcc/testsuite/gcc.misc-tests/options.exp	(working copy)
@@ -21,6 +21,12 @@
 
 load_lib gcc-defs.exp
 
+# disable for non-profile targets explitly, rather than
+# rely on check-effective target.  We're explicitly trying to check
+# profiling works, and if it doesn't check-effective-target will
+# simply skip the tests, rather than have this test shout at us.
+if [ istarget "nvptx-*-*" ] { return 0 }
+
 # These tests don't run runtest_file_p consistently if it
 # doesn't return the same values, so disable parallelization
 # of this *.exp file.  The first parallel runtest to reach
