[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>
|
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,
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
--
|
--
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue