aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2024-01-06 19:37:27 +0100
committerGeorg-Johann Lay <avr@gjlay.de>2024-01-07 13:43:33 +0100
commitc2e66755b6b6336dd5d93da3f4effb81d236397e (patch)
tree47c52fe9161859b4bd22a68812bb6a54df8815b9 /gcc
parenta71c3977d24722ac8ee28d8844c4f96a151f75ab (diff)
downloadgcc-c2e66755b6b6336dd5d93da3f4effb81d236397e.zip
gcc-c2e66755b6b6336dd5d93da3f4effb81d236397e.tar.gz
gcc-c2e66755b6b6336dd5d93da3f4effb81d236397e.tar.bz2
testsuite/52641: Fix sloppy tests that did not care for sizeof(int)=2 etc.
gcc/testsuite/ PR testsuite/52641 * gcc.c-torture/compile/attr-complex-method-2.c [target=avr]: Check for "divsc3" as double = float per default. * gcc.c-torture/compile/pr106537-1.c: Use __INTPTR_TYPE__ instead of hard-coded "long". * gcc.c-torture/compile/pr106537-2.c: Same. * gcc.c-torture/compile/pr106537-3.c: Same. * gcc.c-torture/execute/20230630-3.c: Use __INT32_TYPE__ for bit-field wider than 16 bits. * gcc.c-torture/execute/20230630-4.c: Same. * gcc.c-torture/execute/pr109938.c: Require int32plus. * gcc.c-torture/execute/pr109986.c: Same. * gcc.dg/fold-ior-4.c: Same. * gcc.dg/fold-ior-5.c: Same * gcc.dg/fold-parity-5.c: Same. * gcc.dg/fold-popcount-5.c: Same. * gcc.dg/builtin-bswap-13.c [sizeof(int) < 4]: Use __INT32_TYPE__ instead of int. * gcc.dg/builtin-bswap-14.c: Use __INT32_TYPE__ instead of int where required by code. * gcc.dg/c23-constexpr-9.c: Require large_double. * gcc.dg/c23-nullptr-1.c [target=avr]: xfail. * gcc.dg/loop-unswitch-10.c: Require size32plus. * gcc.dg/loop-unswitch-14.c: Same. * gcc.dg/loop-unswitch-11.c: Require int32. * gcc.dg/pr101836.c: Use __SIZEOF_INT instead of hard-coded 4. * gcc.dg/pr101836_1.c: Same. * gcc.dg/pr101836_2.c: Same. * gcc.dg/pr101836_3.c: Same.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/attr-complex-method-2.c3
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr106537-1.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr106537-2.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr106537-3.c6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20230630-3.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20230630-4.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr109938.c1
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pr109986.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtin-bswap-13.c4
-rw-r--r--gcc/testsuite/gcc.dg/builtin-bswap-14.c4
-rw-r--r--gcc/testsuite/gcc.dg/c23-constexpr-9.c1
-rw-r--r--gcc/testsuite/gcc.dg/c23-nullptr-1.c1
-rw-r--r--gcc/testsuite/gcc.dg/fold-ior-4.c1
-rw-r--r--gcc/testsuite/gcc.dg/fold-ior-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/fold-parity-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/fold-popcount-5.c1
-rw-r--r--gcc/testsuite/gcc.dg/loop-unswitch-10.c1
-rw-r--r--gcc/testsuite/gcc.dg/loop-unswitch-11.c1
-rw-r--r--gcc/testsuite/gcc.dg/loop-unswitch-14.c1
-rw-r--r--gcc/testsuite/gcc.dg/pr101836.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr101836_1.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr101836_2.c4
-rw-r--r--gcc/testsuite/gcc.dg/pr101836_3.c2
23 files changed, 37 insertions, 21 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/attr-complex-method-2.c b/gcc/testsuite/gcc.c-torture/compile/attr-complex-method-2.c
index 0c5311e..dc28e2c 100644
--- a/gcc/testsuite/gcc.c-torture/compile/attr-complex-method-2.c
+++ b/gcc/testsuite/gcc.c-torture/compile/attr-complex-method-2.c
@@ -8,4 +8,5 @@ void do_div (_Complex double *a, _Complex double *b)
*a = *b / (4.0 - 5.0fi);
}
-/* { dg-final { scan-tree-dump "__(?:gnu_)?divdc3" "optimized" } } */
+/* { dg-final { scan-tree-dump "__(?:gnu_)?divdc3" "optimized" { target { ! { avr-*-* } } } } } */
+/* { dg-final { scan-tree-dump "__(?:gnu_)?divsc3" "optimized" { target { avr-*-* } } } } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr106537-1.c b/gcc/testsuite/gcc.c-torture/compile/pr106537-1.c
index b67b609..a53fe2e 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr106537-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr106537-1.c
@@ -3,7 +3,7 @@
This testcase checks that warn_compare_distinct_pointer_types is enabled by
default. */
-typedef int __u32;
+typedef __INT32_TYPE__ __u32;
struct xdp_md
{
@@ -13,8 +13,8 @@ struct xdp_md
int xdp_context (struct xdp_md *xdp)
{
- void *data = (void *)(long)xdp->data;
- __u32 *metadata = (void *)(long)xdp->data_meta;
+ void *data = (void *)(__INTPTR_TYPE__)xdp->data;
+ __u32 *metadata = (void *)(__INTPTR_TYPE__)xdp->data_meta;
__u32 ret;
if (metadata + 1 > data) /* { dg-warning "comparison of distinct pointer types" } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr106537-2.c b/gcc/testsuite/gcc.c-torture/compile/pr106537-2.c
index d4223c2..d5a2afa 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr106537-2.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr106537-2.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-Wcompare-distinct-pointer-types" } */
-typedef int __u32;
+typedef __INT32_TYPE__ __u32;
struct xdp_md
{
@@ -11,8 +11,8 @@ struct xdp_md
int xdp_context (struct xdp_md *xdp)
{
- void *data = (void *)(long)xdp->data;
- __u32 *metadata = (void *)(long)xdp->data_meta;
+ void *data = (void *)(__INTPTR_TYPE__)xdp->data;
+ __u32 *metadata = (void *)(__INTPTR_TYPE__)xdp->data_meta;
__u32 ret;
if (metadata + 1 > data) /* { dg-warning "comparison of distinct pointer types" } */
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr106537-3.c b/gcc/testsuite/gcc.c-torture/compile/pr106537-3.c
index 73c9b25..13876ea 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr106537-3.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr106537-3.c
@@ -1,7 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O0 -Wno-compare-distinct-pointer-types" } */
-typedef int __u32;
+typedef __INT32_TYPE__ __u32;
struct xdp_md
{
@@ -11,8 +11,8 @@ struct xdp_md
int xdp_context (struct xdp_md *xdp)
{
- void *data = (void *)(long)xdp->data;
- __u32 *metadata = (void *)(long)xdp->data_meta;
+ void *data = (void *)(__INTPTR_TYPE__)xdp->data;
+ __u32 *metadata = (void *)(__INTPTR_TYPE__)xdp->data_meta;
__u32 ret;
if (metadata + 1 > data) /* There shouldn't be a warning here. */
diff --git a/gcc/testsuite/gcc.c-torture/execute/20230630-3.c b/gcc/testsuite/gcc.c-torture/execute/20230630-3.c
index fc106c9..735cb9b 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20230630-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20230630-3.c
@@ -1,5 +1,5 @@
struct S {
- int i : 24;
+ __INT32_TYPE__ i : 24;
char c1 : 1;
char c2 : 1;
char c3 : 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/20230630-4.c b/gcc/testsuite/gcc.c-torture/execute/20230630-4.c
index df33c18..e300cd4 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20230630-4.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20230630-4.c
@@ -5,7 +5,7 @@
#endif
struct S {
- int i : 24;
+ __INT32_TYPE__ i : 24;
char c1 : 1;
char c2 : 1;
char c3 : 1;
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr109938.c b/gcc/testsuite/gcc.c-torture/execute/pr109938.c
index a65d13b..668d4ca 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr109938.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr109938.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target int32plus } */
/* PR tree-opt/109938 */
#include "../../gcc.dg/tree-ssa/pr109938.c"
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr109986.c b/gcc/testsuite/gcc.c-torture/execute/pr109986.c
index 00ee988..c4c9645 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pr109986.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pr109986.c
@@ -1,3 +1,4 @@
+/* { dg-require-effective-target int32plus } */
/* PR middle-end/109986 */
#include "../../gcc.dg/tree-ssa/pr109986.c"
diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-13.c b/gcc/testsuite/gcc.dg/builtin-bswap-13.c
index 6dc4c15..4f5bc97 100644
--- a/gcc/testsuite/gcc.dg/builtin-bswap-13.c
+++ b/gcc/testsuite/gcc.dg/builtin-bswap-13.c
@@ -1,6 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+#if __SIZEOF_INT__ < 4
+#define int __INT32_TYPE__
+#endif
+
int test_s32_0_1(int x) { return __builtin_bswap32(x) & 1; }
int test_s32_0_2(int x) { return __builtin_bswap32(x) & 2; }
int test_s32_0_240(int x) { return __builtin_bswap32(x) & 240; }
diff --git a/gcc/testsuite/gcc.dg/builtin-bswap-14.c b/gcc/testsuite/gcc.dg/builtin-bswap-14.c
index 62711d8..0abf466 100644
--- a/gcc/testsuite/gcc.dg/builtin-bswap-14.c
+++ b/gcc/testsuite/gcc.dg/builtin-bswap-14.c
@@ -5,11 +5,11 @@ extern void abort (void);
__attribute__ ((noinline, noclone))
-static int rt32 (int x, int y, int z) {
+static __INT32_TYPE__ rt32 (__INT32_TYPE__ x, int y, __INT32_TYPE__ z) {
return (__builtin_bswap32(x) >> y) & z;
}
#define TEST32(X,Y,Z) if(((__builtin_bswap32(X)>>Y)&Z)!=rt32(X,Y,Z)) abort()
-void test32(int x)
+void test32(__INT32_TYPE__ x)
{
TEST32(x,0,1);
TEST32(x,0,255);
diff --git a/gcc/testsuite/gcc.dg/c23-constexpr-9.c b/gcc/testsuite/gcc.dg/c23-constexpr-9.c
index 1370583..8dadb18 100644
--- a/gcc/testsuite/gcc.dg/c23-constexpr-9.c
+++ b/gcc/testsuite/gcc.dg/c23-constexpr-9.c
@@ -3,6 +3,7 @@
/* { dg-options "-std=c23 -pedantic-errors" } */
/* { dg-add-options ieee } */
/* { dg-require-effective-target inff } */
+/* { dg-require-effective-target large_double } */
/* A conversion from signaling NaN to quiet NaN in a different format or type
is not valid for constexpr. */
diff --git a/gcc/testsuite/gcc.dg/c23-nullptr-1.c b/gcc/testsuite/gcc.dg/c23-nullptr-1.c
index a1b9dea..00ca7bd 100644
--- a/gcc/testsuite/gcc.dg/c23-nullptr-1.c
+++ b/gcc/testsuite/gcc.dg/c23-nullptr-1.c
@@ -2,6 +2,7 @@
/* { dg-do run } */
// { dg-require-effective-target thread_fence }
/* { dg-options "-std=c23 -pedantic-errors -Wall -Wextra -Wno-unused-variable" } */
+/* { dg-xfail-if "__atomic not supported" { "avr-*-*" } } */
#include <stdarg.h>
diff --git a/gcc/testsuite/gcc.dg/fold-ior-4.c b/gcc/testsuite/gcc.dg/fold-ior-4.c
index 8f7213e..17a2a4d 100644
--- a/gcc/testsuite/gcc.dg/fold-ior-4.c
+++ b/gcc/testsuite/gcc.dg/fold-ior-4.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-require-effective-target int32plus } */
unsigned int test_ior(unsigned char i)
{
diff --git a/gcc/testsuite/gcc.dg/fold-ior-5.c b/gcc/testsuite/gcc.dg/fold-ior-5.c
index 8de5697..8352fdd 100644
--- a/gcc/testsuite/gcc.dg/fold-ior-5.c
+++ b/gcc/testsuite/gcc.dg/fold-ior-5.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-require-effective-target int32plus } */
unsigned int test_ior(unsigned char i)
{
diff --git a/gcc/testsuite/gcc.dg/fold-parity-5.c b/gcc/testsuite/gcc.dg/fold-parity-5.c
index 69d3a6a..e30cd2f 100644
--- a/gcc/testsuite/gcc.dg/fold-parity-5.c
+++ b/gcc/testsuite/gcc.dg/fold-parity-5.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-require-effective-target int32plus } */
int test_and4(unsigned int a)
{
diff --git a/gcc/testsuite/gcc.dg/fold-popcount-5.c b/gcc/testsuite/gcc.dg/fold-popcount-5.c
index 943726f..4963a4d 100644
--- a/gcc/testsuite/gcc.dg/fold-popcount-5.c
+++ b/gcc/testsuite/gcc.dg/fold-popcount-5.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
+/* { dg-require-effective-target int32plus } */
int test_and4(unsigned int a)
{
diff --git a/gcc/testsuite/gcc.dg/loop-unswitch-10.c b/gcc/testsuite/gcc.dg/loop-unswitch-10.c
index 395167e..20f5d87 100644
--- a/gcc/testsuite/gcc.dg/loop-unswitch-10.c
+++ b/gcc/testsuite/gcc.dg/loop-unswitch-10.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -funswitch-loops -fdump-tree-unswitch-optimized" } */
+/* { dg-require-effective-target size32plus } */
int
__attribute__((noipa))
diff --git a/gcc/testsuite/gcc.dg/loop-unswitch-11.c b/gcc/testsuite/gcc.dg/loop-unswitch-11.c
index 422a942..e9441316 100644
--- a/gcc/testsuite/gcc.dg/loop-unswitch-11.c
+++ b/gcc/testsuite/gcc.dg/loop-unswitch-11.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -funswitch-loops -fdump-tree-unswitch-optimized" } */
+/* { dg-require-effective-target int32 } */
int
foo(double *a, double *b, double *c, double *d, double *r, int size, int order)
diff --git a/gcc/testsuite/gcc.dg/loop-unswitch-14.c b/gcc/testsuite/gcc.dg/loop-unswitch-14.c
index d9d3168..e1225f6 100644
--- a/gcc/testsuite/gcc.dg/loop-unswitch-14.c
+++ b/gcc/testsuite/gcc.dg/loop-unswitch-14.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -funswitch-loops -fdump-tree-unswitch-optimized --param=max-unswitch-insns=1000" } */
+/* { dg-require-effective-target size32plus } */
int
__attribute__((noipa))
diff --git a/gcc/testsuite/gcc.dg/pr101836.c b/gcc/testsuite/gcc.dg/pr101836.c
index 096196d..75349a8 100644
--- a/gcc/testsuite/gcc.dg/pr101836.c
+++ b/gcc/testsuite/gcc.dg/pr101836.c
@@ -46,8 +46,8 @@ void __attribute__((__noinline__)) stuff(
struct trailing_array_3 *trailing_0,
struct trailing_array_4 *trailing_flex)
{
- expect(__builtin_object_size(normal->c, 1), 16);
- expect(__builtin_object_size(trailing_1->c, 1), 4);
+ expect(__builtin_object_size(normal->c, 1), 4 * __SIZEOF_INT__);
+ expect(__builtin_object_size(trailing_1->c, 1), __SIZEOF_INT__);
expect(__builtin_object_size(trailing_0->c, 1), 0);
expect(__builtin_object_size(trailing_flex->c, 1), -1);
}
diff --git a/gcc/testsuite/gcc.dg/pr101836_1.c b/gcc/testsuite/gcc.dg/pr101836_1.c
index e2931ce..19e6320 100644
--- a/gcc/testsuite/gcc.dg/pr101836_1.c
+++ b/gcc/testsuite/gcc.dg/pr101836_1.c
@@ -46,8 +46,8 @@ void __attribute__((__noinline__)) stuff(
struct trailing_array_3 *trailing_0,
struct trailing_array_4 *trailing_flex)
{
- expect(__builtin_object_size(normal->c, 1), 16);
- expect(__builtin_object_size(trailing_1->c, 1), 4);
+ expect(__builtin_object_size(normal->c, 1), 4 * __SIZEOF_INT__);
+ expect(__builtin_object_size(trailing_1->c, 1), __SIZEOF_INT__);
expect(__builtin_object_size(trailing_0->c, 1), 0);
expect(__builtin_object_size(trailing_flex->c, 1), -1);
}
diff --git a/gcc/testsuite/gcc.dg/pr101836_2.c b/gcc/testsuite/gcc.dg/pr101836_2.c
index 7897418..09079e6 100644
--- a/gcc/testsuite/gcc.dg/pr101836_2.c
+++ b/gcc/testsuite/gcc.dg/pr101836_2.c
@@ -46,8 +46,8 @@ void __attribute__((__noinline__)) stuff(
struct trailing_array_3 *trailing_0,
struct trailing_array_4 *trailing_flex)
{
- expect(__builtin_object_size(normal->c, 1), 16);
- expect(__builtin_object_size(trailing_1->c, 1), 4);
+ expect(__builtin_object_size(normal->c, 1), 4 * __SIZEOF_INT__);
+ expect(__builtin_object_size(trailing_1->c, 1), __SIZEOF_INT__);
expect(__builtin_object_size(trailing_0->c, 1), -1);
expect(__builtin_object_size(trailing_flex->c, 1), -1);
}
diff --git a/gcc/testsuite/gcc.dg/pr101836_3.c b/gcc/testsuite/gcc.dg/pr101836_3.c
index 0e69388..63f50f7 100644
--- a/gcc/testsuite/gcc.dg/pr101836_3.c
+++ b/gcc/testsuite/gcc.dg/pr101836_3.c
@@ -46,7 +46,7 @@ void __attribute__((__noinline__)) stuff(
struct trailing_array_3 *trailing_0,
struct trailing_array_4 *trailing_flex)
{
- expect(__builtin_object_size(normal->c, 1), 16);
+ expect(__builtin_object_size(normal->c, 1), 4 * __SIZEOF_INT__);
expect(__builtin_object_size(trailing_1->c, 1), -1);
expect(__builtin_object_size(trailing_0->c, 1), -1);
expect(__builtin_object_size(trailing_flex->c, 1), -1);