[avr,testsuite,committed] Skip test that fail for avr for this or that reason.
Checks
Commit Message
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.
return 1
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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);
@@ -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);
@@ -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;
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);
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>
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>
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>
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>
b/gcc/testsuite/gcc.dg/torture/fp-int-convert-long-double.c
@@ -2,6 +2,7 @@
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do run } */
/* { dg-options "" } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */
#include <float.h>
#include "fp-int-convert.h"
b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode.c
@@ -2,6 +2,7 @@
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do run } */
/* { dg-options "" } */
+/* { dg-skip-if "double support is incomplete" { "avr-*-*" } } */
#include <float.h>
#include "fp-int-convert.h"
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
}