Robert Dewar wrote: > Frode Tenneboe wrote in message news:<1010151875.216658@edh3>... >> However, I find the above warning a bit misplaced in my >> case. I would have preferred: >> >> bar.adb:69:04: warning: instantiation of "Client" may raise Program_Error >> bar.adb:69:04: warning: missing pragma Elaborate_Body in spec > Well perhaps you would have preferred that the compiler > tell you this, but it won't because it is wrong! The use > of a EB pragma in the spec is not an adequate solution > for this case! I realize that it is not necesarily true in all cases, but won't the compiler be able to detect if pragma EB is appropriate? I find the section starting with "The rule is simple.", second from bottom on page 119 in the GNAT 3.13p UG to be quite concise. >> I'm also unsure if this is always true, but > >> alternatively: > It is not always true My problems mainly comes from generic units which is repeatedly used around everywhere with nesting, etc. If I start from the bottom and use pure/preelaborate where possible and if the warning dissappears after using EB pragma - am I home safe? >> foo.adb:69:04: warning: instantiation of "Client" may raise Program_Error >> foo.adb:69:04: warning: missing pragma Elaborate_All for "bar" or >> foo.adb:69:04: warning: missing pragma Elaborate_Body in "bar" > This is getting two separate things mixed up I am afraid. Possibly - could you please elaborate? :) I'm trying to convey that both solutions might solve the 'problem'. For the user the most desireable would (probably) be to fix the problem in the client. -Frode -- ^ Frode Tenneb� | email: ft@edh.ericsson.se ^ | Ericsson Radar AS. N-1788 Halden | | | Phone: +47 69 21 41 47 | Frode@IRC | | with Standard.Disclaimer; use Standard.Disclaimer; |