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
+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
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-*-* } { "*" } { "" } } */
+/* { dg-require-effective-target trampolines } */
+
void f1 (void *);
void f3 (void *, void (*)(void *));
void f2 (void *);
/* { 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
/* { 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-*-* } { } { } } */
/* Related to PR 19484. */
+/* { dg-require-effective-target trampolines } */
+
extern void foo (void) __attribute__((noreturn));
int n;
/* { 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];
+/* { dg-skip-if "Array too big" { "avr-*-*" } { "*" } { "" } } */
+
#define STR2 "012345678901234567890123456789012345678901234567890123456789\
0123456789012345678901234567890123456789"
#define STR3 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2 STR2
+/* { dg-require-effective-target trampolines } */
+
typedef __SIZE_TYPE__ size_t;
extern int printf (const char *, ...);
extern void *memset (void *, int, size_t);
+/* { dg-require-effective-target trampolines } */
+
void h(void (*)(void));
_Complex int g (void)
{
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 } {
|| [istarget arm*-*-eabi*]
|| [istarget arm*-*-elf]
|| [istarget arm*-*-symbianelf*]
+ || [istarget avr-*-*]
|| [istarget bfin-*-*]
|| [istarget powerpc-*-eabi*]
|| [istarget strongarm*-*-elf]