[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] Implementation of ISO C99 <iso646.h>
From: |
David A. Wheeler |
Subject: |
Re: [Tinycc-devel] Implementation of ISO C99 <iso646.h> |
Date: |
Sun, 06 May 2007 21:58:49 -0400 (EDT) |
Rob Landley:
> Oh ick.
> Why doesn't it "#define begin {" and "#define end }" while it's at it?
Missed opportunity, I suppose. I'll let you send that change request to ISO
:-).
> Is this really required by c99?
Yes. It's defined in C99 section 7.9. Section 7.1.2 paragraph 2 lists the
"standard headers" which includes <iso646.h>. Section 4 paragraph 5 says that
a conforming hosted implementation has to accept ANY strictly conforming
program. And paragraph 4 says they can use the features defined in C99,
including iso646.h.
Officially, <iso646.h> is even required by C89. This header was added to C89 by
"Normative Addendum 1", which came out in 1995, _BEFORE_ C99 came out. Info
here: <http://en.wikipedia.org/wiki/C_standard_library>.
I don't think this is a big deal. It's a small file, and people who don't want
to use it can ignore it. And gcc includes it, so it's not like "no other
compiler supports it".
--- David A. Wheeler