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=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,5bef5e9c5bedc675 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-01-02 13:19:55 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!feed.news.tiscali.de!tiscali!newsfeed1.ip.tiscali.net!proxad.net!usenet-fr.net!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: Re: [No_Elaboration_Code] GNAT still generating rep_to_pos, why? Date: 02 Jan 2004 16:17:59 -0500 Organization: Cuivre, Argent, Or Message-ID: References: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: melchior.cuivre.fr.eu.org 1073078292 85792 80.67.180.195 (2 Jan 2004 21:18:12 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Fri, 2 Jan 2004 21:18:12 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: In-Reply-To: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 X-Virus-Scanned: by amavisd-new-20030616-p5 (Debian) at ada-france.org X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.3 Precedence: list List-Id: Gateway to the comp.lang.ada Usenet newsgroup List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: archiver1.google.com comp.lang.ada:4050 Date: 2004-01-02T16:17:59-05:00 "Luke A. Guest" writes: > I have this in my gnat.adc (not gnat.ads) file: > > pragma No_Run_Time; > pragma Restrictions(No_Exceptions); > > This is in the GNAT RM from the GCC site: > > Cool. So it's supported, and documented. I'd say you have found a bug in the implementation of No_Run_Time, but I'm not really clear. > >> I can remove the redundant code by using the following GCC options > >> "-ffunction-sections -fdata-sections" and linker option "--gc-sections" > >> but this is a workaround rather than a solution. > > > > Well, GNAT is not normally used to build kernels, and kernels are > > _not_ like typical user programs. So I would not be surprised to need > > some extra compiler/linker options. I'd call that a "solution", if > > there is not a GNAT pragma that does what you need. > > Although a kernel is not a *normal* program, Ada was designed to be > used in the embedded sector with or without an OS, so there must be > a solution as somebody must've needed to do what I'm wanting to do > at some point. Well, when Ada is used "without an OS", that usually means the compiler vendor supplies a "run-time" that looks a lot like a multi-threading OS. That run-time may be written in Ada. If it is, it probably uses some custom stuff in the vendor's compiler to get things done. If all you need in the way of "custom stuff" is the gcc flags above, I'd say GNAT is in very good shape for doing what you want. At the same time, it wouldn't hurt to send a message to report@gnat.com, describing what you are doing and what you'd like to see. Phrase it as a bug in No_Run_Time if you want. If enough people (especially paying customers) ask for the same thing, eventually it will get done. -- -- Stephe