s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
authorRobert Dewar <dewar@adacore.com>
Tue, 2 Oct 2012 12:59:17 +0000 (12:59 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 2 Oct 2012 12:59:17 +0000 (14:59 +0200)
commit6e6636ec8b5044a7ab2b464f6e7d7d71ade42356
treebd1180312057b27717b504e3498a14d80f2da58f
parent00bf6feed1ba6566d593073044b3fb133f2305ec
s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
(Big_Exp): Fix possible error for (-1)**0.
(Big_Exp): Fix error in computing 2**K for small K.
(Big_Mod): Fix wrong sign for negative operands.
(Div_Rem): Fix bad results for operands close to 2**63.
* s-bignum.ads: Add documentation and an assertion to require
LLI size to be 64 bits.
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
allow ELIMINATED if LLI'Size is other than 64 bits.
* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
is not 64 bits.
* switch.ads (Bad_Switch): Add missing pragma No_Return.
* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.

2012-10-02  Robert Dewar  <dewar@adacore.com>

* sem_type.adb: Minor reformatting.

From-SVN: r191979
gcc/ada/ChangeLog
gcc/ada/gnat_ugn.texi
gcc/ada/s-bignum.adb
gcc/ada/s-bignum.ads
gcc/ada/sem_prag.adb
gcc/ada/sem_type.adb
gcc/ada/switch-c.adb
gcc/ada/switch.ads