Commit 3249690d by Arnaud Charlet

[multiple changes]

2009-05-06  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
	support for returning the directory even if it doesn't exist. This is
	used for the object directory, since we are always setting it to a
	non-null value, and we should set it to an absolute name rather than a
	relative name for the sake of external tools that might depend on it.
	(Check_Library_Attributes): When Project.Library_Dir is known, check
	that the directory exists.

2009-05-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Check_Dereference): If the prefix of an attribute
	reference is an implicit dereference, do not freeze the designated type
	if within a default expression or when preanalyzing a pre/postcondtion.

From-SVN: r147157
parent fd366a46
2009-05-06 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add
support for returning the directory even if it doesn't exist. This is
used for the object directory, since we are always setting it to a
non-null value, and we should set it to an absolute name rather than a
relative name for the sake of external tools that might depend on it.
(Check_Library_Attributes): When Project.Library_Dir is known, check
that the directory exists.
2009-05-06 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Check_Dereference): If the prefix of an attribute
reference is an implicit dereference, do not freeze the designated type
if within a default expression or when preanalyzing a pre/postcondtion.
2009-05-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): If the object is a function
......
......@@ -1067,8 +1067,13 @@ package body Sem_Attr is
-- If there is an implicit dereference, then we must freeze
-- the designated type of the access type, since the type of
-- the referenced array is this type (see AI95-00106).
-- As done elsewhere, freezing must not happen when pre-analyzing
-- a pre- or postcondition or a default value for an object or
-- for a formal parameter.
Freeze_Before (N, Designated_Type (P_Type));
if not In_Spec_Expression then
Freeze_Before (N, Designated_Type (P_Type));
end if;
Rewrite (P,
Make_Explicit_Dereference (Sloc (P),
......
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