summaryrefslogtreecommitdiffstats
path: root/gcc/ada/get_alfa.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-15 09:15:49 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-15 09:15:49 +0000
commitde2e64645bc50b7f6715db7d7494a476974acf10 (patch)
treec43cf174da633a8771c76dd0a61ddba4871bb105 /gcc/ada/get_alfa.adb
parent239fc533cb12020656298cba912ac9e31bf9cf96 (diff)
downloadppe42-gcc-de2e64645bc50b7f6715db7d7494a476974acf10.tar.gz
ppe42-gcc-de2e64645bc50b7f6715db7d7494a476974acf10.zip
2012-03-15 Robert Dewar <dewar@adacore.com>
* errout.ads: Add entry for translating -gnateinn to /MAX_INSTANTIATIONS for VMS. * hostparm.ads (Max_Instantiations): Moved to Opt. * opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed. * sem_ch12.adb (Maximum_Instantiations): New name of Max_Instantiations (Analyze_Package_Instantiation): Change error msg for too many instantiations (mention -gnateinn switch). * switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch. * switch.ads: Minor comment update. * usage.adb (Usage): Output line for -maxeinn switch. * vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn). 2012-03-15 Yannick Moy <moy@adacore.com> * alfa.ads Update the decription of ALI sections. (Alfa_File_Record): Add a component Unit_File_Name to store the unit file name for subunits. * get_alfa.adb, put_alfa.adb Adapt to the possible presence of a unit file name. * lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the file name of the unit. 2012-03-15 Yannick Moy <moy@adacore.com> * sem_ch6.adb (Check_Subprogram_Contract): Do not issue warning on missing 'Result in postcondition if all postconditions and contract-cases already get a warning for only referring to pre-state. 2012-03-15 Bob Duff <duff@adacore.com> * debug.adb: Add new debug switch -gnatd.U, which disables the support added below, in case someone trips over a cycle, and needs to disable this. * sem_attr.adb (Analyze_Access_Attribute): Treat Subp'Access as a call for elaboration purposes. * sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support for Subp'Access. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185422 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/get_alfa.adb')
-rw-r--r--gcc/ada/get_alfa.adb30
1 files changed, 25 insertions, 5 deletions
diff --git a/gcc/ada/get_alfa.adb b/gcc/ada/get_alfa.adb
index 8c90f754d9a..a10637cd360 100644
--- a/gcc/ada/get_alfa.adb
+++ b/gcc/ada/get_alfa.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2011, Free Software Foundation, Inc. --
+-- Copyright (C) 2011-2012, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -51,6 +51,9 @@ procedure Get_Alfa is
-- Local string used to store name of File/entity scanned as
-- Name_Str (1 .. Name_Len).
+ File_Name : String_Ptr;
+ Unit_File_Name : String_Ptr;
+
-----------------------
-- Local Subprograms --
-----------------------
@@ -236,15 +239,32 @@ begin
Skip_Spaces;
Cur_File := Get_Nat;
Skip_Spaces;
+
Get_Name;
+ File_Name := new String'(Name_Str (1 .. Name_Len));
+ Skip_Spaces;
+
+ -- Scan out unit file name when present (for subunits)
+
+ if Nextc = '-' then
+ Skipc;
+ Check ('>');
+ Skip_Spaces;
+ Get_Name;
+ Unit_File_Name := new String'(Name_Str (1 .. Name_Len));
+
+ else
+ Unit_File_Name := null;
+ end if;
-- Make new File table entry (will fill in To_Scope later)
Alfa_File_Table.Append (
- (File_Name => new String'(Name_Str (1 .. Name_Len)),
- File_Num => Cur_File,
- From_Scope => Alfa_Scope_Table.Last + 1,
- To_Scope => 0));
+ (File_Name => File_Name,
+ Unit_File_Name => Unit_File_Name,
+ File_Num => Cur_File,
+ From_Scope => Alfa_Scope_Table.Last + 1,
+ To_Scope => 0));
-- Initialize counter for scopes
OpenPOWER on IntegriCloud