From 9f5065094c9632a50bea604d5896a139609e50cf Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Mon, 22 May 2023 16:47:56 +0200 Subject: [PATCH] testsuite/52641: Fix tests that fail for 16-bit int / pointer targets. gcc/testsuite/ PR testsuite/52641 * c-c++-common/pr19807-2.c: Use __SIZEOF_INT__ instead of 4. * gcc.c-torture/compile/pr103813.c: Require size32plus. * gcc.c-torture/execute/pr108498-2.c: Same. * gcc.c-torture/compile/pr96426.c: Condition on __SIZEOF_LONG_LONG__ == __SIZEOF_DOUBLE__. * gcc.c-torture/execute/pr103417.c: Require int32plus. * gcc.dg/pr104198.c: Same. * gcc.dg/pr21137.c: Same. * gcc.dg/pr88905.c: Same. * gcc.dg/pr90838.c: Same. * gcc.dg/pr97317.c: Same. * gcc.dg/pr100292.c: Require int32. * gcc.dg/pr101008.c: Same. * gcc.dg/pr96542.c: Same. * gcc.dg/pr96674.c: Same. * gcc.dg/pr97750.c: Require ptr_eq_long. --- gcc/testsuite/c-c++-common/pr19807-2.c | 2 +- gcc/testsuite/gcc.c-torture/compile/pr103813.c | 1 + gcc/testsuite/gcc.c-torture/compile/pr96426.c | 4 ++++ gcc/testsuite/gcc.c-torture/execute/pr103417.c | 1 + gcc/testsuite/gcc.c-torture/execute/pr108498-2.c | 1 + gcc/testsuite/gcc.dg/pr100292.c | 1 + gcc/testsuite/gcc.dg/pr101008.c | 1 + gcc/testsuite/gcc.dg/pr104198.c | 1 + gcc/testsuite/gcc.dg/pr21137.c | 1 + gcc/testsuite/gcc.dg/pr88905.c | 1 + gcc/testsuite/gcc.dg/pr90838.c | 1 + gcc/testsuite/gcc.dg/pr96542.c | 2 +- gcc/testsuite/gcc.dg/pr96674.c | 1 + gcc/testsuite/gcc.dg/pr97317.c | 1 + gcc/testsuite/gcc.dg/pr97750.c | 1 + 15 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/c-c++-common/pr19807-2.c b/gcc/testsuite/c-c++-common/pr19807-2.c index 529b9c973223..29a370304d3b 100644 --- a/gcc/testsuite/c-c++-common/pr19807-2.c +++ b/gcc/testsuite/c-c++-common/pr19807-2.c @@ -6,7 +6,7 @@ int i; int main() { int a[4]; - if ((char*)&a[1] + 4*i + 4 != (char*)&a[i+2]) + if ((char*)&a[1] + __SIZEOF_INT__*i + __SIZEOF_INT__ != (char*)&a[i+2]) link_error(); return 0; } diff --git a/gcc/testsuite/gcc.c-torture/compile/pr103813.c b/gcc/testsuite/gcc.c-torture/compile/pr103813.c index b3fc066beed2..0aa64fb3152e 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr103813.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr103813.c @@ -1,4 +1,5 @@ /* PR middle-end/103813 */ +/* { dg-require-effective-target size32plus } */ struct A { char b; char c[0x21000000]; }; struct A d; diff --git a/gcc/testsuite/gcc.c-torture/compile/pr96426.c b/gcc/testsuite/gcc.c-torture/compile/pr96426.c index bd573fe53660..fdb441efc100 100644 --- a/gcc/testsuite/gcc.c-torture/compile/pr96426.c +++ b/gcc/testsuite/gcc.c-torture/compile/pr96426.c @@ -1,5 +1,7 @@ /* PR middle-end/96426 */ +#if __SIZEOF_LONG_LONG__ == __SIZEOF_DOUBLE__ + typedef long long V __attribute__((vector_size(16))); typedef double W __attribute__((vector_size(16))); @@ -8,3 +10,5 @@ foo (V *v) { __builtin_convertvector (*v, W); } + +#endif diff --git a/gcc/testsuite/gcc.c-torture/execute/pr103417.c b/gcc/testsuite/gcc.c-torture/execute/pr103417.c index 0fef8908036e..ea4b99030a5e 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr103417.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr103417.c @@ -1,4 +1,5 @@ /* PR tree-optimization/103417 */ +/* { dg-require-effective-target int32plus } */ struct { int a : 8; int b : 24; } c = { 0, 1 }; diff --git a/gcc/testsuite/gcc.c-torture/execute/pr108498-2.c b/gcc/testsuite/gcc.c-torture/execute/pr108498-2.c index ad930488c33c..fdd628cbc860 100644 --- a/gcc/testsuite/gcc.c-torture/execute/pr108498-2.c +++ b/gcc/testsuite/gcc.c-torture/execute/pr108498-2.c @@ -1,4 +1,5 @@ /* PR tree-optimization/108498 */ +/* { dg-require-effective-target int32plus } */ struct U { char c[16]; }; struct V { char c[16]; }; diff --git a/gcc/testsuite/gcc.dg/pr100292.c b/gcc/testsuite/gcc.dg/pr100292.c index 675a60c34128..147c9324d81b 100644 --- a/gcc/testsuite/gcc.dg/pr100292.c +++ b/gcc/testsuite/gcc.dg/pr100292.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target int32 } */ typedef unsigned char __attribute__((__vector_size__ (4))) V; diff --git a/gcc/testsuite/gcc.dg/pr101008.c b/gcc/testsuite/gcc.dg/pr101008.c index c06208d3425b..8229769c6acf 100644 --- a/gcc/testsuite/gcc.dg/pr101008.c +++ b/gcc/testsuite/gcc.dg/pr101008.c @@ -1,6 +1,7 @@ /* PR rtl-optimization/101008 */ /* { dg-do compile } */ /* { dg-options "-O2 -g" } */ +/* { dg-require-effective-target int32 } */ typedef unsigned __attribute__((__vector_size__(32))) U; typedef unsigned __attribute__((__vector_size__(16))) V; diff --git a/gcc/testsuite/gcc.dg/pr104198.c b/gcc/testsuite/gcc.dg/pr104198.c index bfc7a7771846..de86f49c9dc8 100644 --- a/gcc/testsuite/gcc.dg/pr104198.c +++ b/gcc/testsuite/gcc.dg/pr104198.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-options "-O2 -std=c99" } */ +/* { dg-require-effective-target int32plus } */ #include #include diff --git a/gcc/testsuite/gcc.dg/pr21137.c b/gcc/testsuite/gcc.dg/pr21137.c index 6d73deaee6c0..199555a5017f 100644 --- a/gcc/testsuite/gcc.dg/pr21137.c +++ b/gcc/testsuite/gcc.dg/pr21137.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-require-effective-target int32plus } */ void foo(); diff --git a/gcc/testsuite/gcc.dg/pr88905.c b/gcc/testsuite/gcc.dg/pr88905.c index 89792f4abdb2..fd2c2647325a 100644 --- a/gcc/testsuite/gcc.dg/pr88905.c +++ b/gcc/testsuite/gcc.dg/pr88905.c @@ -2,6 +2,7 @@ /* { dg-do compile } */ /* { dg-options "-Og -fno-tree-ccp" } */ /* { dg-additional-options "-mabm" { target { i?86-*-* x86_64-*-* } } } */ +/* { dg-require-effective-target int32plus } */ int a, b, c; extern void baz (int); diff --git a/gcc/testsuite/gcc.dg/pr90838.c b/gcc/testsuite/gcc.dg/pr90838.c index 7502b846346f..759059683a94 100644 --- a/gcc/testsuite/gcc.dg/pr90838.c +++ b/gcc/testsuite/gcc.dg/pr90838.c @@ -3,6 +3,7 @@ /* { dg-additional-options "-mbmi" { target { { i?86-*-* x86_64-*-* } && { ! { ia32 } } } } } */ /* { dg-additional-options "-march=rv64gc_zbb" { target { rv64 } } } */ /* { dg-additional-options "-march=rv32gc_zbb" { target { rv32 } } } */ +/* { dg-require-effective-target int32plus } */ int ctz1 (unsigned x) { diff --git a/gcc/testsuite/gcc.dg/pr96542.c b/gcc/testsuite/gcc.dg/pr96542.c index 0aad2e9494e7..1080be7e7538 100644 --- a/gcc/testsuite/gcc.dg/pr96542.c +++ b/gcc/testsuite/gcc.dg/pr96542.c @@ -1,6 +1,6 @@ /* { dg-do compile} */ /* { dg-options "-O2 -fdump-tree-evrp" } */ - +/* { dg-require-effective-target int32 } */ unsigned char foo (unsigned int x) diff --git a/gcc/testsuite/gcc.dg/pr96674.c b/gcc/testsuite/gcc.dg/pr96674.c index 194ce2e63520..790cd85dcc92 100644 --- a/gcc/testsuite/gcc.dg/pr96674.c +++ b/gcc/testsuite/gcc.dg/pr96674.c @@ -1,5 +1,6 @@ /* { dg-do run } */ /* { dg-options "-O -fdump-tree-optimized -fwrapv" } */ +/* { dg-require-effective-target int32 } */ #include #include diff --git a/gcc/testsuite/gcc.dg/pr97317.c b/gcc/testsuite/gcc.dg/pr97317.c index f07327ac9a2a..fdc1a62d5440 100644 --- a/gcc/testsuite/gcc.dg/pr97317.c +++ b/gcc/testsuite/gcc.dg/pr97317.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ +/* { dg-require-effective-target int32plus } */ struct a { unsigned c : 17; diff --git a/gcc/testsuite/gcc.dg/pr97750.c b/gcc/testsuite/gcc.dg/pr97750.c index 90c3dc268524..ff0d436af20b 100644 --- a/gcc/testsuite/gcc.dg/pr97750.c +++ b/gcc/testsuite/gcc.dg/pr97750.c @@ -1,6 +1,7 @@ /* PR tree-optimization/97750 */ /* { dg-do compile } */ /* { dg-options "-O2 -Wall -Wextra" } */ +/* { dg-require-effective-target ptr_eq_long } */ char CopyPlane_src; long CopyPlane_copy_pitch; -- 2.47.2