This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Tested on i686-linux, committed on mainline. When propagating an exception raised during a protected entry call, we should also propagate the exception message as required by Ada semantics. -- Test case: gnatmake -q q && q should display: Exception name: P.E Message: yo! -- package P is E : exception; protected PO is entry Wait; procedure Do_Raise; private Raised : Boolean := False; end PO; end P; with Ada.Exceptions; use Ada.Exceptions; package body P is protected body PO is entry Wait when Raised is begin Raise_Exception (E'Identity, "yo!"); end Wait; procedure Do_Raise is begin Raised := True; end Do_Raise; end PO; end P; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with P; use P; procedure Q is task R; task body R is begin PO.Do_Raise; end R; begin PO.Wait; exception when X : others => Put_Line (Exception_Information (X)); end Q; Also add support for pragma Restrictions Max_Entry_Queue_Length. It had already been done for the Ravenscar profile, and has been finished for the general case (for any value of the queue length). 2005-06-14 Arnaud Charlet <charlet@adacore.com> Jose Ruiz <ruiz@adacore.com> * s-tposen.adb, s-tpobop.adb (Exceptional_Complete_Rendezvous): Save the occurrence and not only the exception id. (PO_Do_Or_Queue): Before queuing a task on an entry queue we check that there is no violation of the Max_Entry_Queue_Length restriction (if it has been set); Program_Error is raised otherwise. (Requeue_Call): Before requeuing the task on the target entry queue we check that there is no violation of the Max_Entry_Queue_Length restriction (if it has been set); Program_Error is raised otherwise.
Attachment:
difs.53
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |