Hi,

Some error tests were forcing assembly output incorrectly, and none of them had
an explanation for why they were using -ffat-lto-objects.

This patch removes dg-skip-if's for -fno-fat-lto-objects and
adds -ffat-lto-objects to the test options instead.
It also adds an explanation for the purpose of -ffat-lto-objects in each test.

Tested with mips-mti-elf.

Regards,
Toma

gcc/testsuite/ChangeLog:

        * gcc.target/mips/oddspreg-2.c (dg-options): Remove dg-skip-if for
        -fno-fat-lto-objects and add the -ffat-lto-objects option, along with
        an explanation for its purpose.
        * gcc.target/mips/oddspreg-3.c (dg-options): Likewise.
        * gcc.target/mips/oddspreg-6.c (dg-options): Likewise.
        * gcc.target/mips/no-dsp-1.c: Add an explanation for the purpose of
        -ffat-lto-objects.
        * gcc.target/mips/pr54240.c: Likewise.
        * gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
        * gcc.target/mips/soft-float-1.c: Likewise.

diff --git a/gcc/testsuite/gcc.target/mips/no-dsp-1.c 
b/gcc/testsuite/gcc.target/mips/no-dsp-1.c
index c4a7b0a..f03f239 100644
--- a/gcc/testsuite/gcc.target/mips/no-dsp-1.c
+++ b/gcc/testsuite/gcc.target/mips/no-dsp-1.c
@@ -1,4 +1,7 @@
 /* { dg-options "-mno-dsp -ffat-lto-objects" } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 void
 foo (void)
diff --git a/gcc/testsuite/gcc.target/mips/oddspreg-2.c 
b/gcc/testsuite/gcc.target/mips/oddspreg-2.c
index efeb0af..1a85737 100644
--- a/gcc/testsuite/gcc.target/mips/oddspreg-2.c
+++ b/gcc/testsuite/gcc.target/mips/oddspreg-2.c
@@ -1,6 +1,8 @@
 /* Check that we disable odd-numbered single precision registers.  */
-/* { dg-skip-if "needs asm output" { *-*-* } { "-fno-fat-lto-objects" } { "" } 
} */
-/* { dg-options "-mabi=32 -mno-odd-spreg -mhard-float" } */
+/* { dg-options "-mabi=32 -mno-odd-spreg -mhard-float -ffat-lto-objects" } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 NOMIPS16 void
 foo ()
diff --git a/gcc/testsuite/gcc.target/mips/oddspreg-3.c 
b/gcc/testsuite/gcc.target/mips/oddspreg-3.c
index 8a0d85c..16a2f03 100644
--- a/gcc/testsuite/gcc.target/mips/oddspreg-3.c
+++ b/gcc/testsuite/gcc.target/mips/oddspreg-3.c
@@ -1,6 +1,8 @@
 /* Check that we disable odd-numbered single precision registers.  */
-/* { dg-skip-if "needs asm output" { *-*-* } { "-fno-fat-lto-objects" } { "" } 
} */
-/* { dg-options "-mabi=32 -mfp32 -march=loongson3a -mhard-float" } */
+/* { dg-options "-mabi=32 -mfp32 -march=loongson3a -mhard-float 
-ffat-lto-objects" } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 NOMIPS16 void
 foo ()
diff --git a/gcc/testsuite/gcc.target/mips/oddspreg-6.c 
b/gcc/testsuite/gcc.target/mips/oddspreg-6.c
index eb376c6..53ac076 100644
--- a/gcc/testsuite/gcc.target/mips/oddspreg-6.c
+++ b/gcc/testsuite/gcc.target/mips/oddspreg-6.c
@@ -1,6 +1,8 @@
 /* Check that we disable odd-numbered single precision registers for FPXX.  */
-/* { dg-skip-if "needs asm output" { *-*-* } { "-fno-fat-lto-objects" } { "" } 
} */
-/* { dg-options "-mabi=32 -mfpxx -mhard-float" } */
+/* { dg-options "-mabi=32 -mfpxx -mhard-float -ffat-lto-objects" } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 NOMIPS16 void
 foo ()
diff --git a/gcc/testsuite/gcc.target/mips/pr54240.c 
b/gcc/testsuite/gcc.target/mips/pr54240.c
index 2d55b82..d3976f6 100644
--- a/gcc/testsuite/gcc.target/mips/pr54240.c
+++ b/gcc/testsuite/gcc.target/mips/pr54240.c
@@ -1,6 +1,9 @@
 /* { dg-do compile } */
 /* { dg-options "-fdump-tree-phiopt-details -ffat-lto-objects isa>=4" } */
 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" "-O1" } { "" } } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 typedef struct s {
   int v;
diff --git a/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c 
b/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
index 92c37f4..ecb4158 100644
--- a/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
+++ b/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
@@ -1,5 +1,8 @@
 /* { dg-options "(-mips16) -mr10k-cache-barrier=store -ffat-lto-objects" } */
 
 /* Test that indirect calls are protected.  */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 MIPS16 void foo (void) { } /* { dg-message "sorry, unimplemented" } */
diff --git a/gcc/testsuite/gcc.target/mips/soft-float-1.c 
b/gcc/testsuite/gcc.target/mips/soft-float-1.c
index 855ff8e..e6db3e2 100644
--- a/gcc/testsuite/gcc.target/mips/soft-float-1.c
+++ b/gcc/testsuite/gcc.target/mips/soft-float-1.c
@@ -1,4 +1,7 @@
 /* { dg-options "-msoft-float -ffat-lto-objects" } */
+/* This is testing for errors which can only happen in assembly generation.
+   dg-error does not guarantee assembly generation, so we need to do it
+   manually by using -ffat-lto-objects.  */
 
 void
 foo (void)

Reply via email to