summaryrefslogtreecommitdiff
path: root/gcc/ada/gnatls.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-22 14:06:28 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-22 14:06:28 +0000
commit2d204d4bd483a93e635fac3c18ca5460e88c3734 (patch)
tree046250c44426ffdf888413277208b576e9375d91 /gcc/ada/gnatls.adb
parenta3906cad6bbde297c09833740c294b9bb0259258 (diff)
downloadgcc-2d204d4bd483a93e635fac3c18ca5460e88c3734.tar.gz
2004-03-22 Cyrille Comar <comar@act-europe.fr>
* ali.ads: Fix Comment about Dynamic_Elab. * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab, Has_RACW, Is_Generic, etc.) (Output_Object, Gnatls): Take into account ALI files not attached to an object. 2004-03-22 Vincent Celier <celier@gnat.com> * gprep.adb: Change all String_Access to Name_Id (Is_ASCII_Letter): new function (Double_File_Name_Buffer): New procedure (Preprocess_Infile_Name): New procedure (Process_Files): New procedure (Gnatprep): Check if output and input are existing directories. Call Process_Files to do the real job. 2004-03-22 Robert Dewar <dewar@gnat.com> * prj-env.adb, prj-nmsc.ads, prj-proc.ads, s-stache.ads, s-stache.adb: Comment updates. Minor reformatting. 2004-03-22 Sergey Rybin <rybin@act-europe.fr> * scn.adb (Contains): Add check for EOF, is needed for a degenerated case when the source contains only comments. 2004-03-22 Ed Schonberg <schonberg@gnat.com> * sem_ch10.adb (Analyze_Compilation_Unit): When generating a declaration for a child subprogram body that acts as a spec, indicate that the entity in the declaration needs debugging information. * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying full view if the subtype is created for a constrained record component; gigi has enough information to construct the record, and there is no place in the tree for the declaration. * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without serial number for the dummy body that is built for analysis, to avoid inconsistencies in the generation of internal names when compiling with -gnatN. 2004-03-22 Thomas Quinot <quinot@act-europe.fr> * sem_util.adb (Is_Object_Reference): A view conversion denotes an object. 2004-03-22 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79826 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gnatls.adb')
-rw-r--r--gcc/ada/gnatls.adb96
1 files changed, 80 insertions, 16 deletions
diff --git a/gcc/ada/gnatls.adb b/gcc/ada/gnatls.adb
index 3d0854914a6..c66725114c0 100644
--- a/gcc/ada/gnatls.adb
+++ b/gcc/ada/gnatls.adb
@@ -45,6 +45,8 @@ procedure Gnatls is
Max_Column : constant := 80;
+ No_Obj : aliased String := "<no_obj>";
+
type File_Status is (
OK, -- matching timestamp
Checksum_OK, -- only matching checksum
@@ -271,8 +273,13 @@ procedure Gnatls is
end if;
if Print_Object then
- Get_Name_String (ALIs.Table (Id).Ofile_Full_Name);
- Max_Obj_Length := Integer'Max (Max_Obj_Length, Name_Len + 1);
+ if ALIs.Table (Id).No_Object then
+ Max_Obj_Length :=
+ Integer'Max (Max_Obj_Length, No_Obj'Length);
+ else
+ Get_Name_String (ALIs.Table (Id).Ofile_Full_Name);
+ Max_Obj_Length := Integer'Max (Max_Obj_Length, Name_Len + 1);
+ end if;
end if;
end if;
end loop;
@@ -363,8 +370,13 @@ procedure Gnatls is
begin
if Print_Object then
- Get_Name_String (O);
- Object_Name := To_Host_File_Spec (Name_Buffer (1 .. Name_Len));
+ if O /= No_File then
+ Get_Name_String (O);
+ Object_Name := To_Host_File_Spec (Name_Buffer (1 .. Name_Len));
+ else
+ Object_Name := No_Obj'Unchecked_Access;
+ end if;
+
Write_Str (Object_Name.all);
if Print_Source or else Print_Unit then
@@ -501,14 +513,21 @@ procedure Gnatls is
end if;
if Verbose_Mode then
- if U.Preelab or
- U.No_Elab or
- U.Pure or
- U.Elaborate_Body or
- U.Remote_Types or
- U.Shared_Passive or
- U.RCI or
- U.Predefined
+ if U.Preelab or
+ U.No_Elab or
+ U.Pure or
+ U.Dynamic_Elab or
+ U.Has_RACW or
+ U.Remote_Types or
+ U.Shared_Passive or
+ U.RCI or
+ U.Predefined or
+ U.Internal or
+ U.Is_Generic or
+ U.Init_Scalars or
+ U.Interface or
+ U.Body_Needed_For_SAL or
+ U.Elaborate_Body
then
Write_Eol; Write_Str (" Flags =>");
@@ -524,6 +543,50 @@ procedure Gnatls is
Write_Str (" Pure");
end if;
+ if U.Dynamic_Elab then
+ Write_Str (" Dynamic_Elab");
+ end if;
+
+ if U.Has_RACW then
+ Write_Str (" Has_RACW");
+ end if;
+
+ if U.Remote_Types then
+ Write_Str (" Remote_Types");
+ end if;
+
+ if U.Shared_Passive then
+ Write_Str (" Shared_Passive");
+ end if;
+
+ if U.RCI then
+ Write_Str (" RCI");
+ end if;
+
+ if U.Predefined then
+ Write_Str (" Predefined");
+ end if;
+
+ if U.Internal then
+ Write_Str (" Internal");
+ end if;
+
+ if U.Is_Generic then
+ Write_Str (" Is_Generic");
+ end if;
+
+ if U.Init_Scalars then
+ Write_Str (" Init_Scalars");
+ end if;
+
+ if U.Interface then
+ Write_Str (" Interface");
+ end if;
+
+ if U.Body_Needed_For_SAL then
+ Write_Str (" Body_Needed_For_SAL");
+ end if;
+
if U.Elaborate_Body then
Write_Str (" Elaborate Body");
end if;
@@ -540,9 +603,6 @@ procedure Gnatls is
Write_Str (" Predefined");
end if;
- if U.RCI then
- Write_Str (" Remote_Call_Interface");
- end if;
end if;
end if;
@@ -966,7 +1026,11 @@ begin
Get_Name_String (Units.Table (ALIs.Table (Id).First_Unit).Uname);
if Also_Predef or else not Is_Internal_Unit then
- Output_Object (ALIs.Table (Id).Ofile_Full_Name);
+ if ALIs.Table (Id).No_Object then
+ Output_Object (No_File);
+ else
+ Output_Object (ALIs.Table (Id).Ofile_Full_Name);
+ end if;
-- In verbose mode print all main units in the ALI file, otherwise
-- just print the first one to ease columnwise printout