This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[testsuite] Adding missing dg-require-profiling directives


Several profiling tests fail for MIPS16.  The problem is that MIPS has
native TLS support, but the ABI has not "yet" been extended to MIPS16.
MIPS16 is supposed to be link-compatible with non-MIPS16, so we can't
use emultls, and must simply say sorry().

This patch adds dg-require-profiling to the affected tests.  The reason
I haven't just applied it as obvious is that dg-require-profiling really
seems to be a test for link-time and runtime support.  There are presumably
targets that can't link profiling code but that are nevertheless happily
compiling the tests below.  So do we want to split the directive into two?
I ask the question while hoping the answer is "no". :-)

Tested on mips64-linux-gnu.  The tests still run for normal MIPS,
but are skipped for MIPS16.

Richard


gcc/testsuite/
	* g++.dg/debug/pr46338.C: Add dg-require-profiling.
	* g++.dg/torture/pr39732.C: Likewise.
	* g++.dg/torture/pr40642.C: Likewise.
	* gcc.c-torture/compile/pr44686.c: Likewise.
	* gcc.dg/20050309-1.c: Likewise.
	* gcc.dg/20050330-2.c: Likewise.
	* gcc.dg/20051201-1.c: Likewise.
	* gcc.dg/gomp/pr27573.c: Likewise.
	* gcc.dg/pr46255.c: Likewise.
	* gcc.dg/profile-dir-1.c: Likewise.
	* gcc.dg/profile-dir-2.c: Likewise.
	* gcc.dg/profile-dir-3.c: Likewise.
	* gcc.dg/profile-generate-1.c: Likewise.
	* gfortran.dg/gomp/pr27573.f90: Likewise.
	* gcc.dg/profile-generate-3.c: Be specific about the type of
	profiling required.

Index: gcc/testsuite/g++.dg/debug/pr46338.C
===================================================================
--- gcc/testsuite/g++.dg/debug/pr46338.C	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/g++.dg/debug/pr46338.C	2011-12-04 11:24:50.000000000 +0000
@@ -1,5 +1,6 @@
 // PR debug/46338
 // { dg-do compile }
+// { dg-require-profiling "-fprofile-generate" }
 // { dg-options "-O -fprofile-generate -fcompare-debug" }
 
 void bar ();
Index: gcc/testsuite/g++.dg/torture/pr39732.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr39732.C	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/g++.dg/torture/pr39732.C	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-fprofile-generate" } */
 
 template<class _CharT>     struct char_traits;
Index: gcc/testsuite/g++.dg/torture/pr40642.C
===================================================================
--- gcc/testsuite/g++.dg/torture/pr40642.C	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/g++.dg/torture/pr40642.C	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 // { dg-do compile }
+/* { dg-require-profiling "-fprofile-generate" } */
 // { dg-options "-fprofile-generate" }
 
 // GCC used to ICE with some EH edge missing.
Index: gcc/testsuite/gcc.c-torture/compile/pr44686.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/pr44686.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.c-torture/compile/pr44686.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,3 +1,4 @@
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-fipa-pta -fprofile-generate" } */
 void *
 memcpy (void *a, const void *b, __SIZE_TYPE__ len)
Index: gcc/testsuite/gcc.dg/20050309-1.c
===================================================================
--- gcc/testsuite/gcc.dg/20050309-1.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/20050309-1.c	2011-12-04 11:24:50.000000000 +0000
@@ -2,6 +2,7 @@
    output reloads.  */
 
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O2 -fprofile-generate" } */
 
 char *
Index: gcc/testsuite/gcc.dg/20050330-2.c
===================================================================
--- gcc/testsuite/gcc.dg/20050330-2.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/20050330-2.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O2 -fprofile-generate" } */
 
 struct S
Index: gcc/testsuite/gcc.dg/20051201-1.c
===================================================================
--- gcc/testsuite/gcc.dg/20051201-1.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/20051201-1.c	2011-12-04 11:24:50.000000000 +0000
@@ -2,6 +2,7 @@
    tree_flow_call_edges_add.  */
 
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O1 -fprofile-generate -Wno-attributes" } */
 
 static __attribute__ ((always_inline)) void 
Index: gcc/testsuite/gcc.dg/gomp/pr27573.c
===================================================================
--- gcc/testsuite/gcc.dg/gomp/pr27573.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/gomp/pr27573.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,5 +1,6 @@
 /* PR middle-end/27573 */
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O2 -fopenmp -fprofile-generate" } */
 
 extern int puts (const char *);
Index: gcc/testsuite/gcc.dg/pr46255.c
===================================================================
--- gcc/testsuite/gcc.dg/pr46255.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/pr46255.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,5 +1,6 @@
 /* PR debug/46255 */
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-fcompare-debug -fprofile-generate -O" } */
 
 int bar (void);
Index: gcc/testsuite/gcc.dg/profile-dir-1.c
===================================================================
--- gcc/testsuite/gcc.dg/profile-dir-1.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/profile-dir-1.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O -fprofile-generate=. -fdump-ipa-cgraph" } */
 /* { dg-final { scan-ipa-dump " ./profile-dir-1.gcda" "cgraph" } } */
 
Index: gcc/testsuite/gcc.dg/profile-dir-2.c
===================================================================
--- gcc/testsuite/gcc.dg/profile-dir-2.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/profile-dir-2.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O -fprofile-generate -fdump-ipa-cgraph" } */
 /* { dg-final { scan-ipa-dump "/profile-dir-2.gcda" "cgraph" } } */
 
Index: gcc/testsuite/gcc.dg/profile-dir-3.c
===================================================================
--- gcc/testsuite/gcc.dg/profile-dir-3.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/profile-dir-3.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O -fprofile-generate -fprofile-dir=. -fdump-ipa-cgraph" } */
 /* { dg-final { scan-ipa-dump " ./profile-dir-3.gcda" "cgraph" } } */
 
Index: gcc/testsuite/gcc.dg/profile-generate-1.c
===================================================================
--- gcc/testsuite/gcc.dg/profile-generate-1.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/profile-generate-1.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,4 +1,5 @@
 /* Bug 16325.  */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-O -fprofile-generate" } */
 
 extern void abort (void);
Index: gcc/testsuite/gfortran.dg/gomp/pr27573.f90
===================================================================
--- gcc/testsuite/gfortran.dg/gomp/pr27573.f90	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gfortran.dg/gomp/pr27573.f90	2011-12-04 11:24:50.000000000 +0000
@@ -1,5 +1,6 @@
 ! PR middle-end/27573
 ! { dg-do compile }
+! { dg-require-profiling "-fprofile-generate" }
 ! { dg-options "-O2 -fopenmp -fprofile-generate" }
 
 program pr27573
Index: gcc/testsuite/gcc.dg/profile-generate-3.c
===================================================================
--- gcc/testsuite/gcc.dg/profile-generate-3.c	2011-12-04 08:52:27.000000000 +0000
+++ gcc/testsuite/gcc.dg/profile-generate-3.c	2011-12-04 11:24:50.000000000 +0000
@@ -1,5 +1,5 @@
 /* { dg-do link } */
-/* { dg-require-profiling "" } */
+/* { dg-require-profiling "-fprofile-generate" } */
 /* { dg-options "-fprofile-generate=." } */
 
 int


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]