aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-02-22 22:26:01 +0100
committerMarc Poulhiès <poulhies@adacore.com>2024-05-16 10:49:31 +0200
commit55d11e8751e070e38f981e308d84dfde23c2af3d (patch)
tree5dbd2096ded532622d0e2eeee0f1d7752a38a082
parentf5c78702f9436bfa5a0cf1f87b6004ead79c5892 (diff)
downloadgcc-55d11e8751e070e38f981e308d84dfde23c2af3d.zip
gcc-55d11e8751e070e38f981e308d84dfde23c2af3d.tar.gz
gcc-55d11e8751e070e38f981e308d84dfde23c2af3d.tar.bz2
ada: Improve recovery from illegal occurrence of 'Old in if_expression
Fix assertion failure in developer builds which happened when the THEN expression contains an illegal occurrence of 'Old and the type of the THEN expression is left as Any_Type, but there is no ELSE expression. gcc/ada/ * sem_ch4.adb (Analyze_If_Expression): Add guard for if_expression without an ELSE part.
-rw-r--r--gcc/ada/sem_ch4.adb2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index b4414a3..03364da 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -2645,7 +2645,7 @@ package body Sem_Ch4 is
("\ELSE expression has}!", Else_Expr, Etype (Else_Expr));
end if;
- else
+ elsif Present (Else_Expr) then
if Is_Overloaded (Else_Expr) then
Error_Msg_N
("no interpretation compatible with type of THEN expression",