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.8 required=5.0 tests=BAYES_00,PLING_QUERY autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,345cecbee95ca646 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.19.132 with SMTP id f4mr2215105wie.2.1363001204730; Mon, 11 Mar 2013 04:26:44 -0700 (PDT) Path: bp2ni85591wib.1!nntp.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!ecngs!feeder2.ecngs.de!newsfeed.freenet.ag!takemy.news.telefonica.de!telefonica.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Mon, 11 Mar 2013 12:26:35 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130216 Thunderbird/17.0.3 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Bootstrapping a null procedure. Seriously?! References: <19d330ec-9b61-414e-abc3-e25a8c786b81@googlegroups.com> In-Reply-To: <19d330ec-9b61-414e-abc3-e25a8c786b81@googlegroups.com> Message-ID: <513dbf68$0$6580$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 11 Mar 2013 12:26:32 CET NNTP-Posting-Host: 1fd46b76.newsspool3.arcor-online.net X-Trace: DXC=EB\8Xfh5CR0kUFX=Y?aLP;McF=Q^Z^V384Fo<]lROoR18kF:Lh>_cHTX3j=6ZJDfO1;dF< X-Complaints-To: usenet-abuse@arcor.de Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Date: 2013-03-11T12:26:32+01:00 List-Id: On 11.03.13 11:37, Diogenes wrote: > I've been doing some binder experiments with this little gem.... > > procedure nullmain is > Been doing it to see just how many packages from the runtime have to be linked in order for the the thing to DO NOTHING! > Tips? Compilers may let you choose run-time systems. With GNAT, look up --RTS, pragma No_Run_Time, Configurable Runtime, and related documentation. A program nullmain is quite rare; I'd therefore not expect special circuitry to be built into the compiler for just this null program. Rather, a run-time system of an Ada compiler supports full Ada programs by default, including tasking and exceptions. See below, and above. The program nullmain doesn't actually do nothing. For a start, you can run the resulting executable, This creates a state change in your computer. OK, this may be nitpicking. Nullmain is, however, going to run as required by Ada, and as a rule of thumb, every statement can raise storage error, which might well be what an author of a null program wishes to happen, for testing, say. Nullmain will be running as part of the environment task, as expected. Nullmain may also be just a partition of a program, for some reason however likely or unlikely. Etc. That's the default. Choose a smaller run-time and add configuration pragmas as needed, if you need to.