From a01eae670600852f78e8df1b88259572f181d42e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 19 Oct 2022 18:49:03 +0200 Subject: [PATCH] testsuite: Fix up c2x-enum-1.c for 32-bit arches [PR107311] On Wed, Oct 19, 2022 at 02:57:59PM +0000, Joseph Myers wrote: > I think the type checked for e5a should be conditional on __LONG_MAX__ > > __INT_MAX__; everything else there should be OK regardless. This patch does that. 2022-10-19 Jakub Jelinek PR c/107311 * gcc.dg/c2x-enum-1.c (enum e5): Expect e5a type inside of enum to be int rather than long if long isn't wider than int. --- gcc/testsuite/gcc.dg/c2x-enum-1.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/c2x-enum-1.c b/gcc/testsuite/gcc.dg/c2x-enum-1.c index c4371faaceeb..984a4e70d37e 100644 --- a/gcc/testsuite/gcc.dg/c2x-enum-1.c +++ b/gcc/testsuite/gcc.dg/c2x-enum-1.c @@ -82,7 +82,12 @@ enum e5 { e5a = __LONG_MAX__, e5b, e5c, e5d = ((typeof (e5b)) -1) < 0, e5e = (unsigned long) -1, e5f, e5g = ((typeof (e5e)) -1) > 0, - TYPE_CHECK (e5a, long), TYPE_CHECK (e5e, unsigned long) }; +#if __LONG_MAX__ > __INT_MAX__ + TYPE_CHECK (e5a, long), +#else + TYPE_CHECK (e5a, int), +#endif + TYPE_CHECK (e5e, unsigned long) }; extern enum e5 e5v; extern typeof (e5a) e5v; extern typeof (e5b) e5v; -- 2.47.2