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: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!newsfeed.stanford.edu!sn-xit-03!sn-xit-12!sn-xit-08!sn-xit-01!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: CTips Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: [OT] Re: Teaching new tricks to an old dog (C++ -->Ada) Date: Sat, 12 Mar 2005 14:40:56 -0500 Organization: Posted via Supernews, http://www.supernews.com Message-ID: <1136hf7dqea8sb6@corp.supernews.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-us, en MIME-Version: 1.0 References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <42309456$1@news.broadpark.no> <1110569032.207770@athnrd02> <1110607809.837000@athnrd02> <1110608948.651588@athnrd02> <1110609321.686344@athnrd02> <1136ao15lb0go9c@corp.supernews.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@supernews.com Xref: g2news1.google.com comp.lang.ada:9254 comp.lang.c++:45324 comp.realtime:1386 comp.software-eng:4949 Date: 2005-03-12T14:40:56-05:00 List-Id: Ed Falis wrote: > On Sat, 12 Mar 2005 12:46:11 -0500, CTips wrote: > >> For example, look at the Ada equivalent of the following code. >> typedef enum {0, 1, 2, 3} four_val; >> four_val x; >> x = (four_val) some_int; >> .... >> assert( x < 4); > > > > type Four_Val is range 0 .. 3; > X : Four_Val; > begin > X := Four_Val (Some_Int); > ... > pragma Assert (X < 4, "Something is seriously honked here"); > -- Currently supported by GNAT; part of Ada 2005 > -- Or write your own subprogram in Ada 95 as I did for AUnit > Do_Something_With (X); > > Sounds to me as though you just like to argue, because this one was > pretty silly. > > - Ed Did you compile it and see if the check was still in the generated code? If it is, I'd start wondering about the quality of the compiler... (unless there was something which disabled range propagation [or its equivalent] for asserts...)