diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 08:42:37 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 08:42:37 +0000 |
commit | a9cfa7d8960124dec97f03cfa83dc81bdc2d39c8 (patch) | |
tree | 899ff257fa91dd9472295e0c76d8f9c924e4a50a /gcc/ada/ali.ads | |
parent | b5be70cd680f29f5e1dad13afd0206db10772311 (diff) | |
download | gcc-a9cfa7d8960124dec97f03cfa83dc81bdc2d39c8.tar.gz |
2005-06-14 Ed Schonberg <schonberg@adacore.com>
Emmanuel Briot <briot@adacore.com>
* lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
declared within an inlined body as referenced, to prevent spurious
warnings.
(Output_One_Ref): If an entity renames an array component, indicate in
the ALI file that this aliases (renames) the array. Capture as well
function renamings that rename predefined operations.
Add information about generic parent for package and subprogram
instances.
(Get_Type_Reference): For a subtype that is the renaming of an actual in
an instantiation, use the first_subtype to ensure that we don't generate
cross-reference information for internal types.
For objects and parameters of a generic private type, retain the '*'
indicator to distinguish such an entity from its type.
* ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
to store information about instantiated entities.
* ali.adb (Scan_ALI): Add support for parsing the reference to the
generic parent
* xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
(Parse_Identifier_Info, Parse_Token): Add support for the generic parent
information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101046 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/ali.ads')
-rw-r--r-- | gcc/ada/ali.ads | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ada/ali.ads b/gcc/ada/ali.ads index cab4b062365..91ecd2dd16c 100644 --- a/gcc/ada/ali.ads +++ b/gcc/ada/ali.ads @@ -593,7 +593,7 @@ package ALI is -- ALI File containing tne entry No_Dep_Unit : Name_Id; - -- Id for names table entry including entire name, including periods. + -- Id for names table entry including entire name, including periods end record; package No_Deps is new Table.Table ( @@ -731,6 +731,16 @@ package ALI is Entity : Name_Id; -- Name of entity + Iref_File_Num : Sdep_Id; + -- This field is set to the dependency reference for the file containing + -- the generic entity that this one instantiates, or to No_Sdep_Id if + -- the current entity is not an instantiation + + Iref_Line : Nat; + -- This field is set to the line number in Iref_File_Num of the generic + -- entity that this one instantiates, or to zero if the current entity + -- is not an instantiation. + Rref_Line : Nat; -- This field is set to the line number of a renaming reference if -- one is present, or to zero if no renaming reference is present @@ -815,6 +825,11 @@ package ALI is -- Note: for instantiation references, Rtype is set to ' ', and Col is -- set to zero. One or more such entries can follow any other reference. + -- When there is more than one such entry, this is to be read as: + -- e.g. ref1 ref2 ref3 + -- ref1 is a reference to an entity that was instantied at ref2. + -- ref2 itself is also the result of an instantiation, that took + -- place at ref3 end record; package Xref is new Table.Table ( @@ -848,7 +863,8 @@ package ALI is -- -- Ignore_ED is normally False. If set to True, it indicates that -- all ED (elaboration desirable) indications in the ALI file are - -- to be ignored. + -- to be ignored. This parameter is obsolete now that the -f switch + -- is removed from gnatbind, and should be removed ??? -- -- Err determines the action taken on an incorrectly formatted file. -- If Err is False, then an error message is output, and the program |