2014-08-04 Ed Schonberg <schonberg@adacore.com>
commit1f5d83cf1a47d0d34b8b19df99ddd7294ae13510
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Aug 2014 07:54:00 +0000 (4 07:54 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Aug 2014 07:54:00 +0000 (4 07:54 +0000)
tree91119788af8e584b9632c7a81a99301a7bf9abab
parent6d9c537395ca06276bcf41c09d2d3ff8681f783b
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213532 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/ada/exp_aggr.adb
gcc/ada/exp_ch4.adb