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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,4215feeab2a8154a X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!h30g2000vbr.googlegroups.com!not-for-mail From: REH Newsgroups: comp.lang.ada Subject: Re: C++0x and Threads - a poor relation to Ada's tasking model? Date: Fri, 14 Aug 2009 07:49:12 -0700 (PDT) Organization: http://groups.google.com Message-ID: <625c577b-9097-4a8d-a9cb-dd986dd81f89@h30g2000vbr.googlegroups.com> References: <128d63da-361f-4e33-be5e-e06bdc71e39f@r34g2000vba.googlegroups.com> <850893f5-46e5-443f-af0f-f16eef5cfa37@n2g2000vba.googlegroups.com> <57766742-5e6e-4b68-8094-57db1fa8951d@s15g2000yqs.googlegroups.com> <2kra85p2lsrd7200mcfr9fn65s123468br@4ax.com> NNTP-Posting-Host: 69.205.133.144 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1250261352 26554 127.0.0.1 (14 Aug 2009 14:49:12 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 14 Aug 2009 14:49:12 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: h30g2000vbr.googlegroups.com; posting-host=69.205.133.144; posting-account=GwkXCgoAAABFSG45Q--uHVZG6zn6ec-e User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11,gzip(gfe),gzip(gfe) Xref: g2news2.google.com comp.lang.ada:7789 Date: 2009-08-14T07:49:12-07:00 List-Id: On Aug 14, 10:30=A0am, John McCabe wrote: > Not significantly as far as I can see; C++ says behaviour on overflow > on signed integers is undefined, and C seems to say that it's up to > the implementation (which seems like the same thing). Both say > unsigned overflow doesn't occur because they use modulo arithmetic. > > Unless of course I'm looking in the wrong place. > No, you're not. They both say that signed integer overflow is undefined behavior. They diverge when it comes to other portability guarantees. Both C and C++ have guaranteed minimum ranges (e.g., int must be at least +/- 32767), and that each successive int type (that is char, short, int, long, etc.) must at least support the range of the one before it. It gets nasty after that because (if I remember correctly), only C++ says that the SIZE of an integer type must also be least as big as the one before it. I believe it is technically acceptable for an implementation of standard C for sizeof(int) to be larger than sizeof(long). This is, of course, pedantry on my part but I just wanted to show that isn't safe to assume that C and C++ share the same rules. REH