From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00,INVALID_MSGID, PLING_QUERY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4873305131bf4d94 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,4873305131bf4d94 X-Google-Attributes: gid1014db,public X-Google-Thread: 109fba,4873305131bf4d94 X-Google-Attributes: gid109fba,public X-Google-Thread: fdb77,4873305131bf4d94 X-Google-Attributes: gidfdb77,public From: jmccarty@sun1307.spd.dsccc.com (Mike McCarty) Subject: Re: How big is an int? (was: Yet another stupid language war (was: ... the only languages you need!!)) Date: 1997/11/07 Message-ID: <63toc4$baf@sun001.spd.dsccc.com>#1/1 X-Deja-AN: 288180242 References: <34557f2b.1934172@news.mindspring.com> <63qkp9$bqr$3@darla.visi.com> <63r2sv$rgm$1@helios.crest.nt.com> Organization: DSC Communications Corporation Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.java.advocacy,comp.lang.c,comp.lang.c++ Date: 1997-11-07T00:00:00+00:00 List-Id: In article , Dan Pop wrote: )In <63r2sv$rgm$1@helios.crest.nt.com> kaz@helios.crest.nt.com (Kaz Kylheku) writes: ) )>In article <63qkp9$bqr$3@darla.visi.com>, )>Peter Seebach wrote: )>> )>>No. Short is not required to be any smaller than long, nor any larger )>>than char. A system where all four types are 64-bits is conforming. )> )>But it cannot be a conforming hosted implementation, as I pointed out )>in the other article, because the getc() and putc() functions require )>the int type to represent everything in the range of 0 to UCHAR_MAX, )>plus the extra value EOF. It therefore follows that a hosted implementation )>requires the additional requirement: )> )> char < int ) )How did you get the idea that EOF must be an "extra value"? The standard )only requires it to be negative, not to be different from ANY value )returned by a successful call to getc(). It's true that EOF does not have to be an "extra value". However, it -is- required to be -negative-. Further, there seems to be an implicit requirement that an int can represent any value which an "unsigned char" can represent (see 7.3). If one takes the wording In all cases the argument is an int, the value of which shall be representable as an unsigned char or shall equal the value of the macro EOF. as meaning that the values representable as unsigned char is a subset of the values representable as an int, then I think that it follows that it is a -proper- subset. That would seem to imply that sizeof int > sizeof char. Mike -- ---- char *p="char *p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);} This message made from 100% recycled bits. I don't speak for DSC. <- They make me say that.