diff options
author | Robert Dewar <dewar@adacore.com> | 2010-06-14 13:01:07 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-06-14 15:01:07 +0200 |
commit | 7eaa7cdf7da806ba900237e34eb11fd580039da3 (patch) | |
tree | 098473a5e47938dcfa8b53ff687d42c7e5548626 /gcc/ada/ali.ads | |
parent | 3a13e78582d1be59cd9e5ecb24f8f1c355261648 (diff) | |
download | gcc-7eaa7cdf7da806ba900237e34eb11fd580039da3.zip gcc-7eaa7cdf7da806ba900237e34eb11fd580039da3.tar.gz gcc-7eaa7cdf7da806ba900237e34eb11fd580039da3.tar.bz2 |
ali.adb (Scan_ALI): Implement reading and storing of N lines
2010-06-14 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Implement reading and storing of N lines
(Known_ALI_Lines): Add entry for 'N' (notes)
* ali.ads (Notes): New table to store Notes information
* alloc.ads: Add entries for Notes table
* lib-util.adb (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-util.ads (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-writ.adb (Write_Unit_Information): Output N (notes) lines
* lib-writ.ads: Update documentation for N (Notes) lines
* lib.adb (Store_Note): New procedure
* lib.ads (Notes): New table
(Store_Note): New procedure
* sem_prag.adb: Call Store_Note for affected pragmas
From-SVN: r160736
Diffstat (limited to 'gcc/ada/ali.ads')
-rw-r--r-- | gcc/ada/ali.ads | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/gcc/ada/ali.ads b/gcc/ada/ali.ads index 94f7647..9056ce5 100644 --- a/gcc/ada/ali.ads +++ b/gcc/ada/ali.ads @@ -605,8 +605,6 @@ package ALI is -- table. end record; - -- Declare the Linker_Options Table - -- The indexes of active entries in this table range from 1 to the -- value of Linker_Options.Last. The zero'th element is for sort call. @@ -618,6 +616,44 @@ package ALI is Table_Increment => 400, Table_Name => "Linker_Options"); + ----------------- + -- Notes Table -- + ----------------- + + -- The notes table records entries from N lines + + type Notes_Record is record + Pragma_Type : Character; + -- 'A', 'C', 'I', 'S', 'T' for Annotate/Comment/Ident/Subtitle/Title + + Pragma_Line : Nat; + -- Line number of pragma + + Pragma_Col : Nat; + -- Column number of pragma + + Unit : Unit_Id; + -- Unit_Id for the entry + + Pragma_Args : Name_Id; + -- Pragma arguments. No_Name if no arguments, otherwise a single + -- name table entry consisting of all the characters on the notes + -- line from the first non-blank character following the source + -- location to the last character on the line. + end record; + + -- The indexes of active entries in this table range from 1 to the + -- value of Linker_Options.Last. The zero'th element is for convenience + -- if the table needs to be sorted. + + package Notes is new Table.Table ( + Table_Component_Type => Notes_Record, + Table_Index_Type => Integer, + Table_Low_Bound => 0, + Table_Initial => 200, + Table_Increment => 400, + Table_Name => "Notes"); + ------------------------------------------- -- External Version Reference Hash Table -- ------------------------------------------- |