MSP430: Skip gcc.dg/pr55940.c in the small memory model
authorJozef Lawrynowicz <jozef.l@mittosystems.com>
Wed, 2 Sep 2020 12:42:39 +0000 (13:42 +0100)
committerJozef Lawrynowicz <jozef.l@mittosystems.com>
Wed, 2 Sep 2020 13:18:09 +0000 (14:18 +0100)
In the MSP430 small memory model, there is a 16-bit address space and
pointer arithmetic wraps around the address space, so any calculated
address is always within this range.

In this test, pointer arithmetic wraps when 0x1000 is added to the
address of a variable, causing the resulting address to be unexpectedly
less than 0x2000, which breaks the test.

gcc/testsuite/ChangeLog:

* gcc.dg/pr55940.c: Skip for msp430 unless -mlarge is specified.

gcc/testsuite/gcc.dg/pr55940.c

index d046d0b6912ff7f24db2780c6858571d68e04953..85761f6c31f76941f33af87af8a1b942a5eced3c 100644 (file)
@@ -1,5 +1,6 @@
 /* PR target/55940 */
 /* { dg-do run } */
+/* { dg-skip-if "pointer arithmetic can wrap" { msp430-*-* } { "*" } { "-mlarge" } } */
 /* { dg-options "-Os" } */
 /* { dg-additional-options "-mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */