From: charlet Date: Thu, 9 Sep 2010 13:53:19 +0000 (+0000) Subject: 2010-09-09 Robert Dewar X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=6fcda3b9b800223985b747e33fa34675446e892e;p=pf3gnuchains%2Fgcc-fork.git 2010-09-09 Robert Dewar * sinput-p.ads: Minor comment update. 2010-09-09 Arnaud Charlet * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset Entry_Call.State if needed so that the call is marked as cancelled by Check_Pending_Actions_For_Entry_Call. (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since this procedure may be called from a controlled operation (Initialize/Finalize). 2010-09-09 Vadim Godunko * impunit.adb: Correct spelling of package's name in the comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164101 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6fb4d82854b..59562e60574 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,22 @@ 2010-09-09 Robert Dewar + * sinput-p.ads: Minor comment update. + +2010-09-09 Arnaud Charlet + + * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset + Entry_Call.State if needed so that the call is marked as cancelled by + Check_Pending_Actions_For_Entry_Call. + (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since + this procedure may be called from a controlled operation + (Initialize/Finalize). + +2010-09-09 Vadim Godunko + + * impunit.adb: Correct spelling of package's name in the comment. + +2010-09-09 Robert Dewar + * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb: Minor reformatting diff --git a/gcc/ada/impunit.adb b/gcc/ada/impunit.adb index 24b94af2249..fe89924333e 100644 --- a/gcc/ada/impunit.adb +++ b/gcc/ada/impunit.adb @@ -55,7 +55,7 @@ package body Impunit is Non_Imp_File_Names_95 : constant File_List := ( ------------------------------------------------------ - -- Ada Hierarchy Units from Ada-83 Reference Manual -- + -- Ada Hierarchy Units from Ada-95 Reference Manual -- ------------------------------------------------------ "a-astaco", -- Ada.Asynchronous_Task_Control @@ -395,7 +395,7 @@ package body Impunit is "a-envvar", -- Ada.Environment_Variables "a-exetim", -- Ada.Execution_Time "a-extiti", -- Ada.Execution_Time.Timers - "a-izteio", -- Ada.Integer_Wide_Wide_TextIO; + "a-izteio", -- Ada.Integer_Wide_Wide_Text_IO "a-rttiev", -- Ada.Real_Time.Timing_Events "a-ngcoar", -- Ada.Numerics.Generic_Complex_Arrays "a-ngrear", -- Ada.Numerics.Generic_Real_Arrays diff --git a/gcc/ada/s-taenca.adb b/gcc/ada/s-taenca.adb index fba7691e3a2..14812a4464d 100644 --- a/gcc/ada/s-taenca.adb +++ b/gcc/ada/s-taenca.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- -- -- -- GNARL is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -590,6 +590,13 @@ package body System.Tasking.Entry_Calls is Entry_Call.Cancellation_Attempted := True; + -- Reset Entry_Call.State so that the call is marked as cancelled + -- by Check_Pending_Actions_For_Entry_Call below. + + if Entry_Call.State < Was_Abortable then + Entry_Call.State := Now_Abortable; + end if; + if Self_Id.Pending_ATC_Level >= Entry_Call.Level then Self_Id.Pending_ATC_Level := Entry_Call.Level - 1; end if; diff --git a/gcc/ada/s-tpobop.adb b/gcc/ada/s-tpobop.adb index f9ca610a060..0890181544d 100644 --- a/gcc/ada/s-tpobop.adb +++ b/gcc/ada/s-tpobop.adb @@ -958,7 +958,7 @@ package body System.Tasking.Protected_Objects.Operations is Send_Trace_Info (POT_Call, Entry_Index (E), Timeout); end if; - Initialization.Defer_Abort (Self_Id); + Initialization.Defer_Abort_Nestable (Self_Id); Lock_Entries (Object, Ceiling_Violation); if Ceiling_Violation then @@ -1009,7 +1009,7 @@ package body System.Tasking.Protected_Objects.Operations is end if; Entry_Call_Successful := Entry_Call.State = Done; - Initialization.Undefer_Abort (Self_Id); + Initialization.Undefer_Abort_Nestable (Self_Id); Entry_Calls.Check_Exception (Self_Id, Entry_Call); return; end if; @@ -1025,7 +1025,7 @@ package body System.Tasking.Protected_Objects.Operations is -- ??? Do we need to yield in case Yielded is False - Initialization.Undefer_Abort (Self_Id); + Initialization.Undefer_Abort_Nestable (Self_Id); Entry_Call_Successful := Entry_Call.State = Done; Entry_Calls.Check_Exception (Self_Id, Entry_Call); end Timed_Protected_Entry_Call; diff --git a/gcc/ada/sinput-p.ads b/gcc/ada/sinput-p.ads index 8f925bbc9a0..112a6f7d5da 100644 --- a/gcc/ada/sinput-p.ads +++ b/gcc/ada/sinput-p.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -54,7 +54,7 @@ package Sinput.P is -- the file cannot possibly be a legal subunit. This function does NOT do a -- complete parse of the file, or build a tree. It is used in gnatmake and -- gprbuild to decide if a body without a spec in a project file needs to - -- be compiled or not. + -- be compiled or not. Returns False if X = No_Source_File. type Saved_Project_Scan_State is limited private; -- Used to save project scan state in following two routines