Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!85.12.16.68.MISMATCH!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Hans Aberg Newsgroups: comp.compilers Subject: Re: Optimization techniques Date: Sat, 27 Apr 2019 23:01:10 +0200 Organization: A noiseless patient Spider Lines: 16 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-04-033@comp.compilers> References: <72d208c9-169f-155c-5e73-9ca74f78e390@gkc.org.uk> <19-04-020@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="6232"; mail-complaints-to="abuse@iecc.com" Keywords: C, C++, arithmetic, comment Posted-Date: 27 Apr 2019 17:13:19 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Content-Language: en-US X-Received-Bytes: 1987 X-Received-Body-CRC: 2031355415 Xref: csiph.com comp.compilers:2217 On 2019-04-25 17:46, Martin Ward wrote: > If signed overflow was given a defined > behaviour (such as the two's complement result), then compilers for > CPUs which do not implement two's complement operations would have to > generate less efficient code (but does anyone still make such a CPU?). All C++ compilers use two's complement, and as of C++20, that is required, cf. [1], "Range of values". It is required for int32_t etc in C++11 [2] and C99 [3]. 1. https://en.cppreference.com/w/cpp/language/types 2. https://en.cppreference.com/w/cpp/types/integer 3. https://en.cppreference.com/w/c/types/integer [I realize that if you look very hard, you can still find a few legacy machines that are not pure two's complement and do not have 8-bit byte addressing. But these days, so what. -John]