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=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,beb6b378a857b7ea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-12-23 08:25:08 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!logbridge.uoregon.edu!dispose.news.demon.net!news.demon.co.uk!demon!pogner.demon.co.uk!zap!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Use of entries using Ravenscar Date: 22 Dec 2001 12:25:30 +0000 Organization: Pushface Message-ID: References: <4948089f.0112180828.2ea4c80@posting.google.com> <4948089f.0112192354.5411f0ed@posting.google.com> NNTP-Posting-Host: localhost X-NNTP-Posting-Host: pogner.demon.co.uk:158.152.70.98 X-Trace: news.demon.co.uk 1009124365 nnrp-08:1281 NO-IDENT pogner.demon.co.uk:158.152.70.98 X-Complaints-To: abuse@demon.net NNTP-Posting-Date: 22 Dec 2001 12:25:32 GMT X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:18259 Date: 2001-12-22T12:25:32+00:00 List-Id: Stephen Leake writes: > In any case, this is complaining about the internals of the GNAT > runtime system; note the package name "System.Tasking". It could be > you have some object and/or .ali files hanging around from either > "the old compiler" or "compiling without Pragma (Ravenscar)". Try > deleting _everything_, and recompiling from scratch. The example gives the same error messages under 3.14a1. Ravenscar is (implemented as) a set of restrictions, and it turns out that the problem shows up only if you have all three of pragma Restrictions (No_Abort_Statements); pragma Restrictions (No_Entry_Queue); pragma Restrictions (Max_Asynchronous_Select_Nesting => 0); The listing produced with -gnatDG is with ada; with ada; with ada.ada__real_time; with ada.ada__text_io; with signal_handler_test; use ada.ada__real_time, ada.ada__text_io, signal_handler_test; with ada.ada__real_time.ada__real_time__delays; with system; with system.system__tasking; with system.system__tasking.system__tasking__protected_objects. system__tasking__protected_objects__single_entry; procedure test_entry is period : constant duration := 500000000.0E-8; next_time : ada__real_time__time; L_1 : label begin L_1 : loop next_time := ada__real_time__Oadd (ada__real_time__clock, ada__real_time__to_time_span (period)); ada__real_time__delays__delay_until (next_time); B1b : declare begin system__tasking__protected_objects__single_entry__protected_single_entry_call (signal_handler_test__protected_signal_handler_testTV!( signal_handler_test__protected_signal_handler_test)._object' unchecked_access, system__null_address, system__tasking__simple_call); end B1b; end loop L_1; end test_entry; which is a lot simpler than what's generated without Ravenscar. This really does look like a candidate for support from those who know what they're talking about!