r208074 - in /trunk/gcc/ada: ChangeLog sem_ch4....
charlet@gcc.gnu.org
charlet@gcc.gnu.org
Mon Feb 24 15:57:00 GMT 2014
Author: charlet
Date: Mon Feb 24 15:57:59 2014
New Revision: 208074
URL: http://gcc.gnu.org/viewcvs?rev=208074&root=gcc&view=rev
Log:
2014-02-24 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
indexed_components that are instances of Ada 2012 container
indexing operations. Analysis and resolution of such nodes
is performed on the attribute, and the original source is
preserved for ASIS operations. If expansion is enabled, the
indexed component is replaced by the value of this attribute,
which is in a call to an Indexing aspect, in most case wrapped
in a dereference operation.
* sem_ch4.adb (Analyze_Indexed_Component): Create
Generalized_Indexing attribute when appropriate.
(Analyze_Call): If prefix is not overloadable and has an indexing
aspect, transform into an indexed component so it can be analyzed
as a potential container indexing.
(Analyze_Expression): If node is an indexed component with a
Generalized_ Indexing, do not re-analyze.
* sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
of an indexed_component that has been transformed into a container
indexing operation.
(Resolve_Indexed_Component): Call the above when required.
(Resolve): Do not insert an explicit dereference operation on
an indexed_component whose type has an implicit dereference:
the operation is inserted when resolving the related
Generalized_Indexing.
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/sem_ch4.adb
trunk/gcc/ada/sem_res.adb
trunk/gcc/ada/sinfo.adb
trunk/gcc/ada/sinfo.ads
More information about the Gcc-cvs
mailing list