summaryrefslogtreecommitdiff
path: root/gcc/ada/lib-writ.ads
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-06-14 13:01:07 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-06-14 15:01:07 +0200
commit7eaa7cdf7da806ba900237e34eb11fd580039da3 (patch)
tree098473a5e47938dcfa8b53ff687d42c7e5548626 /gcc/ada/lib-writ.ads
parent3a13e78582d1be59cd9e5ecb24f8f1c355261648 (diff)
downloadgcc-7eaa7cdf7da806ba900237e34eb11fd580039da3.tar.gz
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/lib-writ.ads')
-rw-r--r--gcc/ada/lib-writ.ads68
1 files changed, 34 insertions, 34 deletions
diff --git a/gcc/ada/lib-writ.ads b/gcc/ada/lib-writ.ads
index 593442c4d4f..b3207c1b398 100644
--- a/gcc/ada/lib-writ.ads
+++ b/gcc/ada/lib-writ.ads
@@ -571,6 +571,40 @@ package Lib.Writ is
-- source file, so that this order is preserved by the binder in
-- constructing the set of linker arguments.
+ -- --------------
+ -- -- N Notes --
+ -- --------------
+
+ -- The final section of unit-specific lines contains notes which record
+ -- annotations inserted in source code for processing by external tools
+ -- using pragmas. For each occurrence of any of these pragmas, a line is
+ -- generated with the following syntax:
+
+ -- N x<sloc> [<arg_id>:]<arg> ...
+
+ -- x is one of:
+ -- A pragma Annotate
+ -- C pragma Comment
+ -- I pragma Ident
+ -- T pragma Title
+ -- S pragma Subtitle
+
+ -- <sloc> is the source location of the pragma in line:col format
+
+ -- Successive entries record the pragma_argument_associations.
+
+ -- If a pragma argument identifier is present, the entry is prefixed
+ -- with the pragma argument identifier <arg_id> followed by a colon.
+
+ -- <arg> represents the pragma argument, and has the following
+ -- conventions:
+
+ -- - identifiers are output verbatim
+ -- - static string expressions are output as literals encoded as
+ -- for L lines
+ -- - static integer expressions are output as decimal literals
+ -- - any other expression is replaced by the placeholder "<expr>"
+
---------------------
-- Reference Lines --
---------------------
@@ -654,40 +688,6 @@ package Lib.Writ is
-- The cross-reference data follows the dependency lines. See the spec of
-- Lib.Xref for details on the format of this data.
- -- --------------
- -- -- N Notes --
- -- --------------
-
- -- The note lines record annotations inserted in source code for processing
- -- by external tools using pragmas. For each occurrence of any of these
- -- pragmas, a line is generated with the following syntax:
-
- -- N <dep>x<sloc> [<arg_id>:]<arg> ...
-
- -- x is one of:
- -- A pragma Annotate
- -- C pragma Comment
- -- I pragma Ident
- -- T pragma Title
- -- S pragma Subtitle
-
- -- <dep> is the source file containing the pragma by its dependency index
- -- (first D line has index 1)
- -- <sloc> is the source location of the pragma
-
- -- Successive entries record the pragma_argument_associations.
-
- -- For a named association, the entry is prefixed with the pragma argument
- -- identifier <arg_id> followed by a colon.
-
- -- <arg> represents the pragma argument, and has the following conventions:
-
- -- - identifiers are output verbatim
- -- - static string expressions are output as literals encoded as for
- -- L lines
- -- - static integer expressions are output as decimal literals
- -- - any other expression is replaced by the placeholder "<expr>"
-
---------------------------------
-- Source Coverage Obligations --
---------------------------------