diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-06-06 12:37:41 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-06-06 12:37:41 +0200 |
commit | d3cc6a322691df8a2732ec4ee5b0957caa057316 (patch) | |
tree | a8498719c9b6fae7520643f6460dafa368f13ec6 /gcc/ada/lib-writ.adb | |
parent | 437bae3f742fc7f73ca0755a9e23c503aea872e1 (diff) | |
download | gcc-d3cc6a322691df8a2732ec4ee5b0957caa057316.zip gcc-d3cc6a322691df8a2732ec4ee5b0957caa057316.tar.gz gcc-d3cc6a322691df8a2732ec4ee5b0957caa057316.tar.bz2 |
lib-writ.adb: Handle Convention_CIL in addition to Convention_Java, since both are separated.
2007-04-20 Arnaud Charlet <charlet@adacore.com>
Vincent Celier <celier@adacore.com>
* lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
since both are separated.
Add support for imported CIL packages.
Add further special handling of "value_type" for CIL.
Add special handling of pragma Import for CIL.
* make.ads, make.adb: When switch -eS is used, direct all outputs to
standard output instead of standard error, except errors.
(Absolute_Path): Use untouched casing for the parent directory.
(Add_Library_Search_Dir): Use the untouched directory name.
(Add_Source_Search_Dir): Idem.
(Change_To_Object_Directory): Update output to use proper casing.
(Create_Binder_Mapping_File): Use the untouched filename to set
ALI_Name.
(Gnatmake): Use untouched library and executable directory names.
(Insert_Project_Sources): Use untouched filename for spec and body.
(Is_In_Object_Directory): Use untouched object directory.
(Mark_Directory): Idem.
(Collect_Arguments_And_Compile): Ensure that Full_Source_File always
contains the non-canonical filename in all cases.
(Change_To_Object_Directory): In verbose mode, display the name of the
object directory we're changing to.
(Compile_Sources): Make sure, when a project file is used, to compile
the body of the unit, when there is one, even when only the spec is
recorded in an ALI file.
(Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
spec to the body.
(Report_Compilation_Failed): New procedure
(Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
procedures moved from the spec to the body.
(Extract_Failure): Removed, not used
Replace explicit raises of exception Bind_Failed and Link_Failed with
calls to Make_Failed with the proper message.
Replace explicit raises of exception Compilation_Failed with calls to
procedure Report_Compilation_Failed.
(Initialize): Create mapping files unconditionally when using project
files.
* sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
Pragma_CIL_Constructor): New names.
* targparm.ads, targparm.adb
(Compiler_System_Version): Removed, no longer used.
(Get_Target_Parameters): Relax checks on system.ads validity. Add
handling of two new system flags: JVM and CLI.
From-SVN: r125432
Diffstat (limited to 'gcc/ada/lib-writ.adb')
-rw-r--r-- | gcc/ada/lib-writ.adb | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ada/lib-writ.adb b/gcc/ada/lib-writ.adb index 14c62f0..d62b70d 100644 --- a/gcc/ada/lib-writ.adb +++ b/gcc/ada/lib-writ.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2006, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2007, 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- -- @@ -33,7 +33,6 @@ with Fname; use Fname; with Fname.UF; use Fname.UF; with Lib.Util; use Lib.Util; with Lib.Xref; use Lib.Xref; -with Namet; use Namet; with Nlists; use Nlists; with Gnatvsn; use Gnatvsn; with Opt; use Opt; @@ -45,6 +44,7 @@ with Rident; use Rident; with Scn; use Scn; with Sinfo; use Sinfo; with Sinput; use Sinput; +with Snames; use Snames; with Stringt; use Stringt; with Tbuild; use Tbuild; with Uname; use Uname; @@ -71,8 +71,8 @@ package body Lib.Writ is Units.Increment_Last; Units.Table (Units.Last) := (Unit_File_Name => File_Name (S), - Unit_Name => No_Name, - Expected_Unit => No_Name, + Unit_Name => No_Unit_Name, + Expected_Unit => No_Unit_Name, Source_Index => S, Cunit => Empty, Cunit_Entity => Empty, @@ -427,7 +427,16 @@ package body Lib.Writ is (Declaration_Node (Body_Entity (Uent)))))) then - Write_Info_Str (" EE"); + if Convention (Uent) = Convention_CIL then + + -- Special case for generic CIL packages which never have + -- elaboration code + + Write_Info_Str (" NE"); + + else + Write_Info_Str (" EE"); + end if; end if; if Has_No_Elaboration_Code (Unode) then @@ -672,7 +681,7 @@ package body Lib.Writ is -- For preproc. data and def. files, there is no Unit_Name, -- check for that first. - if Unit_Name (J) /= No_Name + if Unit_Name (J) /= No_Unit_Name and then (With_Flags (J) or else Unit_Name (J) = Pname) then Num_Withs := Num_Withs + 1; |