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> 2013-10-10 Robert Dewar <dewar@adacore.com>
* gnatlink.adb: Minor reformatting. * gnatlink.adb: Minor reformatting.
......
...@@ -241,7 +241,7 @@ By default, @value{EDITION} assumes Ada 2012, but you can override with a ...@@ -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}) compiler switch (@pxref{Compiling Different Versions of Ada})
to explicitly specify the language version. to explicitly specify the language version.
Throughout this manual, references to ``Ada'' without a year suffix 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 @ifclear FSFEDITION
For ease of exposition, ``@value{EDITION}'' will be referred to simply as For ease of exposition, ``@value{EDITION}'' will be referred to simply as
...@@ -3962,10 +3962,25 @@ package body Sem_Ch4 is ...@@ -3962,10 +3962,25 @@ package body Sem_Ch4 is
Next (Param); Next (Param);
end loop; 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 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; end if;
return True; 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