From a21f9a561f960c29ded7af4269bad4bbedc5bfae Mon Sep 17 00:00:00 2001 From: Andy Hutchinson Date: Wed, 9 Apr 2008 23:58:39 +0000 Subject: [PATCH] re PR testsuite/34894 (Some compile tests require trampolines even when the target sets no_trampolines) 2008-04-09 Andy Hutchinson PR testsuite/34894 PR testsuite/33782 * lib/target-supports.dg: Add check_effective_target_trampolines. Disable profiling for avr-*-*. * gcc.c-torture/compile/pr27889.c: dg-requires trampolines. * gcc.c-torture/compile/nested-1.c: Ditto. * gcc.c-torture/compile/20050122-2.c: Ditto. * gcc.c-torture/compile/20010226-1.c: Ditto. * gcc.c-torture/compile/20010327-1.c: Skip for avr-*-*. * gcc.c-torture/compile/980506-1.c: Ditto. * gcc.c-torture/compile/20020604-1.c: Ditto. * gcc.c-torture/compile/limits-stringlit.c: Ditto * gcc.c-torture/compile/20001226-1.c: Ditto From-SVN: r134153 --- gcc/testsuite/ChangeLog | 16 ++++++++++++++++ gcc/testsuite/gcc.c-torture/compile/20001226-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20010226-1.c | 2 ++ gcc/testsuite/gcc.c-torture/compile/20010327-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20020604-1.c | 1 + gcc/testsuite/gcc.c-torture/compile/20050122-2.c | 2 ++ gcc/testsuite/gcc.c-torture/compile/980506-1.c | 1 + .../gcc.c-torture/compile/limits-stringlit.c | 2 ++ gcc/testsuite/gcc.c-torture/compile/nested-1.c | 2 ++ gcc/testsuite/gcc.c-torture/compile/pr27889.c | 2 ++ gcc/testsuite/lib/target-supports.exp | 16 ++++++++++++++++ 11 files changed, 46 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3e091a4ca7a3..c82950a3382a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2008-04-09 Andy Hutchinson + + PR testsuite/34894 + PR testsuite/33782 + * lib/target-supports.dg: Add check_effective_target_trampolines. + Disable profiling for avr-*-*. + * gcc.c-torture/compile/pr27889.c: dg-requires trampolines. + * gcc.c-torture/compile/nested-1.c: Ditto. + * gcc.c-torture/compile/20050122-2.c: Ditto. + * gcc.c-torture/compile/20010226-1.c: Ditto. + * gcc.c-torture/compile/20010327-1.c: Skip for avr-*-*. + * gcc.c-torture/compile/980506-1.c: Ditto. + * gcc.c-torture/compile/20020604-1.c: Ditto. + * gcc.c-torture/compile/limits-stringlit.c: Ditto + * gcc.c-torture/compile/20001226-1.c: Ditto + 2008-04-09 Jason Merrill PR c++/35708 diff --git a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c index ddea0aa0bdfb..cfcf546e157f 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20001226-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20001226-1.c @@ -2,6 +2,7 @@ than 64K. */ /* { dg-do assemble } */ /* { dg-xfail-if "function larger than 64K" { m6811-*-* } { "*" } { "" } } */ +/* { dg-skip-if "too much code for avr" { "avr-*-*" } { "*" } { "" } } */ /* { dg-xfail-if "jump beyond 128K not supported" { xtensa-*-* } { "-O0" } { "" } } */ /* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20010226-1.c b/gcc/testsuite/gcc.c-torture/compile/20010226-1.c index c06be53dc525..f25b48390d5a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20010226-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20010226-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target trampolines } */ + void f1 (void *); void f3 (void *, void (*)(void *)); void f2 (void *); diff --git a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c index 189990ade3f5..59639e6ed961 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c @@ -1,4 +1,5 @@ /* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */ +/* { dg-skip-if "HI mode pointer for avr" { "avr-*-*" } { "*" } { "" } } */ /* This testcase tests whether GCC can produce static initialized data that references addresses of size 'unsigned long', even if that's not diff --git a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c index 539b9f5b27f1..17b9b2165bac 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20020604-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/20020604-1.c @@ -1,5 +1,6 @@ /* { dg-do assemble } */ /* { dg-xfail-if "The array is too big" { "m6811-*-* m6812-*-*" } { "*" } { "" } } */ +/* { dg-skip-if "The array is too big" { "avr-*-*" } { "*" } { "" } } */ /* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */ /* { dg-skip-if "" { m32c-*-* } { } { } } */ diff --git a/gcc/testsuite/gcc.c-torture/compile/20050122-2.c b/gcc/testsuite/gcc.c-torture/compile/20050122-2.c index d73f6243ddd5..1e297be8cb6b 100644 --- a/gcc/testsuite/gcc.c-torture/compile/20050122-2.c +++ b/gcc/testsuite/gcc.c-torture/compile/20050122-2.c @@ -1,4 +1,6 @@ /* Related to PR 19484. */ +/* { dg-require-effective-target trampolines } */ + extern void foo (void) __attribute__((noreturn)); int n; diff --git a/gcc/testsuite/gcc.c-torture/compile/980506-1.c b/gcc/testsuite/gcc.c-torture/compile/980506-1.c index 619e18d05e46..5c22e7e508f9 100644 --- a/gcc/testsuite/gcc.c-torture/compile/980506-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/980506-1.c @@ -2,6 +2,7 @@ /* { dg-do assemble } */ /* { dg-require-effective-target size32plus } */ /* { dg-xfail-if "The array too big" { m6811-*-* m6812-*-* } { "*" } { "" } } /* +/* { dg-skip-if "Array too big" { "avr-*-*" } { "*" } { "" } } */ /* { dg-xfail-if "The array too big" { h8300-*-* } { "-mno-h" "-mn" } { "" } } */ unsigned char TIFFFax2DMode[20][256]; diff --git a/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c b/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c index 22dc19b3c6e7..5b52c83b0618 100644 --- a/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c +++ b/gcc/testsuite/gcc.c-torture/compile/limits-stringlit.c @@ -1,3 +1,5 @@ +/* { dg-skip-if "Array too big" { "avr-*-*" } { "*" } { "" } } */ + #define STR2 "012345678901234567890123456789012345678901234567890123456789\ 0123456789012345678901234567890123456789" #define STR3 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2 diff --git a/gcc/testsuite/gcc.c-torture/compile/nested-1.c b/gcc/testsuite/gcc.c-torture/compile/nested-1.c index b6aa79d77aa7..135538a8524a 100644 --- a/gcc/testsuite/gcc.c-torture/compile/nested-1.c +++ b/gcc/testsuite/gcc.c-torture/compile/nested-1.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target trampolines } */ + typedef __SIZE_TYPE__ size_t; extern int printf (const char *, ...); extern void *memset (void *, int, size_t); diff --git a/gcc/testsuite/gcc.c-torture/compile/pr27889.c b/gcc/testsuite/gcc.c-torture/compile/pr27889.c index ca50fce707d6..4e76caa5663d 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr27889.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr27889.c @@ -1,3 +1,5 @@ +/* { dg-require-effective-target trampolines } */ + void h(void (*)(void)); _Complex int g (void) { diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index c1bdc79b5e54..180ce86da2e8 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -383,6 +383,21 @@ proc check_gc_sections_available { } { return $gc_sections_available_saved } +# Return 1 if according to target_info struct and explicit target list +# target is supposed to support trampolines. + +proc check_effective_target_trampolines { } { + if [target_info exists no_trampolines] { + return 0 + } + if { [istarget avr-*-*] + || [istarget hppa2.0w-hp-hpux11.23] + || [istarget hppa64-hp-hpux11.23] } { + return 0; + } + return 1 +} + # Return true if profiling is supported on the target. proc check_profiling_available { test_what } { @@ -435,6 +450,7 @@ proc check_profiling_available { test_what } { || [istarget arm*-*-eabi*] || [istarget arm*-*-elf] || [istarget arm*-*-symbianelf*] + || [istarget avr-*-*] || [istarget bfin-*-*] || [istarget powerpc-*-eabi*] || [istarget strongarm*-*-elf] -- 2.43.5