From 314a23b6eb1ed66ddce188a8e105c8050b99b87e Mon Sep 17 00:00:00 2001 From: charlet Date: Thu, 1 Apr 2004 10:04:40 +0000 Subject: 2004-04-01 Robert Dewar * checks.adb: Minor reformatting throughout Note that prev checkin added RM reference to alignment warning 2004-04-01 Ed Schonberg * exp_aggr.adb (Get_Component_Val): Treat a string literal as non-static when building aggregate for bit-packed array. * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a function call that is itself the actual in a procedure call, build temporary for it. * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is a string literal, create a temporary for it, constant folding only handles scalars here. 2004-04-01 Vincent Celier * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC, Error_Msg_SP): New empty procedures to instantiate the Scanner. (Style, Scanner): Instantiations of Styleg and Scng to be able to scan tokens. (Accumulate_Checksum, Initialize_Checksum): Remove procedures. (Get_File_Checksum): Use the instantiated scanner to scan all the tokens and get the checksum. * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is already in the Q. Increase the Marking_Label at the end of the Multiple_Main_Loop, instead of at the beginning. * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~' directly. (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if on VMS. * osint.ads (Multi_Unit_Index_Character): New Character global variable * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character, not '~' directly. * par.adb: Remove test on file name to detect language defined units. Add test on unit name, after parsing, to detect language defined units that are not compiled with -gnatg (except System.RPC and its children) * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the following units without style checking. * switch-c.adb: Change -gnatC to -gnateI * usage.adb: Document new switch -gnateInnn * scng.adb (Accumulate_Token_Checksum): New procedure (Scan): Call Accumulate_Token_Checksum after each identifier, reserved word or literal number. (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral numbers. 2004-04-01 Thomas Quinot * a-tasatt.adb, g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb, switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb, 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5vtpopde.adb: Add missing 'constant' keywords. 2004-04-01 Javier Miranda * par-ch4.adb: (P_Allocator): Code cleanup * sem_ch3.adb (Access_Definition): Properly set the null-excluding attribute. * sinfo.ads: Complete documentation of previous change 2004-04-01 GNAT Script * Make-lang.in: Makefile automatically updated 2004-04-01 Pascal Obry * gnatlink.adb (Process_Binder_File): Remove duplicate linker options only on VMS. This special handling was done because an old GNU/ld bug on Windows which has been fixed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80290 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/make.adb | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) (limited to 'gcc/ada/make.adb') diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb index 15d6ed01b3e..89b0d69a739 100644 --- a/gcc/ada/make.adb +++ b/gcc/ada/make.adb @@ -828,9 +828,8 @@ package body Make is else while Last_Argument + Args'Length > Arguments'Last loop declare - New_Arguments : Argument_List_Access := - new Argument_List (1 .. Arguments'Last * 2); - + New_Arguments : constant Argument_List_Access := + new Argument_List (1 .. Arguments'Last * 2); begin New_Arguments (1 .. Last_Argument) := Arguments (1 .. Last_Argument); @@ -2553,8 +2552,13 @@ package body Make is Check_Source_Files := True; All_Sources := False; - Insert_Q (Main_Source); - Mark (Main_Source); + -- Only insert in the Q if it is not already done, to avoid simultaneous + -- compilations if -jnnn is used. + + if not Is_Marked (Main_Source) then + Insert_Q (Main_Source); + Mark (Main_Source); + end if; First_Compiled_File := No_File; Most_Recent_Obj_File := No_File; @@ -4305,18 +4309,6 @@ package body Make is Multiple_Main_Loop : for N_File in 1 .. Osint.Number_Of_Files loop - -- Increase the marking label to be sure to check sources - -- for all executables. - - Marking_Label := Marking_Label + 1; - - -- Make sure it is not 0, which is the default value for - -- a file that has never been marked. - - if Marking_Label = 0 then - Marking_Label := 1; - end if; - -- First, find the executable name and path Executable := No_File; @@ -5443,6 +5435,18 @@ package body Make is end; end if; end if; + + -- Increase the marking label to be sure to check sources + -- for all executables. + + Marking_Label := Marking_Label + 1; + + -- Make sure it is not 0, which is the default value for + -- a file that has never been marked. + + if Marking_Label = 0 then + Marking_Label := 1; + end if; end loop Multiple_Main_Loop; if Failed_Links.Last > 0 then @@ -7214,7 +7218,8 @@ package body Make is end Verbose_Msg; begin + -- Make sure that in case of failure, the temp files will be deleted + Prj.Com.Fail := Make_Failed'Access; MLib.Fail := Make_Failed'Access; - -- Make sure that in case of failure, the temp files will be deleted end Make; -- cgit v1.2.1