public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [testsuite, ada] Compile gnat.dg effective-target checks with gcc_target_compile
@ 2010-11-25 23:41 Rainer Orth
  2010-11-26 12:45 ` Eric Botcazou
  0 siblings, 1 reply; 2+ messages in thread
From: Rainer Orth @ 2010-11-25 23:41 UTC (permalink / raw)
  To: gcc-patches; +Cc: Eric Botcazou

I've finally gotten around to properly test my patch to make
dg-require-effective-target work with the gnat.dg testsuite.  Unlike
any other language, the gnat_target_compile function only works with Ada
code, not invoking e.g. the C compiler for other input.

I'm fixing this by explicitly calling gcc_target_compile in
gnat_target_compile for *.c files.

Removing dg-require-effective-target sse from loop_optimization7.adb was
the right thing to do anyway, since as a compile test it's immaterial
whether the assembler can handle SSE.  

On the other hand, sse_nolib.adb, as a run test, requires sse_runtime,
as this patch adds.

Tested with the appropriate runtest invocations on i386-pc-solaris2.8,
where loop_optimization7.adb continues to pass, while sse_nolib.adb
becomes unsupported since O/S support is missing.  On
i386-pc-solaris2.11, both tests pass.

Ok for mainline and the 4.5 branch?

	Rainer


2010-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* lib/gnat.exp: Load gcc.exp.
	(gnat_target_compile): Use gcc_target_compile for *.c sources.
	* gnat.dg/sse_nolib.adb: Use dg-require-effective-target sse_runtime.

diff -r 736a64c64f6c gcc/testsuite/lib/gnat.exp
--- a/gcc/testsuite/lib/gnat.exp	Sun Nov 14 23:15:14 2010 +0100
+++ b/gcc/testsuite/lib/gnat.exp	Sat Nov 20 11:17:15 2010 +0100
@@ -27,6 +27,7 @@
 load_lib libgloss.exp
 load_lib prune.exp
 load_lib gcc-defs.exp
+load_lib gcc.exp
 load_lib timeout.exp
 
 #
@@ -132,6 +133,11 @@
     global gnat_libgcc_s_path
     global gnat_target_current
 
+    # dg-require-effective-target tests must be compiled as C.
+    if [ string match "*.c" $source ] then {
+	return [gcc_target_compile $source $dest $type $options]
+    }
+
     # If we detect a change of target, we need to recompute both
     # GNAT_UNDER_TEST and the appropriate RTS.
     if { $gnat_target_current!="[current_target_name]" } {
diff -r 5fadddc44ec5 gcc/testsuite/gnat.dg/sse_nolib.adb
--- a/gcc/testsuite/gnat.dg/sse_nolib.adb	Tue Nov 23 12:22:55 2010 +0100
+++ b/gcc/testsuite/gnat.dg/sse_nolib.adb	Thu Nov 25 21:07:38 2010 +0100
@@ -1,6 +1,6 @@
 --  { dg-do run { target i?86-*-* x86_64-*-* } }
 --  { dg-options "-O1 -msse" }
+--  { dg-require-effective-target sse_runtime } 
 
 with Ada.Unchecked_Conversion;
 
-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [testsuite, ada] Compile gnat.dg effective-target checks with gcc_target_compile
  2010-11-25 23:41 [testsuite, ada] Compile gnat.dg effective-target checks with gcc_target_compile Rainer Orth
@ 2010-11-26 12:45 ` Eric Botcazou
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Botcazou @ 2010-11-26 12:45 UTC (permalink / raw)
  To: Rainer Orth; +Cc: gcc-patches

> I've finally gotten around to properly test my patch to make
> dg-require-effective-target work with the gnat.dg testsuite.  Unlike
> any other language, the gnat_target_compile function only works with Ada
> code, not invoking e.g. the C compiler for other input.

Indeed, because gnatmake doesn't know how to handle C files.

> 2010-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
>
> 	* lib/gnat.exp: Load gcc.exp.
> 	(gnat_target_compile): Use gcc_target_compile for *.c sources.
> 	* gnat.dg/sse_nolib.adb: Use dg-require-effective-target sse_runtime.

OK, thanks.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-11-26  9:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-25 23:41 [testsuite, ada] Compile gnat.dg effective-target checks with gcc_target_compile Rainer Orth
2010-11-26 12:45 ` Eric Botcazou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).