[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 30 Jul 2014 10:23:17 +0000 (12:23 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 30 Jul 2014 10:23:17 +0000 (12:23 +0200)
commitac43e11e234201441e84b5bc015587ecfff6c797
tree3c0096f5117603b8ed3b9e8bbc41137367131e1e
parenteb16ddf8ed7f0b7ec30c86895a16f0fa7c7c6e26
[multiple changes]

2014-07-30  Eric Botcazou  <ebotcazou@adacore.com>

* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): New predicate.
(Expand_Array_Aggregate): Also enable in-place expansion for
code generated by the compiler.  For an object declaration,
set the kind of the object in addition to its type.  If an
in-place assignment is to be generated and it can be directly
done by the back-end, do not expand the aggregate.
* fe.h (Is_Others_Aggregate): Declare.
* gcc-interface/trans.c
(gnat_to_gnu) <N_Assignment_Statement>: Add support for an
aggregate with a single Others choice on the RHS by means of
__builtin_memset.  Tidy up.

2014-07-30  Ed Schonberg  <schonberg@adacore.com>

* gnat_rm.texi: minor reformatting.

2014-07-30  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Helper_Body): Remove body to inline
in SPARK_Mode Off.

From-SVN: r213240
gcc/ada/ChangeLog
gcc/ada/exp_aggr.adb
gcc/ada/fe.h
gcc/ada/gcc-interface/trans.c
gcc/ada/gnat_rm.texi
gcc/ada/sem_ch6.adb