[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:
parent
2f1e0b6193
commit
a52fefe6ab
@ -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,
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
--
|
||||
|
@ -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))
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user