Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.misty.com!news.iecc.com!.POSTED!nerds-end From: Ivan Godard Newsgroups: comp.compilers Subject: Re: Implementation dependent behaviour (WAS: Re: Programming language and IDE design) Date: Mon, 13 Jan 2014 12:47:52 -0800 Organization: A noiseless patient Spider Lines: 24 Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-01-012@comp.compilers> References: <13-11-025@comp.compilers> <14-01-007@comp.compilers> <14-01-008@comp.compilers> <14-01-011@comp.compilers> NNTP-Posting-Host: lnews.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: leila.iecc.com 1389719650 22786 64.57.183.51 (14 Jan 2014 17:14:10 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Tue, 14 Jan 2014 17:14:10 +0000 (UTC) Keywords: arithmetic, history, comment Posted-Date: 14 Jan 2014 12:14:10 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1079 On 1/10/2014 3:08 PM, glen herrmannsfeldt wrote: > Kaz Kylheku wrote: >> On 2014-01-08, Ivan Godard wrote: > > (snip) >>> I am such a CPU designer. We faced the "undefined" issue in our Mill >>> family of general-purpose CPUs (ootbcomp.com). Not only are languages >>> under-constraining, they are also sometimes over-constraining: signed >>> integer overflow is undefined in C but required to wrap in Java. > >> It's only undefined on paper. In reality, if you don't make it >> wrap in C like in Java, unknown numbers of C programs will break, >> and not all of them doing it by accident. > > Well, C has unsigned with defined wrap on overflow. C still allows for > ones complement or sign magnitude along with the more usual twos > complement. As I understand it, Unisys still sells some ones > complement machines. I am still waiting for a C compiler for the 7090 > to test out sign magnitude in C. Unisys sells *both* one's complement (Univac 1100 descendants) and sign-magnitude (Burroughs B6500 descendants). [Wow. Is it custom hardware, or really funky simulators on normal chips? -John]