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: Q: setting an address with pure? Date: Thu, 16 Jul 2015 14:14:29 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1437074070 13073 24.196.82.226 (16 Jul 2015 19:14:30 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 16 Jul 2015 19:14:30 +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:26831 Date: 2015-07-16T14:14:29-05:00 List-Id: "Brian Drummond" wrote in message news:mo7t28$6h2$1@dont-email.me... > On Wed, 15 Jul 2015 08:50:06 -0700, rrr.eee.27 wrote: ... >> I made the type System.Address globaly visible as a 32-bit unsigned. >> That's why the above statements work in AVR-Ada and probably in MSP-Ada > > Ah! Well if that is permitted by the LRM (and obviously, only for targets > where it is valid) it certainly makes life easier! It's permitted by the RM. There is Implementation Advice that System.Address be a private type, but of course the reason that it is advice is that it might not be appropriate to all implementations. In this particular case, though, its advice mainly because it would have been incompatible on some implementations to make it private (Janus/Ada is in that category); I think the feeling was that new implementations should have it private. (But we now know that's clearly wrong if preelaboration is going to be used with hardware access.) Hopefully, Ada 202x will find a solution to this problem (and maybe even in the 2018 update), so it's fixed for good rather than depending on the goodness of your RTS implementer (many who are likely to be unaware of this problem). Randy.