diff options
author | Robert Dewar <dewar@adacore.com> | 2005-06-16 10:28:59 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-06-16 10:28:59 +0200 |
commit | 6d15829192baaacccee6d22adbb2e38857574c12 (patch) | |
tree | ab034f8a1eac598348a30bb004f97397daaf8f2f /gcc/ada/sem.adb | |
parent | b497b46043b4679353aecf4be76266686813bdf3 (diff) | |
download | gcc-6d15829192baaacccee6d22adbb2e38857574c12.zip gcc-6d15829192baaacccee6d22adbb2e38857574c12.tar.gz gcc-6d15829192baaacccee6d22adbb2e38857574c12.tar.bz2 |
system-unixware.ads, [...]: Minor comment update for AI-362 (unit is Pure).
2005-06-14 Robert Dewar <dewar@adacore.com>
* system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
system-linux-hppa.ads, system-vms_64.ads,
system-vxworks-alpha.ads: Minor comment update for
AI-362 (unit is Pure).
* a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
Add pragma Pure_05 for AI-362
Make remaining conversion functions obsolescent in Ada 95
* impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
Add entries for a-wichun and a-zchuni
Add a-widcha a-zchara for AI-395
Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
* Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
Add entries for a-wichun.o and a-zchuni.o
Entries for a-widcha.o and a-zchara.o
Add entry for a-chacon.o
* a-ztenau.adb: Add with of Ada.Characters.Conversions
* a-chacon.ads, a-chacon.adb: New files.
* a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
categorization violations.
* a-strmap.ads: Add pragma Pure_05 for AI-362
* a-strmap.ads: Add note on implicit categorization for AI-362
* a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
* par-prag.adb: Dummy entry for pragma Persistent_BSS
Set Ada_Version_Explicit, for implementation of AI-362
Add processing for pragma Pure_05 and Preelaborate_05
Add entry for Assertion_Policy pragma
* sem.adb: Make sure predefined units are compiled with GNAT_Mode true
when needed for proper processing of categorization stuff
* sem_cat.adb:
For several cases, make errors in preealborate units warnings,
instead of errors, if GNAT_Mode is set. For AI-362.
* sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
preelaborate unit is now warning if in GNAT mode
* s-stoele.ads: Document AI-362 for pragma preelaborate
From-SVN: r101016
Diffstat (limited to 'gcc/ada/sem.adb')
-rw-r--r-- | gcc/ada/sem.adb | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb index e242bc9..bbd0d2f 100644 --- a/gcc/ada/sem.adb +++ b/gcc/ada/sem.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2004, 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- -- @@ -1218,7 +1218,7 @@ package body Sem is S_New_Nodes_OK : constant Int := New_Nodes_OK; S_Outer_Gen_Scope : constant Entity_Id := Outer_Generic_Scope; S_Sem_Unit : constant Unit_Number_Type := Current_Sem_Unit; - + S_GNAT_Mode : constant Boolean := GNAT_Mode; Generic_Main : constant Boolean := Nkind (Unit (Cunit (Main_Unit))) in N_Generic_Declaration; @@ -1270,6 +1270,21 @@ package body Sem is Compiler_State := Analyzing; Current_Sem_Unit := Get_Cunit_Unit_Number (Comp_Unit); + -- Compile predefined units with GNAT_Mode set to True, to properly + -- process the categorization stuff. However, do not set set GNAT_Mode + -- to True for the renamings units (Text_IO, IO_Exceptions, Direct_IO, + -- Sequential_IO) as this would prevent pragma System_Extend to be + -- taken into account, for example when Text_IO is renaming DEC.Text_IO. + + -- Cleaner might be to do the kludge at the point of excluding the + -- pragma (do not exclude for renamings ???) + + GNAT_Mode := + GNAT_Mode + or else Is_Predefined_File_Name + (Unit_File_Name (Current_Sem_Unit), + Renamings_Included => False); + if Generic_Main then Expander_Mode_Save_And_Set (False); else @@ -1315,6 +1330,7 @@ package body Sem is Inside_A_Generic := S_Inside_A_Generic; New_Nodes_OK := S_New_Nodes_OK; Outer_Generic_Scope := S_Outer_Gen_Scope; + GNAT_Mode := S_GNAT_Mode; Restore_Opt_Config_Switches (Save_Config_Switches); Expander_Mode_Restore; |