Commit f1557372 by Nick Clifton Committed by Nick Clifton

target-supports.exp (check_effective_target_ptr32plus): Fail for MSP430.

	* 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.

From-SVN: r203055
parent 818625cf
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> 2013-10-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/58553 PR tree-optimization/58553
......
/* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */ /* { dg-require-effective-target ptr32plus } */
/* { 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*" } { "*" } { "" } } */
/* This testcase tests whether GCC can produce static initialized data /* This testcase tests whether GCC can produce static initialized data
that references addresses of size 'unsigned long', even if that's not that references addresses of size 'unsigned long', even if that's not
......
/* { dg-do assemble } */ /* { 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-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */
/* { dg-skip-if "" { m32c-*-* } { } { } } */
/* PR c/6957 /* PR c/6957
This testcase ICEd at -O2 on IA-32, because 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 { struct peakbufStruct {
unsigned int lnum [5000]; unsigned int lnum [5000];
int lscan [5000][4000]; int lscan [5000][4000];
......
/* 0x70000000 is too large a constant to become a pointer on
xstormy16. */
/* { dg-do assemble } */ /* { dg-do assemble } */
/* { dg-xfail-if "" { xstormy16-*-* } { "*" } { "" } } */ /* { dg-require-effective-target ptr32plus } */
int main() int main()
{ {
......
/* { dg-require-effective-target ptr32plus } */
typedef void *(*T)(void); typedef void *(*T)(void);
f1 () f1 ()
{ {
......
/* { dg-require-effective-target int32plus } */
/* Inspired by the test case for PR middle-end/52640. */ /* Inspired by the test case for PR middle-end/52640. */
typedef struct typedef struct
...@@ -52,4 +53,4 @@ LIM5 (X); ...@@ -52,4 +53,4 @@ LIM5 (X);
REFERENCE references[] = { REFERENCE references[] = {
LIM5 (X) LIM5 (X)
0 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-*-*" } { "*" } { "" } } */ /* { dg-skip-if "The array is too big" { "avr-*-*" "pdp11-*-*" } { "*" } { "" } } */
char paths[1024]; char paths[1024];
static void x264_slicetype_path(char (*best_paths)[250], int n, int length) static void x264_slicetype_path(char (*best_paths)[250], int n, int length)
......
/* { dg-require-effective-target int32plus } */
/* PR tree-optimization/55955 */ /* PR tree-optimization/55955 */
int b; int b;
......
...@@ -1751,6 +1751,13 @@ proc check_effective_target_int32plus { } { ...@@ -1751,6 +1751,13 @@ proc check_effective_target_int32plus { } {
# options, 0 otherwise. # options, 0 otherwise.
proc check_effective_target_ptr32plus { } { 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 { return [check_no_compiler_messages ptr32plus object {
int dummy[sizeof (void *) >= 4 ? 1 : -1]; int dummy[sizeof (void *) >= 4 ? 1 : -1];
}] }]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment