The patch below fixes some obvious problems in gcc.target/avr:
* Remove duplicate -mmcu=
* Skip tests with address spaces on Reduced Tiny which does not support
address spaces at all.
* Address spaces are GNU-C, but some tests were missing -std=gnu*
* Don't test address-space __flash1 on devices that don't have it.
Johann
--
AVR: Fix some test options. Skip tests with address-space on Reduced Tiny.
gcc/testsuite/
* gcc.target/avr/lra-cpymem_qi.c: Remove duplicate -mmcu=.
* gcc.target/avr/lra-elim.c: Same.
* gcc.target/avr/pr112830.c: Skip for Reduced Tiny.
* gcc.target/avr/pr46779-1.c: Same.
* gcc.target/avr/pr46779-2.c: Same.
* gcc.target/avr/pr86869.c: Skip for Reduced Tiny and add -std=gnu99
for GNU-C due to address spaces.
* gcc.target/avr/pr89270.c: Same.
* gcc.target/avr/torture/builtins-2-flash.c: Only test address
space __flash1 if we have it.
* gcc.target/avr/torture/addr-space-1-1.c: Same.
* gcc.target/avr/torture/addr-space-2-1.c: Same.diff --git a/gcc/testsuite/gcc.target/avr/lra-cpymem_qi.c b/gcc/testsuite/gcc.target/avr/lra-cpymem_qi.c
index fdffb445b45..31cf2003c43 100644
--- a/gcc/testsuite/gcc.target/avr/lra-cpymem_qi.c
+++ b/gcc/testsuite/gcc.target/avr/lra-cpymem_qi.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-mmcu=avr51 -Os" } */
+/* { dg-options "-Os" } */
#include <stdbool.h>
diff --git a/gcc/testsuite/gcc.target/avr/lra-elim.c b/gcc/testsuite/gcc.target/avr/lra-elim.c
index d5086a7fd5d..8d5dbf8ac4e 100644
--- a/gcc/testsuite/gcc.target/avr/lra-elim.c
+++ b/gcc/testsuite/gcc.target/avr/lra-elim.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-mmcu=avr25 -Os" } */
+/* { dg-options "-Os" } */
typedef int HItype __attribute__ ((mode (HI)));
HItype
diff --git a/gcc/testsuite/gcc.target/avr/pr112830.c b/gcc/testsuite/gcc.target/avr/pr112830.c
index c305daed06c..dd70dd0ea39 100644
--- a/gcc/testsuite/gcc.target/avr/pr112830.c
+++ b/gcc/testsuite/gcc.target/avr/pr112830.c
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { ! avr_tiny } } } */
/* { dg-options "" } */
typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/gcc.target/avr/pr46779-1.c b/gcc/testsuite/gcc.target/avr/pr46779-1.c
index 24522f175be..e3e0b292114 100644
--- a/gcc/testsuite/gcc.target/avr/pr46779-1.c
+++ b/gcc/testsuite/gcc.target/avr/pr46779-1.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target { ! avr_tiny } } } */
/* { dg-options "-Os -fsplit-wide-types" } */
/* This testcase should uncover bugs like
diff --git a/gcc/testsuite/gcc.target/avr/pr46779-2.c b/gcc/testsuite/gcc.target/avr/pr46779-2.c
index 682070b5ef9..557cc749c75 100644
--- a/gcc/testsuite/gcc.target/avr/pr46779-2.c
+++ b/gcc/testsuite/gcc.target/avr/pr46779-2.c
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target { ! avr_tiny } } } */
/* { dg-options "-Os -fno-split-wide-types" } */
/* This testcase should uncover bugs like
diff --git a/gcc/testsuite/gcc.target/avr/pr86869.c b/gcc/testsuite/gcc.target/avr/pr86869.c
index fbfb378e8c9..a5de4cc6510 100644
--- a/gcc/testsuite/gcc.target/avr/pr86869.c
+++ b/gcc/testsuite/gcc.target/avr/pr86869.c
@@ -1,4 +1,5 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { ! avr_tiny } } } */
+/* { dg-additional-options "-std=gnu99 -w" } */
struct S {
char y[2];
diff --git a/gcc/testsuite/gcc.target/avr/pr89270.c b/gcc/testsuite/gcc.target/avr/pr89270.c
index 2b6e4a8aa5b..5b43218eddb 100644
--- a/gcc/testsuite/gcc.target/avr/pr89270.c
+++ b/gcc/testsuite/gcc.target/avr/pr89270.c
@@ -1,4 +1,5 @@
-/* { dg-do compile } */
+/* { dg-do compile { target { ! avr_tiny } } } */
+/* { dg-additional-options "-std=gnu99" } */
void test()
{
diff --git a/gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c b/gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c
index e90bdcb5bfb..4812f67e2f1 100644
--- a/gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c
+++ b/gcc/testsuite/gcc.target/avr/torture/addr-space-1-1.c
@@ -1,6 +1,10 @@
/* { dg-options "-std=gnu99 -Tavr51-flash1.x" } */
/* { dg-do run { target { ! avr_tiny } } } */
+#ifdef __FLASH1
#define __as __flash1
+#else
+#define __as __flash
+#endif
#include "addr-space-1.h"
diff --git a/gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c b/gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c
index 327124aff27..d5fcf0a5520 100644
--- a/gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c
+++ b/gcc/testsuite/gcc.target/avr/torture/addr-space-2-1.c
@@ -1,6 +1,10 @@
/* { dg-options "-std=gnu99 -Tavr51-flash1.x" } */
/* { dg-do run { target { ! avr_tiny } } } */
+#ifdef __FLASH1
#define __as __flash1
+#else
+#define __as __flash
+#endif
#include "addr-space-2.h"
diff --git a/gcc/testsuite/gcc.target/avr/torture/builtins-2-flash.c b/gcc/testsuite/gcc.target/avr/torture/builtins-2-flash.c
index 318551d5ccf..11dba67b85a 100644
--- a/gcc/testsuite/gcc.target/avr/torture/builtins-2-flash.c
+++ b/gcc/testsuite/gcc.target/avr/torture/builtins-2-flash.c
@@ -4,7 +4,9 @@
#include <stdlib.h>
const __flash char c0 = 1;
+#ifdef __FLASH1
const __flash1 char c1 = 1;
+#endif
int main (void)
{
@@ -14,9 +16,11 @@ int main (void)
if (__builtin_avr_flash_segment (p) != 0)
abort();
+#ifdef __FLASH1
p = &c1;
if (__builtin_avr_flash_segment (p) != 1)
abort();
+#endif
if (__builtin_avr_flash_segment ("p") != -1)
abort();