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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,582dff0b3f065a52 X-Google-Attributes: gid109fba,public X-Google-Thread: 1014db,582dff0b3f065a52 X-Google-Attributes: gid1014db,public X-Google-ArrivalTime: 2001-08-25 18:10:31 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.cidera.com!Cidera!nyccyc01!news-out.nyc.rr.com!typhoon.nyc.rr.com.POSTED!not-for-mail From: "Igor Tandetnik" Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++ References: <3B6555ED.9B0B0420@sneakemail.com> <87n15lxzzv.fsf@deneb.enyo.de> <3B672322.B5EA1B66@home.com> <4a885870.0108112341.7ce02ac0@posting.google.com> <3B834E5D.B0D26AB1@adaworks.com> <9lvsic$bet9s$1@ID-9852.news.dfncis.de> <9m0193$grs$1@bird.wu-wien.ac.at> <3B83F042.4CFB073D@home.com> <3B8462C8.5596C089@yahoo.com> Subject: Re: Subtle Bugs, kudos Ada (was How Ada ...Red Code ...) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: <30Yh7.54069$l7.6430776@typhoon.nyc.rr.com> Date: Sun, 26 Aug 2001 01:10:23 GMT NNTP-Posting-Host: 66.65.77.58 X-Complaints-To: abuse@rr.com X-Trace: typhoon.nyc.rr.com 998788223 66.65.77.58 (Sat, 25 Aug 2001 21:10:23 EDT) NNTP-Posting-Date: Sat, 25 Aug 2001 21:10:23 EDT Organization: Road Runner - NYC Xref: archiver1.google.com comp.lang.ada:12422 comp.lang.c:76922 comp.lang.c++:85688 Date: 2001-08-26T01:10:23+00:00 List-Id: "Joe Maun" wrote in message news:3B8462C8.5596C089@yahoo.com... > Kaz Kylheku wrote: > > Also, shifting right a signed quantity whose sign bit is 1 is > > implementation-defined; > > This doesn't matter in this case. The value that the vacated bits take > is indeed implementation defined, but the sign bit must reliably be > shifted into the required position, since nothing frees it from the > requirement that "The result of E1 >> E2 is E1 right-shifted E2 bit > positions". > > > I think it's undefined in C99. > > No, it isn't. > > -- > Joe Maun > Montreal, QC > Canada I don't know. C99 says: "If E1 has a signed type and a negative value, the resulting value is implementation-defined." It says the whole result of the shift is implementation-defined, not that the bits to the left of original bits are implementation-defined. I don't see any guarantee that original bits have to be preserved. C++ standard has the same exact wording. -- With best wishes, Igor Tandetnik