diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-01 12:17:59 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-10-01 12:17:59 +0200 |
commit | acad3c0a0c949793de53b128adcadf0ecee2bd22 (patch) | |
tree | c12dcb5d92664b2a69c5bff0a305c50b1caeaa9e /gcc/ada/sem.adb | |
parent | d976bf74f0b426dc4f17228e181421e695f49c05 (diff) | |
download | gcc-acad3c0a0c949793de53b128adcadf0ecee2bd22.zip gcc-acad3c0a0c949793de53b128adcadf0ecee2bd22.tar.gz gcc-acad3c0a0c949793de53b128adcadf0ecee2bd22.tar.bz2 |
[multiple changes]
2012-10-01 Robert Dewar <dewar@adacore.com>
* checks.adb (Overflow_Check_Mode): New function
(Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
Moved here from Sem, Overflow_Check case now specially treated.
* checks.ads (Overflow_Check_Mode): New function
(Is_Check_Suppressed): Moved here from Sem (more logical)
* exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
optimization if we are in MINIMIZED or ELIMINATED overflow
checking mode and within an assertiom expression.
* rtsfind.ads: Add entries for Bignum stuff.
* s-bignum.ads, s-bignum.adb: New files.
* sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
* sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
Unsuppress of Overflow_Check (sets Checked instead of Minimized)
* sem_res.adb: Update comments.
* sinfo.ads (N_Op): Add documentation on overflow handling.
* tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
* types.ads (Minimized_Or_Eliminated): New subtype.
2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
* layout.adb (Layout_Type): Do not set twice the address size
on an access-to-unconstrained array if Debug_Flag_6 is set.
From-SVN: r191912
Diffstat (limited to 'gcc/ada/sem.adb')
-rw-r--r-- | gcc/ada/sem.adb | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb index f4beaa6..fc0d74a 100644 --- a/gcc/ada/sem.adb +++ b/gcc/ada/sem.adb @@ -1218,59 +1218,6 @@ package body Sem is end if; end Insert_List_Before_And_Analyze; - ------------------------- - -- Is_Check_Suppressed -- - ------------------------- - - function Is_Check_Suppressed (E : Entity_Id; C : Check_Id) return Boolean is - - Ptr : Suppress_Stack_Entry_Ptr; - - begin - -- First search the local entity suppress stack. We search this from the - -- top of the stack down so that we get the innermost entry that applies - -- to this case if there are nested entries. - - Ptr := Local_Suppress_Stack_Top; - while Ptr /= null loop - if (Ptr.Entity = Empty or else Ptr.Entity = E) - and then (Ptr.Check = All_Checks or else Ptr.Check = C) - then - return Ptr.Suppress; - end if; - - Ptr := Ptr.Prev; - end loop; - - -- Now search the global entity suppress table for a matching entry. - -- We also search this from the top down so that if there are multiple - -- pragmas for the same entity, the last one applies (not clear what - -- or whether the RM specifies this handling, but it seems reasonable). - - Ptr := Global_Suppress_Stack_Top; - while Ptr /= null loop - if (Ptr.Entity = Empty or else Ptr.Entity = E) - and then (Ptr.Check = All_Checks or else Ptr.Check = C) - then - return Ptr.Suppress; - end if; - - Ptr := Ptr.Prev; - end loop; - - -- If we did not find a matching entry, then use the normal scope - -- suppress value after all (actually this will be the global setting - -- since it clearly was not overridden at any point). For a predefined - -- check, we test the specific flag. For a user defined check, we check - -- the All_Checks flag. - - if C in Predefined_Check_Id then - return Scope_Suppress.Suppress (C); - else - return Scope_Suppress.Suppress (All_Checks); - end if; - end Is_Check_Suppressed; - ---------- -- Lock -- ---------- |