diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2020-05-06 18:40:22 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-07-06 07:35:00 -0400 |
commit | a34da56b26df1db73c20d36ae753173999bd46da (patch) | |
tree | 7e1051eaaa915d7f8e38f983dca0803bbc409cd6 /gcc/ada/sem_eval.adb | |
parent | 3e6bb105d309430c6a96caaa9c0693cad935a09a (diff) | |
download | gcc-a34da56b26df1db73c20d36ae753173999bd46da.zip gcc-a34da56b26df1db73c20d36ae753173999bd46da.tar.gz gcc-a34da56b26df1db73c20d36ae753173999bd46da.tar.bz2 |
[Ada] Crash when an exception handler is executed with -gnatdk
gcc/ada/
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Propagate
exception when switch -gnatdk is used and no previous errors are
present.
* sem_eval.adb (Compile_Time_Known_Value, Is_In_Range):
Likewise.
* sem_warn.adb (Operand_Has_Warnings_Suppressed): Likewise.
Diffstat (limited to 'gcc/ada/sem_eval.adb')
-rw-r--r-- | gcc/ada/sem_eval.adb | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb index 66710a4..2063316 100644 --- a/gcc/ada/sem_eval.adb +++ b/gcc/ada/sem_eval.adb @@ -1848,6 +1848,13 @@ package body Sem_Eval is exception when others => + -- With debug flag K we will get an exception unless an error has + -- already occurred (useful for debugging). + + if Debug_Flag_K then + Check_Error_Detected; + end if; + return False; end Compile_Time_Known_Value; @@ -4962,14 +4969,14 @@ package body Sem_Eval is exception when others => - - -- Debug flag K disables this behavior (useful for debugging) + -- With debug flag K we will get an exception unless an error has + -- already occurred (useful for debugging). if Debug_Flag_K then - raise; - else - return False; + Check_Error_Detected; end if; + + return False; end In_Subrange_Of; ----------------- |