Commit f0e7963f by Arnaud Charlet

[multiple changes]

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component,
	Has_Mode_Conformant_Spec): If selected component may be an
	indexing of a parameterless call to a protected function, and
	expansion is disabled, this is a valid candidate interpretation.

2013-10-10  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Minor editing.

From-SVN: r203345
parent 0c5dba7f
2013-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component,
Has_Mode_Conformant_Spec): If selected component may be an
indexing of a parameterless call to a protected function, and
expansion is disabled, this is a valid candidate interpretation.
2013-10-10 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Minor editing.
2013-10-10 Robert Dewar <dewar@adacore.com>
* gnatlink.adb: Minor reformatting.
......
......@@ -241,7 +241,7 @@ By default, @value{EDITION} assumes Ada 2012, but you can override with a
compiler switch (@pxref{Compiling Different Versions of Ada})
to explicitly specify the language version.
Throughout this manual, references to ``Ada'' without a year suffix
apply to both all Ada 95/2005/2012 versions of the language.
apply to all Ada 95/2005/2012 versions of the language.
@ifclear FSFEDITION
For ease of exposition, ``@value{EDITION}'' will be referred to simply as
......@@ -3962,10 +3962,25 @@ package body Sem_Ch4 is
Next (Param);
end loop;
-- One of the specs has additional formals
-- One of the specs has additional formals, there is no match,
-- unless this may be an indexing of a parameterless call.
-- Note that when expansion is disabled, the corresponding record
-- type of synchronized types is not constructed, so that there is
-- no point is attempting an interpretation as a prefixed call, as
-- this is bound to fail because the primitive operations will not
-- be properly located.
if Present (Comp_Param) or else Present (Param) then
return False;
if Needs_No_Actuals (Comp)
and then Is_Array_Type (Etype (Comp))
and then not Expander_Active
then
return True;
else
return False;
end if;
end if;
return True;
......
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