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: border1.nntp.dca3.giganews.com!border2.nntp.dca3.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!goblin3!goblin2!goblin.stu.neva.ru!news.stack.nl!reality.xs3.de!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Runtime startup code for the GNAT Runtime...and a bit of humble pie. Date: Wed, 27 Mar 2013 14:07:37 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1364411260 17571 69.95.181.76 (27 Mar 2013 19:07:40 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 27 Mar 2013 19:07:40 +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 X-Original-Bytes: 2719 Xref: number.nntp.dca.giganews.com comp.lang.ada:180814 Date: 2013-03-27T14:07:37-05:00 List-Id: "Diogenes" wrote in message news:f9e48953-18e9-4645-aae2-3caa4ad2a302@googlegroups.com... >Anyone know if there's a list of what parts of the Ada language can be >compiled statically >without any Runtime whatsoever? That's obviously compiler-specific (and probably specific to particular compiler versions as well). You need to specify a compiler and version to have any hope of a useful answer. (Certainly the answer is wildly different for Janus/Ada vs. GNAT vs. ObjectAda.) I really wouldn't expect such a list to exist. We don't have one for Janus/Ada, for instance; it's certainly the case that there are many things that require minimal runtime support but we've never had any reason to figure it out. Janus/Ada always assumes a small runtime. Since we provide the complete source code to the runtime in the professional packages, and the code includes a number of minimal support switches, you could make a version that requires nothing but memory setup and some form of "put_line" without too much trouble. (We used to sell embedded versions for bare 16-bit processors, but that business didn't translate to 32-bit processors.) I suspect that the situation is similar for GNAT. As far as correctness goes, that's what the ACATS is for. (Figuring out how to run it on a bare machine might be interesting, however.) It won't prove that absolutely everything works, but you'll get a fair certainty that you didn't make any major mistakes. Randy.