This annotates some tests that won't work for AVR like:

* asm goto with output reload (AVR is not lra).

* Using a program address as a ram address.

* Float related stuff: AVR double is 32-bit, and long double
  is incomplete (some functions missing, no signed zeros, etc.)

Applied as obvious.

Johann

--

    Skip some tests that won't work for target AVR.

    gcc/testsuite/
* lib/target-supports.exp (check_effective_target_lra) [avr]: Return 0.
            * gcc.dg/pr19402-2.c: Skip for avr.
            * gcc.dg/pr86124.c: Same.
            * gcc.dg/pr94291.c: Same.
            * gcc.dg/torture/builtin-complex-1.c: Same.
            * gcc.dg/torture/fp-int-convert-float32x-timode.c: Same.
            * gcc.dg/torture/fp-int-convert-float32x.c: Same.
            * gcc.dg/torture/fp-int-convert-float64-timode.c: Same.
            * gcc.dg/torture/fp-int-convert-float64.c: Same.
            * gcc.dg/torture/fp-int-convert-long-double.c: Same.
            * gcc.dg/torture/fp-int-convert-timode.c: Same.
            * c-c++-common/torture/builtin-convertvector-1.c: Same.
            * c-c++-common/torture/complex-sign-add.c: Same.
            * c-c++-common/torture/complex-sign-mixed-add.c: Same.
            * c-c++-common/torture/complex-sign-mixed-div.c: Same.
            * c-c++-common/torture/complex-sign-mixed-mul.c: Same.
            * c-c++-common/torture/complex-sign-mixed-sub.c: Same.
            * c-c++-common/torture/complex-sign-mul-minus-one.c: Same.
            * c-c++-common/torture/complex-sign-mul-one.c: Same.
            * c-c++-common/torture/complex-sign-mul.c: Same.
            * c-c++-common/torture/complex-sign-sub.c: Same.

diff --git a/gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c b/gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
index 347dda7692d..fababf1a9eb 100644
--- a/gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
+++ b/gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */
+
 extern
 #ifdef __cplusplus
 "C"
diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-add.c b/gcc/testsuite/c-c++-common/torture/complex-sign-add.c
index e81223224dc..c1e7886a0df 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-add.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-add.c
@@ -2,6 +2,7 @@
    addition.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
index a209161e157..36d305baf53 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-add.c
@@ -3,6 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
/* { dg-skip-if "ptx can elide zero additions" { "nvptx-*-*" } { "-O0" } { "" } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-div.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-div.c
index f7ee48341c0..a37074bb3b9 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-div.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-div.c
@@ -2,6 +2,7 @@
    division.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-mul.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-mul.c
index 02f936b75bd..1e528b986c5 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-mul.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-mul.c
@@ -2,6 +2,7 @@
    multiplication.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
index 02ab4db247c..63c75dfdff2 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mixed-sub.c
@@ -3,6 +3,7 @@
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
/* { dg-skip-if "ptx can elide zero additions" { "nvptx-*-*" } { "-O0" } { "" } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mul-minus-one.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mul-minus-one.c
index 05cc4fabea4..f8abdd00e2e 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mul-minus-one.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mul-minus-one.c
@@ -2,6 +2,7 @@
    multiplication with -1.0 + 0.0i.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mul-one.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mul-one.c
index 014d813e99e..f10248cf6bb 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mul-one.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mul-one.c
@@ -2,6 +2,7 @@
    multiplication with 1.0 + 0.0i.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-mul.c b/gcc/testsuite/c-c++-common/torture/complex-sign-mul.c
index 08d247aa5c0..fc779842885 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-mul.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-mul.c
@@ -2,6 +2,7 @@
    multiplication.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/c-c++-common/torture/complex-sign-sub.c b/gcc/testsuite/c-c++-common/torture/complex-sign-sub.c
index d4da14dc5f5..400bfb8cd67 100644
--- a/gcc/testsuite/c-c++-common/torture/complex-sign-sub.c
+++ b/gcc/testsuite/c-c++-common/torture/complex-sign-sub.c
@@ -2,6 +2,7 @@
    subtraction.  */
 /* { dg-do run } */
 /* { dg-options "-std=gnu99" { target c } } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include "complex-sign.h"

diff --git a/gcc/testsuite/gcc.dg/pr19402-2.c b/gcc/testsuite/gcc.dg/pr19402-2.c
index 1902227a6e0..24f1d85b58f 100644
--- a/gcc/testsuite/gcc.dg/pr19402-2.c
+++ b/gcc/testsuite/gcc.dg/pr19402-2.c
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-fno-inline -Os" } */
+/* { dg-skip-if "long double support is incomplete" { "avr-*-*" } } */

 void abort(void);

diff --git a/gcc/testsuite/gcc.dg/pr86124.c b/gcc/testsuite/gcc.dg/pr86124.c
index 218b48295f7..c8a66ffbfb4 100644
--- a/gcc/testsuite/gcc.dg/pr86124.c
+++ b/gcc/testsuite/gcc.dg/pr86124.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fipa-pta" } */
+/* { dg-skip-if "acessing data memory with program memory address" { "avr-*-*" } } */

 extern void a (void);

diff --git a/gcc/testsuite/gcc.dg/pr94291.c b/gcc/testsuite/gcc.dg/pr94291.c
index 7daa2b01166..7d9331b391f 100644
--- a/gcc/testsuite/gcc.dg/pr94291.c
+++ b/gcc/testsuite/gcc.dg/pr94291.c
@@ -1,6 +1,7 @@
 /* PR rtl-optimization/94291 */
 /* { dg-do compile } */
 /* { dg-options "-Og" } */
+/* { dg-skip-if "accessing data memory with program memory address" { "avr-*-*" } } */

 unsigned a;

diff --git a/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c b/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c
index f0d3dd32cf5..8dc91a555a2 100644
--- a/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c
+++ b/gcc/testsuite/gcc.dg/torture/builtin-complex-1.c
@@ -3,6 +3,7 @@
 /* { dg-options "-std=c11 -pedantic-errors" } */
 /* { dg-require-effective-target inf } */
 /* { dg-add-options ieee } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 extern void exit (int);
 extern void abort (void);
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x-timode.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x-timode.c
index c3d3fa9ff7d..c9ed42ca31f 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x-timode.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x-timode.c
@@ -3,6 +3,7 @@
 /* { dg-options "" } */
 /* { dg-add-options float32x } */
 /* { dg-require-effective-target float32x_runtime } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #define __STDC_WANT_IEC_60559_TYPES_EXT__
 #include <float.h>
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x.c
index 8ea2eafe2f3..e799e9c3360 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float32x.c
@@ -3,6 +3,7 @@
 /* { dg-options "" } */
 /* { dg-add-options float32x } */
 /* { dg-require-effective-target float32x_runtime } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #define __STDC_WANT_IEC_60559_TYPES_EXT__
 #include <float.h>
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64-timode.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64-timode.c
index ecefa8120b8..16b4429805c 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64-timode.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64-timode.c
@@ -3,6 +3,7 @@
 /* { dg-options "" } */
 /* { dg-add-options float64 } */
 /* { dg-require-effective-target float64_runtime } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #define __STDC_WANT_IEC_60559_TYPES_EXT__
 #include <float.h>
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64.c
index 196d611493f..68d3363d5f4 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-float64.c
@@ -3,6 +3,7 @@
 /* { dg-options "" } */
 /* { dg-add-options float64 } */
 /* { dg-require-effective-target float64_runtime } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #define __STDC_WANT_IEC_60559_TYPES_EXT__
 #include <float.h>
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.c
index d8e5197f1d3..9492bc23c8f 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.c
@@ -2,6 +2,7 @@
 /* Origin: Joseph Myers <jos...@codesourcery.com> */
 /* { dg-do run } */
 /* { dg-options "" } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include <float.h>
 #include "fp-int-convert.h"
diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c
index 0ef3e545465..2fe3faab585 100644
--- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c
+++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c
@@ -2,6 +2,7 @@
 /* Origin: Joseph Myers <jos...@codesourcery.com> */
 /* { dg-do run } */
 /* { dg-options "" } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */

 #include <float.h>
 #include "fp-int-convert.h"
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 95cbb1afa16..bd9f432e4a7 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -12267,7 +12267,7 @@ proc check_effective_target_o_flag_in_section { } {
 # return 1 if LRA is supported.

 proc check_effective_target_lra { } {
-    if { [istarget hppa*-*-*] || [istarget cris-*-*] } {
+ if { [istarget hppa*-*-*] || [istarget cris-*-*] || [istarget avr-*-*] } {
        return 0
     }
     return 1

Reply via email to