[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 4 Aug 2014 07:54:00 +0000 (09:54 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 4 Aug 2014 07:54:00 +0000 (09:54 +0200)
commitf5655e4a9433c8a865b36eb098fb2315d7621855
tree91119788af8e584b9632c7a81a99301a7bf9abab
parent52627911786069aabae42e6393f536ae288adf6d
[multiple changes]

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): Do not attempt expansion
if error already detected.  We may reach this point in spite of
previous errors when compiling with -gnatq, to force all possible
errors (this is the usual ACATS mode).

2014-08-04  Gary Dismukes  <dismukes@adacore.com>

* checks.adb (Generate_Range_Check): For the case of converting
a base type with a larger range to a smaller target subtype, only
use unchecked conversions of bounds in the range check followed
by conversion in the case where both types are discrete. In other
cases, convert to the target base type and save in a temporary
followed by the range check.
(Convert_And_Check_Range): New procedure factoring code to save
conversion to a temporary followed by a range check (called two
places in Generate_Range_Check).
* exp_ch4.adb (Expand_N_Type_Conversion): Relax previous
check-in, to generate range checks for conversions between
any floating-point types rather than limiting it to matching
base types.

From-SVN: r213532
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_aggr.adb
gcc/ada/exp_ch4.adb