re PR testsuite/34894 (Some compile tests require trampolines even when the target sets no_trampolines)

2008-04-09  Andy Hutchinson  <hutchinsonandy@aim.com>

	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
This commit is contained in:
Andy Hutchinson 2008-04-09 23:58:39 +00:00 committed by Andy Hutchinson
parent df79488418
commit a21f9a561f
11 changed files with 46 additions and 0 deletions

View File

@ -1,3 +1,19 @@
2008-04-09 Andy Hutchinson <hutchinsonandy@aim.com>
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 <jason@redhat.com>
PR c++/35708

View File

@ -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-*-* } { "*" } { "" } } */

View File

@ -1,3 +1,5 @@
/* { dg-require-effective-target trampolines } */
void f1 (void *);
void f3 (void *, void (*)(void *));
void f2 (void *);

View File

@ -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

View File

@ -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-*-* } { } { } } */

View File

@ -1,4 +1,6 @@
/* Related to PR 19484. */
/* { dg-require-effective-target trampolines } */
extern void foo (void) __attribute__((noreturn));
int n;

View File

@ -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];

View File

@ -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

View File

@ -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);

View File

@ -1,3 +1,5 @@
/* { dg-require-effective-target trampolines } */
void h(void (*)(void));
_Complex int g (void)
{

View File

@ -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]