Subject: Re: void main
To: None <apb@iafrica.com, jonathan@dsg.stanford.edu>
From: Peter Seebach <seebs@solon.com>
List: current-users
Date: 03/27/1996 16:40:20
I merely checked in the bug, originally, because I have also submitted a
change request (probably to be resubmitted with better cleaning) for making
gcc warn about this non-ANSIism, and with our now default -Werror, this
renders "void main" a bug everywhere.
I certainly think we should weed out any calls to variadic functions without
prototypes, and that we should eliminate the use of varargs.h completely.
Why? Because we can, and we can benefit from doing it.
Strictly speaking, the standard headers are not required to be in C, or
even to be files, and *anything* may occur in them. No requirements
exist for the non-standard headers.
But yes, I personally would rather see long long removed, and long made 64
bits on all ports. I'd gladly take a 15-20% speed penalty for the option
of using -pedantic -Wall -Werror on code that uses <stdio.h>. That's assuming
the speed penalty would be that bad; I honestly doubt it would be on most
code, simply because "int" is used most of the time.
And off_t is not required to be an integral type, but fpos_t is. :)
quad_t I don't mind; although it's technically user namespace, POSIX has
discouraged users from using foo_t, and I don't care. :)
I would like to be able to claim that NetBSD offers a conforming implementation
of C. This would be a *lot* of work. And yes, I am volunteering, as soon as
I magically get given the money I'd need to take a few months off of work to:
1. Replace "long long" with "int64_t" everywhere.
2. Make long 64 bits, and start fixing bugs. :)
With the alpha port already running, this might not be as bad as it might
sound.
I would like to see gcc extensions deprecated throughout anything other
than <stdarg.h>. :)
-s