mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-18 16:44:57 +08:00
[Ada] Compiler crash on limited conditional expressions
gcc/ada/ * exp_ch3.adb (Expand_N_Object_Declaration): Avoid crash in case of conditional expression.
This commit is contained in:
parent
2bf891fa75
commit
e783561e9c
@ -7403,12 +7403,12 @@ package body Exp_Ch3 is
|
||||
|
||||
-- If we cannot convert the expression into a renaming we must
|
||||
-- consider it an internal error because the backend does not
|
||||
-- have support to handle it. Also, when a raise expression is
|
||||
-- encountered we ignore it since it doesn't return a value and
|
||||
-- thus cannot trigger a copy.
|
||||
-- have support to handle it. But avoid crashing on a raise
|
||||
-- expression or conditional expression.
|
||||
|
||||
elsif Nkind (Original_Node (Expr_Q)) /= N_Raise_Expression then
|
||||
pragma Assert (False);
|
||||
elsif Nkind (Original_Node (Expr_Q)) not in
|
||||
N_Raise_Expression | N_If_Expression | N_Case_Expression
|
||||
then
|
||||
raise Program_Error;
|
||||
end if;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user