for MSP430.
* gcc.c-torture/compile/
20010327-1.c: Only run the test for
ptr32plus targets.
* gcc.c-torture/compile/pr41181.c: Likewise.
* gcc.c-torture/compile/calls.c: Likewise.
* gcc.c-torture/compile/990617-1.c: Likewise.
* gcc.c-torture/compile/pr55955.c: Only run the test for
int32plus targets.
* gcc.c-torture/compile/limits-externdecl.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203055
138bc75d-0d04-0410-961f-
82ee72b054a4
+2013-10-01 Nick Clifton <nickc@redhat.com>
+
+ * lib/target-supports.exp (check_effective_target_ptr32plus): Fail
+ for MSP430.
+ * gcc.c-torture/compile/20010327-1.c: Only run the test for
+ ptr32plus targets.
+ * gcc.c-torture/compile/pr41181.c: Likewise.
+ * gcc.c-torture/compile/calls.c: Likewise.
+ * gcc.c-torture/compile/990617-1.c: Likewise.
+ * gcc.c-torture/compile/pr55955.c: Only run the test for
+ int32plus targets.
+ * gcc.c-torture/compile/limits-externdecl.c: Likewise.
+
2013-10-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/58553
-/* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */
-/* { dg-skip-if "HI mode pointer for avr" { "avr-*-*" } { "*" } { "" } } */
-/* { dg-skip-if "HI mode pointer for pdp11" { "pdp11-*-*" } { "*" } { "" } } */
-/* { dg-skip-if "non-SI pointers for w64" { "x86_64-*-mingw*" } { "*" } { "" } } */
+/* { dg-require-effective-target ptr32plus } */
/* 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-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } { "*" } { "" } } */
+/* { dg-require-effective-target ptr32plus } */
/* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */
-/* { dg-skip-if "" { m32c-*-* } { } { } } */
/* PR c/6957
This testcase ICEd at -O2 on IA-32, because
-/* { dg-skip-if "too much data" { "avr-*-*" "m32c-*-*" "pdp11-*-*" } { "*" } { "" } } */
+/* { dg-require-effective-target int32plus } */
+
struct peakbufStruct {
unsigned int lnum [5000];
int lscan [5000][4000];
-/* 0x70000000 is too large a constant to become a pointer on
- xstormy16. */
/* { dg-do assemble } */
-/* { dg-xfail-if "" { xstormy16-*-* } { "*" } { "" } } */
+/* { dg-require-effective-target ptr32plus } */
int main()
{
+/* { dg-require-effective-target ptr32plus } */
typedef void *(*T)(void);
f1 ()
{
+/* { dg-require-effective-target int32plus } */
/* Inspired by the test case for PR middle-end/52640. */
typedef struct
REFERENCE references[] = {
LIM5 (X)
0
-}; /* { dg-error "size of array is too large" "" { target avr-*-* } } */
+};
+/* { dg-require-effective-target ptr32plus } */
/* { dg-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } { "*" } { "" } } */
char paths[1024];
static void x264_slicetype_path(char (*best_paths)[250], int n, int length)
+/* { dg-require-effective-target int32plus } */
/* PR tree-optimization/55955 */
int b;
# options, 0 otherwise.
proc check_effective_target_ptr32plus { } {
+ # The msp430 has 16-bit or 20-bit pointers. The 20-bit pointer is stored
+ # in a 32-bit slot when in memory, so sizeof(void *) returns 4, but it
+ # cannot really hold a 32-bit address, so we always return false here.
+ if { [istarget msp430-*-*] } {
+ return 0
+ }
+
return [check_no_compiler_messages ptr32plus object {
int dummy[sizeof (void *) >= 4 ? 1 : -1];
}]