aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-10-01 12:17:59 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2012-10-01 12:17:59 +0200
commitacad3c0a0c949793de53b128adcadf0ecee2bd22 (patch)
treec12dcb5d92664b2a69c5bff0a305c50b1caeaa9e /gcc/ada/sem.adb
parentd976bf74f0b426dc4f17228e181421e695f49c05 (diff)
downloadgcc-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.adb53
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 --
----------