From: Paul Eggert Date: Thu, 21 Nov 2002 05:12:27 +0000 (+0000) Subject: (ARRAY_CARDINALITY): Do not bother to #undef. X-Git-Tag: BISON-1_875~229 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/b973108e1ed4387a7fcc70dc9b43099ad8c97b75 (ARRAY_CARDINALITY): Do not bother to #undef. (ARGMATCH_CONSTRAINT): New macro. (ARGMATCH_ASSERT): Use it. --- diff --git a/lib/argmatch.h b/lib/argmatch.h index b7193009..eb91f51a 100644 --- a/lib/argmatch.h +++ b/lib/argmatch.h @@ -1,5 +1,5 @@ /* argmatch.h -- definitions and prototypes for argmatch.c - Copyright (C) 1990, 1998, 1999, 2001 Free Software Foundation, Inc. + Copyright (C) 1990, 1998, 1999, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +40,12 @@ cost, since it will be statically evalauted to `assert (0)' or `assert (1)'. Unfortunately there is no -Wassert-0. */ -# undef ARRAY_CARDINALITY # define ARRAY_CARDINALITY(Array) (sizeof ((Array)) / sizeof (*(Array))) -# define ARGMATCH_ASSERT(Arglist, Vallist) \ - assert (ARRAY_CARDINALITY ((Arglist)) == ARRAY_CARDINALITY ((Vallist)) + 1) +# define ARGMATCH_CONSTRAINT(Arglist, Vallist) \ + (ARRAY_CARDINALITY ((Arglist)) == ARRAY_CARDINALITY ((Vallist)) + 1) +# define ARGMATCH_ASSERT(Arglist, Vallist) \ + assert (ARGMATCH_CONSTRAINT (Arglist, Vallist)) /* Return the index of the element of ARGLIST (NULL terminated) that matches with ARG. If VALLIST is not NULL, then use it to resolve