+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * makeutl.adb: Minor reformatting.
+
+2011-08-03 Vincent Celier <celier@adacore.com>
+
+ * fname-uf.adb
+ (Get_File_Name) If the file cannot be found when there are no config
+ pragmas file and May_Fail is True, return No_File instead of the file
+ name, to be consistent.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_is_executable_file_attr): Avoid access
+ to null pointer.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch13.adb
+ (Same_Representation): In VM targets the representation of arrays with
+ aliased components differs from arrays with non-aliased components.
+
2011-08-03 Emmanuel Briot <briot@adacore.com>
* prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
TCHAR *l, *last = _tcsstr(wname, _T(".exe"));
/* look for last .exe */
- while (l = _tcsstr(last+1, _T(".exe"))) last = l;
+ if (last)
+ while (l = _tcsstr(last+1, _T(".exe"))) last = l;
attr->executable = GetFileAttributes (wname) != INVALID_FILE_ATTRIBUTES
&& last - wname == (int) (_tcslen (wname) - 4);
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, 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- --
-- the default GNAT naming scheme. The file does
-- not exist, but there is no point doing the
-- second search, because we will end up with the
- -- same file name. Just return the file name.
+ -- same file name. Just return the file name, or No_File
+ -- if May_Fail is True.
elsif SFN_Patterns.Last = 2 then
- return Fnam;
+ if May_Fail then
+ return No_File;
+ else
+ return Fnam;
+ end if;
-- The file does not exist, but there may be other
-- naming scheme. Keep on searching.
-- --
------------------------------------------------------------------------------
+with Ada.Command_Line; use Ada.Command_Line;
+
+with GNAT.Case_Util; use GNAT.Case_Util;
+with GNAT.Directory_Operations; use GNAT.Directory_Operations;
+with GNAT.HTable;
+
with ALI; use ALI;
with Debug;
with Fname;
with Table;
with Tempdir;
-with Ada.Command_Line; use Ada.Command_Line;
-
-with GNAT.Case_Util; use GNAT.Case_Util;
-with GNAT.Directory_Operations; use GNAT.Directory_Operations;
-with GNAT.HTable;
-
package body Makeutl is
type Mark_Key is record
Value : out Variable_Value;
Is_Default : out Boolean)
is
- Project : constant Project_Id :=
- Ultimate_Extending_Project_Of (Source_Prj);
- Pkg : constant Package_Id :=
- Prj.Util.Value_Of
- (Name => Pkg_Name,
- In_Packages => Project.Decl.Packages,
- In_Tree => Project_Tree);
+ Project : constant Project_Id :=
+ Ultimate_Extending_Project_Of (Source_Prj);
+ Pkg : constant Package_Id :=
+ Prj.Util.Value_Of
+ (Name => Pkg_Name,
+ In_Packages => Project.Decl.Packages,
+ In_Tree => Project_Tree);
begin
Is_Default := False;
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, 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- --
and then Known_Component_Size (T2)
and then Component_Size (T1) = Component_Size (T2)
then
- return True;
+ if VM_Target = No_VM then
+ return True;
+
+ -- In VM targets the representation of arrays with aliased
+ -- components differs from arrays with non-aliased components
+
+ else
+ return Has_Aliased_Components (Base_Type (T1))
+ = Has_Aliased_Components (Base_Type (T2));
+ end if;
end if;
end if;