Mail Archives: djgpp-workers/2003/02/01/19:03:08
Hello.
ams AT ludd DOT luth DOT se wrote:
> Either have vfscanf(), vscanf() and vsscanf() been added to the wrong
> section in stdio.h or they have become standard (in C99).
They are standard now.
> Likewise for strtoll() and strtoull() in stdlib.h.
They are standard now.
I haven't been through the headers yet, to check whether things are declared
in the right places.
> If they have become standard in C99, do we just move them? This would
> result in polluting the name space for C89. On the other hand trying
> to maintain declaring them in different places depending on which
> standard is selected (given we can detect this) would be a nightmare.
I think we should have another ANSI section in the header files. Something
like this, perhaps:
#ifndef __dj_ENFORCE_ANSI_FREESTANDING
...C89 declarations here...
#if (__STDC_VERSION__ >= 199901L) || !defined(__STRICT_ANSI)
...C99 declarations here
#endif
#ifndef __STRICT_ANSI__
...
#ifndef _POSIX_SOURCE
...
#endif
#endif
#endif
There would also be another section in <libc/stubs.h> for ANSI C89 functions
that call ANSI C99 functions (if there are any). tests/libclink would need
updating too.
Bye, Rich =]
--
Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
- Raw text -