Commit b60a3f26 by Arnaud Charlet

[multiple changes]

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
	reference when needed.

2011-08-02  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Fix typo.

2011-08-02  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
	archive file name. Do not use the full path name of archives for Open
	VMS.

From-SVN: r177097
parent 643e867f
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
reference when needed.
2011-08-02 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Fix typo.
2011-08-02 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
archive file name. Do not use the full path name of archives for Open
VMS.
2011-08-02 Robert Dewar <dewar@adacore.com> 2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb, sem_ch11.adb: New calling sequence for * sem_ch12.adb, sem_ch11.adb: New calling sequence for
......
...@@ -16424,10 +16424,10 @@ replace colons with semicolons in the assignments to these variables. ...@@ -16424,10 +16424,10 @@ replace colons with semicolons in the assignments to these variables.
@font@heightrm=cmr8 @font@heightrm=cmr8
@heightrm @heightrm
@end iftex @end iftex
# In this example, we create both ADA_INCLUDE_PATH and ADA_OBJECT_PATH. # In this example, we create both ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
# This is the same thing as putting the -I arguments on the command line. # This is the same thing as putting the -I arguments on the command line.
# (the equivalent of using -aI on the command line would be to define # (the equivalent of using -aI on the command line would be to define
# only ADA_INCLUDE_PATH, the equivalent of -aO is ADA_OBJECT_PATH). # only ADA_INCLUDE_PATH, the equivalent of -aO is ADA_OBJECTS_PATH).
# You can of course have different values for these variables. # You can of course have different values for these variables.
# #
# Note also that we need to keep the previous values of these variables, since # Note also that we need to keep the previous values of these variables, since
...@@ -16444,9 +16444,9 @@ space:=$@{empty@} $@{empty@} ...@@ -16444,9 +16444,9 @@ space:=$@{empty@} $@{empty@}
SOURCE_LIST := $@{subst $@{space@},:,$@{SOURCE_DIRS@}@} SOURCE_LIST := $@{subst $@{space@},:,$@{SOURCE_DIRS@}@}
OBJECT_LIST := $@{subst $@{space@},:,$@{OBJECT_DIRS@}@} OBJECT_LIST := $@{subst $@{space@},:,$@{OBJECT_DIRS@}@}
ADA_INCLUDE_PATH += $@{SOURCE_LIST@} ADA_INCLUDE_PATH += $@{SOURCE_LIST@}
ADA_OBJECT_PATH += $@{OBJECT_LIST@} ADA_OBJECTS_PATH += $@{OBJECT_LIST@}
export ADA_INCLUDE_PATH export ADA_INCLUDE_PATH
export ADA_OBJECT_PATH export ADA_OBJECTS_PATH
all: all:
gnatmake main_unit gnatmake main_unit
......
...@@ -6067,7 +6067,8 @@ package body Make is ...@@ -6067,7 +6067,8 @@ package body Make is
for Index in 1 .. Library_Projs.Last loop for Index in 1 .. Library_Projs.Last loop
if Library_Projs.Table if Library_Projs.Table
(Index).Library_Kind = Static (Index).Library_Kind = Static
and then not Targparm.OpenVMS_On_Target
then then
Linker_Switches.Increment_Last; Linker_Switches.Increment_Last;
Linker_Switches.Table (Linker_Switches.Last) := Linker_Switches.Table (Linker_Switches.Last) :=
...@@ -6080,7 +6081,8 @@ package body Make is ...@@ -6080,7 +6081,8 @@ package body Make is
Get_Name_String Get_Name_String
(Library_Projs.Table (Index). (Library_Projs.Table (Index).
Library_Name) & Library_Name) &
".a"); "." &
MLib.Tgt.Archive_Ext);
else else
-- Add the -L switch -- Add the -L switch
......
...@@ -14988,6 +14988,19 @@ package body Sem_Ch3 is ...@@ -14988,6 +14988,19 @@ package body Sem_Ch3 is
else else
T := Process_Subtype (Obj_Def, Related_Nod); T := Process_Subtype (Obj_Def, Related_Nod);
-- If expansion is disabled an object definition that is an aggregate
-- will not get expanded and may lead to scoping problems in the back
-- end, if the object is referenced in an inner scope. In that case
-- create an itype reference for the object definition now. This
-- may be redundant in some cases, but harmless.
if Is_Itype (T)
and then Nkind (Related_Nod) = N_Object_Declaration
and then ASIS_Mode
then
Build_Itype_Reference (T, Related_Nod);
end if;
end if; end if;
return T; return T;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment