RFA: Testsuite caching fixes

Richard Sandiford rsandifo@nildram.co.uk
Sun Dec 9 12:08:00 GMT 2007


"Andrew Pinski" <pinskia@gmail.com> writes:
> On 11/26/07, Richard Sandiford <rsandifo@nildram.co.uk> wrote:
>> The TLS tests fail on mipsisa64-elfoabi if the first subtarget uses
>> the default flags and the second uses -mips16.  We cache the results
>> for the first run and then (wrongly) reuse them for the second.
>
> I think this caused a few failures on i686-darwin (with non "native"
> TLS support):
> FAIL: gcc.dg/tls/opt-4.c scan-assembler tcc1@
> FAIL: gcc.dg/tls/opt-4.c scan-assembler tcc2@
> FAIL: gcc.dg/tls/opt-4.c scan-assembler-not tcc1[^@]
> FAIL: gcc.dg/tls/opt-4.c scan-assembler-not tcc2[^@]
> FAIL: gcc.dg/tls/section-1.c conflict with user-defined section (test
> for errors, line 12)
>
> They all have:
> /* { dg-require-effective-target tls_native } */
>
> But i386-darwin does not have native TLS support so they should not be
> tested there.

Argh!  Sorry, this was a stupid typo: "emutls" mutated to "emultls".

I built a mipsisa64-elfoabi compiler with HAVE_AS_TLS set to false,
and saw that the tests were indeed still running before the patch
(they actually passed too).  They were correctly marked as unsupported
after the patch.  I then built a normal mipsisa64-elfoabi compiler
and checked that the tests were still running as intended there.
Applied as obvious.

Richard


gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_tls_native):
	Fix typo.

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp	(revision 130709)
+++ gcc/testsuite/lib/target-supports.exp	(working copy)
@@ -481,7 +481,7 @@ proc check_effective_target_tls {} {
 # This won't change for different subtargets so cache the result.
 
 proc check_effective_target_tls_native {} {
-    return [check_no_messages_and_pattern tls_native "!emultls" assembly {
+    return [check_no_messages_and_pattern tls_native "!emutls" assembly {
 	__thread int i;
 	int f (void) { return i; }
 	void g (int j) { i = j; }



More information about the Gcc-patches mailing list