Here are some more fixes for 16-bit int and similar. Ok for trunk?
Johann * gcc.dg/c1x-align-4.c: Skip avr. * gcc.dg/54455.c: Require scheduling. * gcc.dg/pr44024.c: Skip avr in final scan. PR testsuite/52641 * gcc.c-torture/execute/20120919-1.x: New file (int32plus). * gcc.dg/pr54676.c: Make work for 16-bit int.
Index: gcc.c-torture/execute/20120919-1.x =================================================================== --- gcc.c-torture/execute/20120919-1.x (revision 0) +++ gcc.c-torture/execute/20120919-1.x (revision 0) @@ -0,0 +1,7 @@ +load_lib target-supports.exp + +if { [check_effective_target_int32plus] } { + return 0 +} + +return 1; Index: gcc.dg/pr54676.c =================================================================== --- gcc.dg/pr54676.c (revision 193748) +++ gcc.dg/pr54676.c (working copy) @@ -9,6 +9,10 @@ struct S struct S bar (void); +#if __SIZEOF_INT__ < 4 +#define int __INT32_TYPE__ +#endif + int a; void Index: gcc.dg/c1x-align-4.c =================================================================== --- gcc.dg/c1x-align-4.c (revision 193748) +++ gcc.dg/c1x-align-4.c (working copy) @@ -2,6 +2,7 @@ are at least some alignment constraints). */ /* { dg-do compile } */ /* { dg-options "-std=c1x -pedantic-errors" } */ +/* { dg-skip-if "no alignment constraints" { "avr-*-*" } { "*" } { "" } } */ #include <stddef.h> Index: gcc.dg/54455.c =================================================================== --- gcc.dg/54455.c (revision 193748) +++ gcc.dg/54455.c (working copy) @@ -1,6 +1,7 @@ /* PR rtl-optimization/54455 */ /* { dg-do compile } */ /* { dg-options "-O1 -fschedule-insns -fselective-scheduling --param max-sched-extend-regions-iters=2" } */ +/* { dg-require-effective-target scheduling } */ extern void fn1 (void), fn2 (void); Index: gcc.dg/pr44024.c =================================================================== --- gcc.dg/pr44024.c (revision 193748) +++ gcc.dg/pr44024.c (working copy) @@ -10,5 +10,5 @@ int main() return 0; } -/* { dg-final { scan-tree-dump-not "foo" "original" } } */ +/* { dg-final { scan-tree-dump-not "foo" "original" { target { ! avr*-*-* } } } } */ /* { dg-final { cleanup-tree-dump "original" } } */