2012-10-04 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2012 09:10:08 +0000 (09:10 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2012 09:10:08 +0000 (09:10 +0000)
commit4fb5f0a021cd23ac3f41aa7e3043bb2d5f58920c
tree1808e4c1ca1a676ee883f928f954cc4663d53ea7
parent957735545b815ee5c1a76abd9ee3227a9b23a609
2012-10-04  Robert Dewar  <dewar@adacore.com>

* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
if/case expression if nothing has changed (just reexpand). Stops
case expression from generating incorrect temporary.
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
Fix cut and paste typo for range analysis in NE (not equal) case.
* sem_eval.adb (Compile_Time_Compare): Small optimization to
catch some more cases.
* types.ads (Suppressed_Or_Checked): New subtype of
Overflow_Check_Type.

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