Hi Joseph,

On Fri, May 16, 2025 at 12:25:39PM +0000, Joseph Myers wrote:
> On Fri, 16 May 2025, Alejandro Colomar wrote:
> 
> > -  Add <assert.h> (and NDEBUG) to some test files that were missing it,
> >    and also the forward declaration of strcmp(3).
> 
> Depending on libc headers like this in tests is discouraged.  The usual 
> idiom is to use abort () on failure of a runtime check (rather than 
> assert) and to declare abort in the test (or use __builtin_abort to avoid 
> needing the declaration).

Hmmm, I've been trying to find a compromise between readability and
simplicity, and I think I have something.  I've seen some tests that
define assert() themselves.  I like assert(3) because it's more
readable compared to a conditional plus abort(3).

So, how do you feel about the following change?

        diff --git i/gcc/testsuite/gcc.dg/countof-stdcountof.c 
w/gcc/testsuite/gcc.dg/countof-stdcountof.c
        index a7fe4079c69..2fb0c6306ef 100644
        --- i/gcc/testsuite/gcc.dg/countof-stdcountof.c
        +++ w/gcc/testsuite/gcc.dg/countof-stdcountof.c
        @@ -3,8 +3,7 @@
         
         #include <stdcountof.h>
         
        -#undef NDEBUG
        -#include <assert.h>
        +#define assert(e)  ((e) ? (void) 0 : __builtin_abort ())
         
         extern int strcmp (const char *, const char *);
         
        diff --git i/gcc/testsuite/gcc.dg/countof-vmt.c 
w/gcc/testsuite/gcc.dg/countof-vmt.c
        index f84d5aa618d..cf4bfd1aa74 100644
        --- i/gcc/testsuite/gcc.dg/countof-vmt.c
        +++ w/gcc/testsuite/gcc.dg/countof-vmt.c
        @@ -1,8 +1,7 @@
         /* { dg-do run } */
         /* { dg-options "-std=c2y" } */
         
        -#undef NDEBUG
        -#include <assert.h>
        +#define assert(e)  ((e) ? (void) 0 : __builtin_abort ())
         
         void
         inner_vla_noeval (void)
        diff --git i/gcc/testsuite/gcc.dg/countof-zero.c 
w/gcc/testsuite/gcc.dg/countof-zero.c
        index 07dfc2bfbf2..678a08148a5 100644
        --- i/gcc/testsuite/gcc.dg/countof-zero.c
        +++ w/gcc/testsuite/gcc.dg/countof-zero.c
        @@ -1,8 +1,7 @@
         /* { dg-do run } */
         /* { dg-options "-std=c2y" } */
         
        -#undef NDEBUG
        -#include <assert.h>
        +#define assert(e)  ((e) ? (void) 0 : __builtin_abort ())
         
         void
         vla (void)
        diff --git i/gcc/testsuite/gcc.dg/countof.c 
w/gcc/testsuite/gcc.dg/countof.c
        index 15ed7719100..534488501c6 100644
        --- i/gcc/testsuite/gcc.dg/countof.c
        +++ w/gcc/testsuite/gcc.dg/countof.c
        @@ -1,8 +1,7 @@
         /* { dg-do run } */
         /* { dg-options "-std=c2y -pedantic-errors" } */
         
        -#undef NDEBUG
        -#include <assert.h>
        +#define assert(e)  ((e) ? (void) 0 : __builtin_abort ())
         
         void
         array (void)


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>

Attachment: signature.asc
Description: PGP signature

Reply via email to