diff options
author | Robert Dewar <dewar@adacore.com> | 2012-10-01 13:12:26 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-01 15:12:26 +0200 |
commit | f619427812a37d1249b1a85434dde71b8efdc40a (patch) | |
tree | 93e1d49dd1f5bb39c1680522d66c5b96eea18009 /gcc/ada/sinfo.adb | |
parent | e0df453331f97b78cbd77a377a3d2531137eb7b2 (diff) | |
download | gcc-f619427812a37d1249b1a85434dde71b8efdc40a.zip gcc-f619427812a37d1249b1a85434dde71b8efdc40a.tar.gz gcc-f619427812a37d1249b1a85434dde71b8efdc40a.tar.bz2 |
checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated): Handle case of appearing in range in membership test.
2012-10-01 Robert Dewar <dewar@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
Handle case of appearing in range in membership test.
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
New procedure (Expand_N_In): Use
Expand_Membership_Minimize_Eliminate_Overflow.
* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
2012-10-01 Robert Dewar <dewar@adacore.com>
* uintp.ads: Minor reformatting.
From-SVN: r191918
Diffstat (limited to 'gcc/ada/sinfo.adb')
-rw-r--r-- | gcc/ada/sinfo.adb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb index d2413ad..e5773e0 100644 --- a/gcc/ada/sinfo.adb +++ b/gcc/ada/sinfo.adb @@ -2235,6 +2235,15 @@ package body Sinfo is return Flag13 (N); end No_Initialization; + function No_Minimize_Eliminate + (N : Node_Id) return Boolean is + begin + pragma Assert (False + or else NT (N).Nkind = N_In + or else NT (N).Nkind = N_Not_In); + return Flag17 (N); + end No_Minimize_Eliminate; + function No_Truncation (N : Node_Id) return Boolean is begin @@ -5288,6 +5297,15 @@ package body Sinfo is Set_Flag13 (N, Val); end Set_No_Initialization; + procedure Set_No_Minimize_Eliminate + (N : Node_Id; Val : Boolean := True) is + begin + pragma Assert (False + or else NT (N).Nkind = N_In + or else NT (N).Nkind = N_Not_In); + Set_Flag17 (N, Val); + end Set_No_Minimize_Eliminate; + procedure Set_No_Truncation (N : Node_Id; Val : Boolean := True) is begin |