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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,92f1b9f519795959 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Thu, 03 Nov 2005 20:51:35 -0600 From: "Steve" Newsgroups: comp.lang.ada References: <1131029395.700984.154230@f14g2000cwb.googlegroups.com> Subject: Re: Gnat 3.15p pragma issues Date: Thu, 3 Nov 2005 18:51:38 -0800 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original Message-ID: NNTP-Posting-Host: 24.20.111.245 X-Trace: sv3-4khABHkBVGvvAEot+2rbE/doeYX89KUZaV5ryzPFk8HJyKqXVZdUfLF1deVTFvNNrywXud4epbAqjx0!Au6BunqitHFlNrUXSMA67FsOPJyB4CypZ/IqjD3agdHlNP73L3G4G3/Gb2EwUzMVoWTc8JTeSI1c X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:6169 Date: 2005-11-03T18:51:38-08:00 List-Id: "Erik Woulfe" wrote in message news:1131029395.700984.154230@f14g2000cwb.googlegroups.com... >I am attempting to move a large amount of code from an Apex compiler > system to the Gnat 3.15p compiler in order to gain more flexibility in > mutli-language code interaction (namely between C++ and Ada). One of > the problems that I encounter when making this move is that the Gnat > compiler does not recognize many of the pragma statements that Apex had > no problems with. However, I do not think that any/all of these are > Apex specific, such as pragma "Inline" and pragma "Not_Elaborated". Has > anyone had any experience with having common pragmas not being > recognized? Am I perhaps not referencing the correct libraries in my > gnatmake call? > > Thanks for any help. > Since it isn't any longer than a long winded post, here's the list of language defined pragmas from the LRM: Annex L (informative): Language-Defined Pragmas 1 This Annex summarizes the definitions given elsewhere of the language-defined pragmas. 2 pragma All_Calls_Remote[(library_unit_name)]; - See E.2.3. 3 pragma Asynchronous(local_name); - See E.4.1. 4 pragma Atomic(local_name); - See C.6. 5 pragma Atomic_Components(array_local_name); - See C.6. 6 pragma Attach_Handler(handler_name, expression); - See C.3.1. 7 pragma Controlled(first_subtype_local_name); - See 13.11.3. 8 pragma Convention([Convention =>] convention_identifier,[Entity =>] local_name); - See B.1. 9 pragma Discard_Names[([On => ] local_name)]; - See C.5. 10 pragma Elaborate(library_unit_name{, library_unit_name}); - See 10.2.1. 11 pragma Elaborate_All(library_unit_name{, library_unit_name}); - See 10.2.1. 12 pragma Elaborate_Body[(library_unit_name)]; - See 10.2.1. 13 pragma Export( [Convention =>] convention_identifier, [Entity =>] local_name [, [External_Name =>] string_expression] [, [Link_Name =>] string_expression] ); - See B.1. 14 pragma Import( [Convention =>] convention_identifier, [Entity =>] local_name [, [External_Name =>] string_expression] [, [Link_Name =>] string_expression] ); - See B.1. 15 pragma Inline(name {, name}); - See 6.3.2. 16 pragma Inspection_Point[(object_name {, object_name})]; - See H.3.2. 17 pragma Interrupt_Handler(handler_name); - See C.3.1. 18 pragma Interrupt_Priority[(expression)]; - See D.1. 19 pragma Linker_Options(string_expression); - See B.1. 20 pragma List(identifier); - See 2.8. 21 pragma Locking_Policy(policy_identifier); - See D.3. 22 pragma Normalize_Scalars; - See H.1. 23 pragma Optimize(identifier); - See 2.8. 24 pragma Pack(first_subtype_local_name); - See 13.2. 25 pragma Page; - See 2.8. 26 pragma Preelaborate[(library_unit_name)]; - See 10.2.1. 27 pragma Priority(expression); - See D.1. 28 pragma Pure[(library_unit_name)]; - See 10.2.1. 29 pragma Queuing_Policy(policy_identifier); - See D.4. 30 pragma Remote_Call_Interface[(library_unit_name)]; - See E.2.3. 31 pragma Remote_Types[(library_unit_name)]; - See E.2.2. 32 pragma Restrictions(restriction{, restriction}); - See 13.12. 33 pragma Reviewable; - See H.3.1. 34 pragma Shared_Passive[(library_unit_name)]; - See E.2.1. 35 pragma Storage_Size(expression); - See 13.3. 36 pragma Suppress(identifier [, [On =>] name]); - See 11.5. 37 pragma Task_Dispatching_Policy(policy_identifier ); - See D.2.2. 38 pragma Volatile(local_name); - See C.6. 39 pragma Volatile_Components(array_local_name); - See C.6. Steve (The Duck)