[testsuite] (committed) fix dg-require-effective-target, tests that use it incorrectly

Janis Johnson janis187@us.ibm.com
Tue Aug 12 22:17:00 GMT 2008


Yesterday Dominique Dhumieres asked if it's valid to use an expression
of effective-target keywords for dg-require-effective-target; it turns
out it's not.  This patch changes three tests that used that construct
to instead use dg-skip-if, and modifies dg-require-effective-target to
recognize an invalid argument list.  Tested on x86_64-linux and
checked in on trunk.

2008-08-12  Janis Johnson  <janis187@us.ibm.com>

	* gcc.target/i386/pr32000-2.c: Use dg-skip-if for target expression.
	* gcc.target/i386/stackalign/return-3.c: Ditto.
	* gcc.target/sparc/ultrasp3.c: Ditto.
	* lib/target-supports-dg.exp (dg-require-effective-target): Error
	if argument is not a single effective-target keyword.

Index: gcc/testsuite/gcc.target/i386/pr32000-2.c
===================================================================
--- gcc/testsuite/gcc.target/i386/pr32000-2.c	(revision 139019)
+++ gcc/testsuite/gcc.target/i386/pr32000-2.c	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-require-effective-target ilp32 && dfp } */
+/* { dg-skip-if "" { ! { ilp32 && dfp } } } */
 /* { dg-options "-O -msse2 -std=gnu99 -mpreferred-stack-boundary=2" } */
 
 #include "sse2-check.h"
Index: gcc/testsuite/gcc.target/i386/stackalign/return-3.c
===================================================================
--- gcc/testsuite/gcc.target/i386/stackalign/return-3.c	(revision 139019)
+++ gcc/testsuite/gcc.target/i386/stackalign/return-3.c	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-require-effective-target ilp32 && dfp } */
+/* { dg-skip-if "" { ! { ilp32 && dfp } } } */
 /* { dg-options "-msse -std=gnu99 -mpreferred-stack-boundary=2" } */
 
 /* This compile only test is to detect an assertion failure in stack branch
Index: gcc/testsuite/gcc.target/sparc/ultrasp3.c
===================================================================
--- gcc/testsuite/gcc.target/sparc/ultrasp3.c	(revision 139019)
+++ gcc/testsuite/gcc.target/sparc/ultrasp3.c	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-do run } */
-/* { dg-require-effective-target ilp32 && ultrasparc_hw } */
+/* { dg-skip-if "" { ! { ilp32 && ultrasparc_hw } } } */
 /* { dg-options "-mcpu=ultrasparc -mv8plus" } */
 
 extern void abort (void);
Index: gcc/testsuite/lib/target-supports-dg.exp
===================================================================
--- gcc/testsuite/lib/target-supports-dg.exp	(revision 139019)
+++ gcc/testsuite/lib/target-supports-dg.exp	(working copy)
@@ -117,6 +117,9 @@ proc dg-require-named-sections { args } 
 
 proc dg-require-effective-target { args } {
     set args [lreplace $args 0 0]
+    if { [llength $args] != 1 } {
+	error "syntax error, need a single effective-target keyword"
+    }
     if { ![is-effective-target [lindex $args 0]] } {
 	upvar dg-do-what dg-do-what
         set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]




More information about the Gcc-patches mailing list