2016-04-27 Hristian Kirtchev <kirtchev@adacore.com>
commit9e52df9ccbd8040b1c15ca583e1204d1814b4bb7
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Apr 2016 12:37:55 +0000 (27 12:37 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Apr 2016 12:37:55 +0000 (27 12:37 +0000)
treed648d4e011ee94742841faaa4b264c82163554e4
parentd8e539ae9c81d4c085f771959086a41313610cc7
2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
(Resolve_Actuals): Flag effectively volatile objects with enabled
property Async_Writers or Effective_Reads as illegal.
* sem_util.adb (Is_OK_Volatile_Context): Comment reformatting.

2016-04-27  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Make_Predefined_Primitive_Specs):
Do not generate the profile of the equality operator if it has
been explicitly defined as abstract in the parent type. Required
to avoid reporting an spurious error.

2016-04-27  Ed Schonberg  <schonberg@adacore.com>

* sem_dim.ads, sem_dim.adb (Check_Expression_Dimensions): New
procedure to compute the dimension vector of a scalar expression
and compare it with the dimensions if its expected subtype. Used
for the ultimate components of a multidimensional aggregate,
whose components typically are themselves aggregates that are
expanded separately. Previous to this patch, dimensionality
checking on such aggregates generated spurious errors.
* sem_aggr.adb (Resolve_Array_Aggregate): Use
Check_Expression_Dimensions when needed.

2016-04-27  Javier Miranda  <miranda@adacore.com>

* einfo.ads, einfo.adb (Corresponding_Function): New attribute
(applicable to E_Procedure).
(Corresponding_Procedure): New attribute (applicable to E_Function).
* exp_util.adb (Build_Procedure_Form): Link the function with
its internally built proc and viceversa.
* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
attribute Rewritten_For_C and Corresponding_Procedure to the body.
* exp_ch6.adb (Rewritten_For_C_Func_Id): Removed.
(Rewritten_For_C_Proc_Id): Removed.
* exp_unst.adb (Note_Uplevel_Ref): Use the new attribute to
locate the corresponding procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235493 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ada/ChangeLog
gcc/ada/einfo.adb
gcc/ada/einfo.ads
gcc/ada/exp_ch3.adb
gcc/ada/exp_ch6.adb
gcc/ada/exp_unst.adb
gcc/ada/exp_util.adb
gcc/ada/sem_aggr.adb
gcc/ada/sem_ch6.adb
gcc/ada/sem_dim.adb
gcc/ada/sem_dim.ads
gcc/ada/sem_res.adb
gcc/ada/sem_util.adb