diff options
Diffstat (limited to 'gcc/ada/sem.adb')
-rw-r--r-- | gcc/ada/sem.adb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/ada/sem.adb b/gcc/ada/sem.adb index fc0d74a..bbd6425 100644 --- a/gcc/ada/sem.adb +++ b/gcc/ada/sem.adb @@ -730,6 +730,20 @@ package body Sem is Scope_Suppress := Svg; end; + elsif Suppress = Overflow_Check then + declare + Svg : constant Overflow_Check_Type := + Scope_Suppress.Overflow_Checks_General; + Sva : constant Overflow_Check_Type := + Scope_Suppress.Overflow_Checks_Assertions; + begin + Scope_Suppress.Overflow_Checks_General := Suppressed; + Scope_Suppress.Overflow_Checks_Assertions := Suppressed; + Analyze (N); + Scope_Suppress.Overflow_Checks_General := Svg; + Scope_Suppress.Overflow_Checks_Assertions := Sva; + end; + else declare Svg : constant Boolean := Scope_Suppress.Suppress (Suppress); @@ -769,6 +783,20 @@ package body Sem is Scope_Suppress := Svg; end; + elsif Suppress = Overflow_Check then + declare + Svg : constant Overflow_Check_Type := + Scope_Suppress.Overflow_Checks_General; + Sva : constant Overflow_Check_Type := + Scope_Suppress.Overflow_Checks_Assertions; + begin + Scope_Suppress.Overflow_Checks_General := Suppressed; + Scope_Suppress.Overflow_Checks_Assertions := Suppressed; + Analyze_List (L); + Scope_Suppress.Overflow_Checks_General := Svg; + Scope_Suppress.Overflow_Checks_Assertions := Sva; + end; + else declare Svg : constant Boolean := Scope_Suppress.Suppress (Suppress); |