summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-09-09 15:53:19 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-09-09 15:53:19 +0200
commit5fdc49eca660d130ec4815eb7a804aa7fd89773d (patch)
treee086c42c03e0ad00c16188e846a79c6649bb7102 /gcc/ada
parentb100151b6d20180b9e11b259943fd8e63fdec865 (diff)
downloadgcc-5fdc49eca660d130ec4815eb7a804aa7fd89773d.tar.gz
[multiple changes]
2010-09-09 Robert Dewar <dewar@adacore.com> * sinput-p.ads: Minor comment update. 2010-09-09 Arnaud Charlet <charlet@adacore.com> * 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 <godunko@adacore.com> * impunit.adb: Correct spelling of package's name in the comment. From-SVN: r164101
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog17
-rw-r--r--gcc/ada/impunit.adb4
-rw-r--r--gcc/ada/s-taenca.adb9
-rw-r--r--gcc/ada/s-tpobop.adb6
-rw-r--r--gcc/ada/sinput-p.ads4
5 files changed, 32 insertions, 8 deletions
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 <dewar@adacore.com>
+ * sinput-p.ads: Minor comment update.
+
+2010-09-09 Arnaud Charlet <charlet@adacore.com>
+
+ * 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 <godunko@adacore.com>
+
+ * impunit.adb: Correct spelling of package's name in the comment.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
* 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