2012-10-02 Vincent Pucci <pucci@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Oct 2012 08:13:09 +0000 (08:13 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Oct 2012 08:13:09 +0000 (08:13 +0000)
commit3b045963ac67890ece50c3aeadbffcb18ed077a8
tree716355f52bae28ce20b7e98724a88c6311ef33c5
parentc9e56837e343779c5878ed4a4a56c4ecb8af2307
2012-10-02  Vincent Pucci  <pucci@adacore.com>

* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
analysis for indexed components added.
* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
for function calls added.
* sem_dim.adb (Analyze_Dimension): Call to
Analyze_Dimension_Has_Etype when N is a function call.
(Analyze_Dimension_Call): Don't propagate anymore the dimensions
for function calls since this is now treated separately in
Analyze_Dimension_Has_Etype.
(Analyze_Dimension_Has_Etype): For
attribute references, propagate the dimensions from the prefix.
* sem_dim.ads (Copy_Dimensions): Fix comment.

2012-10-02  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
has been split into two.
(Apply_Parameter_Validity_Checks): New routine.
* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
do not overlap. The checks are made on the caller side to overcome
issues of parameter passing mechanisms.
* freeze.adb (Freeze_Entity): Update call to
Apply_Parameter_Aliasing_And_Validity_Checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191959 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/checks.ads
gcc/ada/exp_ch6.adb
gcc/ada/freeze.adb
gcc/ada/sem_ch4.adb
gcc/ada/sem_ch6.adb
gcc/ada/sem_dim.adb
gcc/ada/sem_dim.ads