diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-05 13:56:17 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-05 13:56:17 +0000 |
commit | 0319323f59608bd67c8afa517c871ca6bab314b2 (patch) | |
tree | 05cbd8c8c3fd685d5701db0a6d80712885cae65e /gcc/ada/aspects.adb | |
parent | b57530b845013e9b6b2670a1e2bd39757cd4cd3d (diff) | |
download | gcc-0319323f59608bd67c8afa517c871ca6bab314b2.tar.gz |
2011-08-05 Arnaud Charlet <charlet@adacore.com>
* make.adb (Linking_Phase): No longer need to set source search path
before calling gnatlink in CodePeer mode.
* gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
gcc in CodePeer mode, since the binder generated file no longer has a
'with Main'.
* switch.ads, switch.adb (Is_Language_Switch): Removed.
* switch-c.adb: Update comment.
2011-08-05 Thomas Quinot <quinot@adacore.com>
* exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
2011-08-05 Nicolas Roche <roche@adacore.com>
* gnat_ugn.texi: Fix minor syntax error issue.
2011-08-05 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
delete or close the file when the call to gnatmake returns a non
successful return code.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
check, indicate that the copy of the original node does not come from
source, to prevent an infinite recursion of the expansion.
2011-08-05 Johannes Kanig <kanig@adacore.com>
* debug.adb: document switch -gnatd.G for gnat2why, which deactivates
VC generation for subprogram bodies.
2011-08-05 Yannick Moy <moy@adacore.com>
* einfo.ads: Typo.
* sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
the base type with the smallest allowed base type.
2011-08-05 Sergey Rybin <rybin@adacore.com>
* tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
aspects.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.ads: minor comment updates.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
instantiation and a formal package the compiler generates a package
renaming declaration so that the generic name within the declaration
is interpreted as a renaming of the instance. At the end of a formal
package declaration, this renaming must become invisible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177437 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/aspects.adb')
-rwxr-xr-x | gcc/ada/aspects.adb | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/gcc/ada/aspects.adb b/gcc/ada/aspects.adb index 82649db56ab..7bb9724fb5c 100755 --- a/gcc/ada/aspects.adb +++ b/gcc/ada/aspects.adb @@ -38,6 +38,17 @@ with GNAT.HTable; use GNAT.HTable; package body Aspects is + procedure Set_Aspect_Specifications_No_Check (N : Node_Id; L : List_Id); + -- Same as Set_Aspect_Specifications, but does not contain the assertion + -- that checks that N does not already have aspect specifications. This + -- subprogram is supposed to be used as a part of Tree_Read. When reading + -- the tree we first read nodes with their basic properties (as + -- Atree.Tree_Read), this includes reading the Has_Aspects flag for each + -- node, then we reed all the list tables and only after that we call + -- Tree_Read for Aspects. That is, when reading the tree, the list of + -- aspects is attached to the node that already has Has_Aspects flag set + -- ON + ------------------------------------------ -- Hash Table for Aspect Specifications -- ------------------------------------------ @@ -261,6 +272,20 @@ package body Aspects is Aspect_Specifications_Hash_Table.Set (N, L); end Set_Aspect_Specifications; + ---------------------------------------- + -- Set_Aspect_Specifications_No_Check -- + ---------------------------------------- + + procedure Set_Aspect_Specifications_No_Check (N : Node_Id; L : List_Id) is + begin + pragma Assert (Permits_Aspect_Specifications (N)); + pragma Assert (L /= No_List); + + Set_Has_Aspects (N); + Set_Parent (L, N); + Aspect_Specifications_Hash_Table.Set (N, L); + end Set_Aspect_Specifications_No_Check; + --------------- -- Tree_Read -- --------------- @@ -273,7 +298,7 @@ package body Aspects is Tree_Read_Int (Int (Node)); Tree_Read_Int (Int (List)); exit when List = No_List; - Set_Aspect_Specifications (Node, List); + Set_Aspect_Specifications_No_Check (Node, List); end loop; end Tree_Read; |