* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203345
138bc75d-0d04-0410-961f-
82ee72b054a4
+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.
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
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;