Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: terminal designed for C |
| Date | 2012-12-17 13:20 -0800 |
| Organization | None to speak of |
| Message-ID | <ln38z4ideg.fsf@nuthaus.mib.org> (permalink) |
| References | (14 earlier) <dda13ffb-bf74-4a34-95df-8042c4f7bf5f@googlegroups.com> <k6fi5e$c6r$1@dont-email.me> <lnzk38s3vm.fsf@nuthaus.mib.org> <kfn38z4ikg5.fsf@x-alumni2.alumni.caltech.edu> <ln7gogifvk.fsf@nuthaus.mib.org> |
Keith Thompson <kst-u@mib.org> writes:
> Tim Rentsch <txr@alumni.caltech.edu> writes:
>> Keith Thompson <kst-u@mib.org> writes:
>>> James Kuyper <jameskuyper@verizon.net> writes:
>>>> On 10/26/2012 09:30 PM, kerravon wrote:
>>>>> On Saturday, October 27, 2012 11:39:28 AM UTC+11, Ian Collins wrote:
>>>> ...
>>>>>> I would expect a decent contemporary operating system to follow C99...
>>>>
>>>> Actually, that's not something that's necessarily up to the OS, though
>>>> some OS's do make a C compiler one of the standard utilities.
>>>>
>>>>> In order to do C99, C90 has to be covered as well.
>>>>
>>>> No, that isn't the case. A C99 compiler need not conform to C90, and
>>>> need not even have a option to do so. It may even be impossible to
>>>> conform to both simultaneously, though I'd have to think about that for
>>>> a while to be sure.
>>>
>>> Hmm. I think it would be possible for a compiler to conform to both C90
>>> and C99, though it would be ugly. [snip elaboration]
>>
>> Can't be done, because there are programs that are well-defined
>> in both languages but have different semantics in the two cases.
>
> I'd be interested in seeing an example.
After posting that, I realized one can find such examples by searching
for "QUIET CHANGE IN C99" in the C99 Rationale,
<http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf>.
Not all such changes preclude the possibility of a compiler making
careful implementation-defined choices to avoid running into them,
or by implementing the C99 semantics for cases of undefined behavior
in C90, but:
a = b //*divisor:*/ c
+ d;
means `a = b / c + d;` in C90, but `a = b + d;` in C99.
enum {a, b};
int different(void)
{
if (sizeof(enum {b, a}) != sizeof(int))
return a; /* a == 1 */
return b; /* which b? */
}
returns 0 in C90, 1 in C99.
strtod() behaves differently for an argument string such as
"0x12.34p-12", due to the introduction of hexadecimal floating-point
constants.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Will write code for food.
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
terminal designed for C kerravon <kerravon@w3.to> - 2012-10-22 21:19 -0700
Re: terminal designed for C Robert Wessel <robertwessel2@yahoo.com> - 2012-10-22 23:34 -0500
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-22 21:56 -0700
Re: terminal designed for C Sjouke Burry <s@b> - 2012-10-23 14:42 +0000
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-23 13:06 -0700
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-23 15:46 -0700
Re: terminal designed for C Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-23 20:29 -0400
Re: terminal designed for C Lew Pitcher <lpitcher@teksavvy.com> - 2012-10-23 21:26 -0400
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-24 02:59 -0700
Re: terminal designed for C Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-24 14:15 -0400
Re: terminal designed for C Lew Pitcher <lpitcher@teksavvy.com> - 2012-10-24 17:23 -0400
Re: terminal designed for C Lew Pitcher <lpitcher@teksavvy.com> - 2012-10-23 18:55 -0400
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-23 19:56 -0700
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-24 16:10 -0700
Re: terminal designed for C Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-24 20:15 -0400
Re: terminal designed for C Lew Pitcher <lpitcher@teksavvy.com> - 2012-10-24 21:13 -0400
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-24 21:09 -0700
Re: terminal designed for C "BartC" <bc@freeuk.com> - 2012-10-25 11:29 +0100
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-25 03:51 -0700
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-10-25 08:49 -0400
Re: terminal designed for C Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-25 09:04 -0400
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-25 14:11 -0700
Re: terminal designed for C Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-25 17:29 -0400
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 03:33 -0700
Re: terminal designed for C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-26 12:35 +0100
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 15:46 -0700
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-26 17:11 -0700
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 17:27 -0700
Re: terminal designed for C Ian Collins <ian-news@hotmail.com> - 2012-10-27 13:39 +1300
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 18:30 -0700
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-10-26 22:50 -0400
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-27 01:42 -0700
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-10-27 19:18 -0400
Re: terminal designed for C Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-17 10:48 -0800
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-12-17 12:27 -0800
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-12-17 15:51 -0500
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-12-17 13:35 -0800
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-12-17 16:48 -0500
Re: terminal designed for C Robert Wessel <robertwessel2@yahoo.com> - 2012-12-17 14:53 -0600
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-12-17 13:20 -0800
Re: terminal designed for C Tim Rentsch <txr@alumni.caltech.edu> - 2012-12-20 10:19 -0800
Re: terminal designed for C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-27 02:35 +0100
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 18:58 -0700
Re: terminal designed for C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-27 05:01 +0100
Re: terminal designed for C Robert Wessel <robertwessel2@yahoo.com> - 2012-10-27 00:56 -0500
Re: terminal designed for C James Kuyper <jameskuyper@verizon.net> - 2012-10-26 09:03 -0400
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-26 11:13 -0700
Re: terminal designed for C kerravon <kerravon@w3.to> - 2012-10-26 15:15 -0700
Re: terminal designed for C lawrence.jones@siemens.com - 2012-11-12 18:08 -0500
Re: terminal designed for C falk@rahul.net (Edward A. Falk) - 2012-10-24 17:29 +0000
Re: terminal designed for C Keith Thompson <kst-u@mib.org> - 2012-10-24 11:55 -0700
csiph-web