diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-24 15:09:40 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-24 15:09:40 +0000 |
commit | 630b6d55e2c3e15945a7ea39d14a9672d2e3f08c (patch) | |
tree | d45dd7dade3c3d765f7a03a223fc0c16d070f786 /gcc/ada/exp_ch4.adb | |
parent | 2da355155a16445440cdd9ffedd55dd9c5771eb8 (diff) | |
download | gcc-630b6d55e2c3e15945a7ea39d14a9672d2e3f08c.tar.gz |
2014-02-24 Yannick Moy <moy@adacore.com>
* freeze.adb (Freeze_Entity): Do not issue warning
for pre/post being ignored on imported subprogram in GNATprove
mode.
2014-02-24 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
stand.ads, sem_eval.adb: Minor reformatting.
2014-02-24 Yannick Moy <moy@adacore.com>
* sem_prag.adb: Minor rewording in error message.
2014-02-24 Johannes Kanig <kanig@adacore.com>
* exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
GNATprove_mode, gnat2why doesn't need nor use these types.
2014-02-24 Gary Dismukes <dismukes@adacore.com>
* exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
target, in the case of signed integer exponentiation that uses a
run-time routine, always select the Exp_* versions, since overflow
checking is automatically done by AAMP arithmetic instructions.
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications):
When the related context is a package instace, insert pragma
Abstract_State after all internally-generated renamings related
to the instance "header".
2014-02-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
subprograms.
* sem_disp.adb (Check_Dispatching_Context): A non-dispatching
call to an abstract subprogram is legal if it appears in a
pre/postcondition of another abstract operation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208070 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch4.adb')
-rw-r--r-- | gcc/ada/exp_ch4.adb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 36c12acd206..b11506ff9a6 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -7611,7 +7611,11 @@ package body Exp_Ch4 is then Etyp := Standard_Long_Long_Integer; - if Ovflo then + -- Overflow checking is the only choice on the AAMP target, where + -- arithmetic instructions check overflow automatically, so only + -- one version of the exponentiation unit is needed. + + if Ovflo or else AAMP_On_Target then Rent := RE_Exp_Long_Long_Integer; else Rent := RE_Exn_Long_Long_Integer; @@ -7620,7 +7624,11 @@ package body Exp_Ch4 is elsif Is_Signed_Integer_Type (Rtyp) then Etyp := Standard_Integer; - if Ovflo then + -- Overflow checking is the only choice on the AAMP target, where + -- arithmetic instructions check overflow automatically, so only + -- one version of the exponentiation unit is needed. + + if Ovflo or else AAMP_On_Target then Rent := RE_Exp_Integer; else Rent := RE_Exn_Integer; |