summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-tree.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-15 12:14:57 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-15 12:14:57 +0000
commitb2a537cf766cddb102d1210b8f58c40513657c23 (patch)
tree5fbf723004043d0918a910e4684d2e5969f3cc72 /gcc/ada/prj-tree.adb
parent49260fa57f719c6d0c779e62abe0e05a0cf2e09b (diff)
downloadgcc-b2a537cf766cddb102d1210b8f58c40513657c23.tar.gz
2009-04-15 Robert Dewar <dewar@adacore.com>
* rtsfind.adb: Minor reformatting. 2009-04-15 Emmanuel Briot <briot@adacore.com> * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames Restore, and free the saved context. 2009-04-15 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check for illegal private extension from a synchronized interface parent in front of check for illegal limited extension so that limited extension from a synchronized interface will be rejected. (Check_Ifaces): Check that a private extension that has a synchronized interface as a progenitor must be explicitly declared synchronized. Also check that a record extension cannot derive from a synchronized interface. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146103 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-tree.adb')
-rw-r--r--gcc/ada/prj-tree.adb15
1 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ada/prj-tree.adb b/gcc/ada/prj-tree.adb
index 61a329fcb02..e9bc4a38853 100644
--- a/gcc/ada/prj-tree.adb
+++ b/gcc/ada/prj-tree.adb
@@ -1502,11 +1502,14 @@ package body Prj.Tree is
Comments.Set_Last (0);
end Reset_State;
- -------------
- -- Restore --
- -------------
+ ----------------------
+ -- Restore_And_Free --
+ ----------------------
+
+ procedure Restore_And_Free (S : in out Comment_State) is
+ procedure Unchecked_Free is new
+ Ada.Unchecked_Deallocation (Comment_Array, Comments_Ptr);
- procedure Restore (S : Comment_State) is
begin
End_Of_Line_Node := S.End_Of_Line_Node;
Previous_Line_Node := S.Previous_Line_Node;
@@ -1520,7 +1523,9 @@ package body Prj.Tree is
Comments.Increment_Last;
Comments.Table (Comments.Last) := S.Comments (J);
end loop;
- end Restore;
+
+ Unchecked_Free (S.Comments);
+ end Restore_And_Free;
----------
-- Save --