[Ada] Fix oversight for case expression in Eval_Integer_Literal
The intent of the entry test is to treat conditional expressions, that is to say if-expression and case-expression, alike and to require that a second condition be true for them. But an N_Case_Expression_Alternative is not an N_Subexpr so this second condition was short-circuited for this node. gcc/ada/ * sem_eval.adb (Eval_Integer_Literal): Fix oversight in entry test.
This commit is contained in:
parent
53f2aaf0b3
commit
6798cad793
1 changed files with 1 additions and 1 deletions
|
@ -2797,7 +2797,7 @@ package body Sem_Eval is
|
|||
-- Check_Non_Static_Context on an expanded literal may lead to spurious
|
||||
-- and misleading warnings.
|
||||
|
||||
if (PK not in N_Subexpr
|
||||
if (PK not in N_Case_Expression_Alternative | N_Subexpr
|
||||
or else (PK in N_Case_Expression_Alternative | N_If_Expression
|
||||
and then
|
||||
Comes_From_Source (N)))
|
||||
|
|
Loading…
Add table
Reference in a new issue