On 04/30/2011 01:16 AM, Gary V. Vaughan wrote: > Hi Eric, > >> >> argc is an int, therefore by definition, it is <= INT_MAX. >> >> - assert (0 < argc && argc <= INT_MAX); >> + assert (0 < argc); >> for (i = 1; i < (unsigned) argc; i++) >> { >> const char *arg = ARG((int) i); > > Since argc is immediately cast to an unsigned int, I think the test was > supposed to be: > > assert (0 < argc && argc <= UINT_MAX);
Except that INT_MAX < UINT_MAX, so that's also redundant. The real trick was that gcc was issuing spurious warnings if it didn't have proof that argc was positive, so all we really needed was the (0 < argc) term; my mistake in the earlier patch was adding a redundant term at the same time. -- Eric Blake ebl...@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ M4-patches mailing list M4-patches@gnu.org https://lists.gnu.org/mailman/listinfo/m4-patches