[multiple changes]

2009-04-22  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: Create block around procedure call when actual is a
	concatenation.

2009-04-22  Thomas Quinot  <quinot@adacore.com>

	* s-soflin.ads: Fix typos

2009-04-22  Vincent Celier  <celier@adacore.com>

	* prj-env.adb: Minor comment change

	* prj-nmsc.adb (Check_Common): Add guard to avoid calling
	Get_Name_String with No_File.

	* tempdir.adb (Create_Temp_File): Output diagnostic when temp file
	cannot be created even when not in verbose mode.

From-SVN: r146587
This commit is contained in:
Arnaud Charlet 2009-04-22 17:14:51 +02:00
parent 2f1e0b6193
commit a52fefe6ab
6 changed files with 43 additions and 12 deletions

View File

@ -1,3 +1,22 @@
2009-04-22 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Create block around procedure call when actual is a
concatenation.
2009-04-22 Thomas Quinot <quinot@adacore.com>
* s-soflin.ads: Fix typos
2009-04-22 Vincent Celier <celier@adacore.com>
* prj-env.adb: Minor comment change
* prj-nmsc.adb (Check_Common): Add guard to avoid calling
Get_Name_String with No_File.
* tempdir.adb (Create_Temp_File): Output diagnostic when temp file
cannot be created even when not in verbose mode.
2009-04-22 Emmanuel Briot <briot@adacore.com> 2009-04-22 Emmanuel Briot <briot@adacore.com>
* make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb, * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb,

View File

@ -1246,9 +1246,10 @@ package body Prj.Env is
GNAT.OS_Lib.Close (File, Status); GNAT.OS_Lib.Close (File, Status);
if not Status then if not Status then
Prj.Com.Fail ("disk full, could not create mapping file"); Prj.Com.Fail ("disk full, could not write mapping file");
-- Do we know this is disk full? Or could it be e.g. a protection -- We were able to create the temporary file, so there is no problem
-- problem of some kind preventing creation of the file ??? -- of protection. However, we are not able to close it, so there must
-- be a capacity problem that we express using "disk full".
end if; end if;
end Create_Mapping_File; end Create_Mapping_File;

View File

@ -2909,8 +2909,10 @@ package body Prj.Nmsc is
end; end;
end if; end if;
Write_Attr if Dot_Replacement /= No_File then
("Dot_Replacement", Get_Name_String (Dot_Replacement)); Write_Attr
("Dot_Replacement", Get_Name_String (Dot_Replacement));
end if;
Casing_Defined := False; Casing_Defined := False;

View File

@ -207,11 +207,11 @@ package System.Soft_Links is
-- Locked_Processing : begin -- Locked_Processing : begin
-- System.Soft_Links.Lock_Task.all; -- System.Soft_Links.Lock_Task.all;
-- ... -- ...
-- System.Soft_Links..Unlock_Task.all; -- System.Soft_Links.Unlock_Task.all;
-- --
-- exception -- exception
-- when others => -- when others =>
-- System.Soft_Links..Unlock_Task.all; -- System.Soft_Links.Unlock_Task.all;
-- raise; -- raise;
-- end Locked_Processing; -- end Locked_Processing;
-- --

View File

@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
@ -3170,6 +3170,18 @@ package body Sem_Res is
then then
Establish_Transient_Scope (A, False); Establish_Transient_Scope (A, False);
-- A small optimization: if one of the actuals is a concatenation
-- create a block around a procedure call to recover stack space.
-- This alleviates stack usage when several procedure calls in
-- the same statement list use concatenation.
elsif Nkind (A) = N_Op_Concat
and then Nkind (N) = N_Procedure_Call_Statement
and then Expander_Active
then
Establish_Transient_Scope (A, False);
Resolve (A, Etype (F));
else else
if Nkind (A) = N_Type_Conversion if Nkind (A) = N_Type_Conversion
and then Is_Array_Type (Etype (F)) and then Is_Array_Type (Etype (F))

View File

@ -94,10 +94,7 @@ package body Tempdir is
end if; end if;
if FD = Invalid_FD then if FD = Invalid_FD then
if Verbose_Mode then Write_Line ("could not create temporary file in " & Directory);
Write_Line ("could not create temporary file in " & Directory);
end if;
Name := No_Path; Name := No_Path;
else else