diff options
author | Robert Dewar <dewar@adacore.com> | 2005-11-15 14:56:27 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-11-15 14:56:27 +0100 |
commit | bde33286bde09e4a8fbb16d876a073207066e31e (patch) | |
tree | 144645d7f2b3949299580e9c887964e309c09fd4 /gcc/ada/ali.adb | |
parent | 104e4daaa53212b718cc916a0a688c06dab6a5fb (diff) | |
download | gcc-bde33286bde09e4a8fbb16d876a073207066e31e.zip gcc-bde33286bde09e4a8fbb16d876a073207066e31e.tar.gz gcc-bde33286bde09e4a8fbb16d876a073207066e31e.tar.bz2 |
sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
2005-11-14 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
(Check_Elab_Call): A call within a protected body is never an
elaboration call, and does not require checking.
(Same_Elaboration_Scope): Take into account protected types for both
entities.
(Activate_Elaborate_All_Desirable): New procedure
* ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
desirable
* binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
(Elab_Error_Msg): Use -da to include internal unit links, not -de.
* lib-writ.ads, lib-writ.adb:
Implement new AD/ED for Elaborate_All/Elaborate desirable
Use new Elaborate_All_Desirable flag in N_With_Clause node
* sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
N_Free_Statement nodes.
Define new class N_Subprogram_Instantiation
Add Elaborate_Desirable flag to N_With_Clause node
Add N_Delay_Statement (covering two kinds of delay)
* debug.adb: Introduce d.f flag for compiler
Add -da switch for binder
From-SVN: r106968
Diffstat (limited to 'gcc/ada/ali.adb')
-rw-r--r-- | gcc/ada/ali.adb | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ada/ali.adb b/gcc/ada/ali.adb index c1ea6c4..2bafec0 100644 --- a/gcc/ada/ali.adb +++ b/gcc/ada/ali.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2005, 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- -- @@ -1556,6 +1556,7 @@ package body ALI is Withs.Table (Withs.Last).Uname := Get_Name; Withs.Table (Withs.Last).Elaborate := False; Withs.Table (Withs.Last).Elaborate_All := False; + Withs.Table (Withs.Last).Elab_Desirable := False; Withs.Table (Withs.Last).Elab_All_Desirable := False; Withs.Table (Withs.Last).SAL_Interface := False; @@ -1571,12 +1572,24 @@ package body ALI is Withs.Table (Withs.Last).Sfile := Get_Name (Lower => True); Withs.Table (Withs.Last).Afile := Get_Name; - -- Scan out possible E, EA, and NE parameters + -- Scan out possible E, EA, ED, and AD parameters while not At_Eol loop Skip_Space; - if Nextc = 'E' then + if Nextc = 'A' then + P := P + 1; + Checkc ('D'); + Check_At_End_Of_Field; + + -- Store AD indication unless ignore required + + if not Ignore_ED then + Withs.Table (Withs.Last).Elab_All_Desirable := + True; + end if; + + elsif Nextc = 'E' then P := P + 1; if At_End_Of_Field then @@ -1594,7 +1607,7 @@ package body ALI is -- Store ED indication unless ignore required if not Ignore_ED then - Withs.Table (Withs.Last).Elab_All_Desirable := + Withs.Table (Withs.Last).Elab_Desirable := True; end if; end if; |