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,c32fe290813aec20 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news2.google.com!news1.google.com!newsfeed2.dallas1.level3.net!news.level3.com!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: New Ada portable GUI Library? Date: Thu, 17 Jan 2008 20:41:17 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <478c6743$1@news.post.ch> <478e5c18$1_5@news.bluewin.ch> <478fbb2e$1_6@news.bluewin.ch> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1200620477 22882 192.74.137.71 (18 Jan 2008 01:41:17 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Fri, 18 Jan 2008 01:41:17 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:eEO2pTzkklTwgzy9LAxpsYtKSaw= Xref: g2news1.google.com comp.lang.ada:19456 Date: 2008-01-17T20:41:17-05:00 List-Id: Gautier writes: > Ah, so it was just a question of switching -gnatE !! > I guess that even seasoned Ada programmers using GNAT don't wake up each > morning saying "Oh, without -gnatE, GNAT is not an Ada compiler legally > speaking. G'morning, Darling, by the way". :-) If you develop code from scratch, you probably don't want -gnatE. GNAT will impose some fairly minor restrictions on you, and in return you get a statically determined elaboration order that will work, and you don't have to mess around with the various elaboration control pragmas. And you can avoid the run-time overhead of elaboration checks on every call. If you also want to port to non-GNAT compilers, there's an option in GNAT that will tell you where to put those pragmas. It's nearly impossible to do it correctly without that help! If you have code developed on a non-GNAT compiler, then you might well want -gnatE. On the other hand, you might want to fix the code so it works without -gnatE, but that can be a lot of work! If anybody is confused about elaboration, there's a long section in the GNAT User's Guide that explains it all quite nicely (much more clearly than the Ada RM!). - Bob