From f920ab029d9a742b5be4a52d5b9be19142c814ce Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Fri, 14 Jan 2022 22:36:13 +0100 Subject: [PATCH] [Ada] Fix missing error on actual for In/Out parameter The compiler was failing to give an error on the result of a call to the Input attribute passed as actual for an In/Out parameter. gcc/ada/ * sem_util.adb (Is_OK_Variable_For_Out_Formal): Remove test on Comes_From_Source in the condition dealing with the expression of an N_Unchecked_Type_Conversion node. --- gcc/ada/sem_util.adb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 7f56ab496ed..86bd296faa5 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -19533,9 +19533,7 @@ package body Sem_Util is if Nkind (Original_Node (AV)) in N_Function_Call | N_Aggregate then return False; - elsif Comes_From_Source (AV) - and then Nkind (Original_Node (Expression (AV))) = N_Function_Call - then + elsif Nkind (Original_Node (Expression (AV))) = N_Function_Call then return False; elsif Nkind (Original_Node (AV)) = N_Type_Conversion then