Here are some more skips of tests that won't work on int16 targets. In most cases constants too big, bitfields too long or arrays too large are used. For gcc.dg/torture/pr56488.c there are some notes at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56488#c4 that explain for why this test fails if int = short. Ok to apply? Johann PR testsuite/52641 * gcc.c-torture/execute/pr57344-2.x: New. Skip int16. * gcc.dg/pr53265.c: Add dg-require-effective-target size32plus. * gcc.dg/torture/pr53366-1.c: Same. * gcc.dg/torture/pr57381.c: Add dg-require-effective-target int32plus. * gcc.dg/torture/pr56488.c: Same. * gcc.dg/torture/pr57584.c: Same. * gcc.dg/tree-ssa/pr57385.c: Same. * gcc.dg/pr57154.c: Add dg-require-effective-target scheduling.
Index: gcc.c-torture/execute/pr57344-2.x =================================================================== --- gcc.c-torture/execute/pr57344-2.x (revision 0) +++ gcc.c-torture/execute/pr57344-2.x (revision 0) @@ -0,0 +1,7 @@ +load_lib target-supports.exp + +if { [check_effective_target_int16] } { + return 1 +} + +return 0; Index: gcc.dg/pr53265.c =================================================================== --- gcc.dg/pr53265.c (revision 200903) +++ gcc.dg/pr53265.c (working copy) @@ -1,6 +1,7 @@ /* PR tree-optimization/53265 */ /* { dg-do compile } */ /* { dg-options "-O2 -Wall" } */ +/* { dg-require-effective-target size32plus } */ void bar (void *); int baz (int); Index: gcc.dg/torture/pr57381.c =================================================================== --- gcc.dg/torture/pr57381.c (revision 200903) +++ gcc.dg/torture/pr57381.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target int32plus } */ struct S0 { int f0, f1, f2; }; Index: gcc.dg/torture/pr56488.c =================================================================== --- gcc.dg/torture/pr56488.c (revision 200903) +++ gcc.dg/torture/pr56488.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do run } */ +/* { dg-require-effective-target int32plus } */ int a, c, d = 1; struct S { int s; } b, f; Index: gcc.dg/torture/pr53366-1.c =================================================================== --- gcc.dg/torture/pr53366-1.c (revision 200903) +++ gcc.dg/torture/pr53366-1.c (working copy) @@ -1,5 +1,6 @@ /* PR tree-optimization/53366 */ /* { dg-do run } */ +/* { dg-require-effective-target size32plus } */ extern void abort (void); Index: gcc.dg/torture/pr57584.c =================================================================== --- gcc.dg/torture/pr57584.c (revision 200903) +++ gcc.dg/torture/pr57584.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target int32plus } */ typedef int int32_t; typedef unsigned char uint8_t; Index: gcc.dg/tree-ssa/pr57385.c =================================================================== --- gcc.dg/tree-ssa/pr57385.c (revision 200903) +++ gcc.dg/tree-ssa/pr57385.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O1" } */ +/* { dg-require-effective-target int32plus } */ int c; Index: gcc.dg/pr57154.c =================================================================== --- gcc.dg/pr57154.c (revision 200903) +++ gcc.dg/pr57154.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fschedule-insns" } */ +/* { dg-require-effective-target scheduling } */ #define PF_FROZEN 0x00010000 #define likely(x) __builtin_expect(!!(x), 1)