[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>
* 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);
if not Status then
Prj.Com.Fail ("disk full, could not create mapping file");
-- Do we know this is disk full? Or could it be e.g. a protection
-- problem of some kind preventing creation of the file ???
Prj.Com.Fail ("disk full, could not write mapping file");
-- We were able to create the temporary file, so there is no problem
-- 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 Create_Mapping_File;

View File

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

View File

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

View File

@ -6,7 +6,7 @@
-- --
-- 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 --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -3170,6 +3170,18 @@ package body Sem_Res is
then
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
if Nkind (A) = N_Type_Conversion
and then Is_Array_Type (Etype (F))

View File

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