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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Is this a bug in my code or the compiler? Date: Sat, 13 Jun 2015 22:13:16 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <4f4cd4b1-0a6d-441b-a4f7-98add70e4e1e@googlegroups.com> <1p71vf5ckbudu$.1qcb9ot1jpysk.dlg@40tude.net> NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1434251597 24306 24.196.82.226 (14 Jun 2015 03:13:17 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sun, 14 Jun 2015 03:13:17 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:26314 Date: 2015-06-13T22:13:16-05:00 List-Id: >David Botton" wrote in message >news:afb6fe82-1f67-49a8-b4b1-f814a71ba8fd@googlegroups.com... >> That is one of the reasons why in-out's were not allowed for functions in >> Ada 83. The code is clearly erroneous because the computation order is >> not >> defined. Possibly Token_End is called before Token_Start! > > A programmer having to worry about order of operation in a concatenation > operation is a language flaw in my opinion. I can accept the issue in > evaluation > order of Boolean expressions or numerics (and knew of that), but not in > non numeric types. Yes, but at least we tried to prevent obvious cases. (It's way too late to change the order of evaluation rules for Ada!) And you need a lot more complex program to show a problem. Simple cases are illegal; we only made the rules apply to simple cases so that there clearly was a problem before the code was rejected. Randy.