From: Piotr Trojanek Date: Mon, 12 Apr 2021 14:56:23 +0000 (+0200) Subject: [Ada] More robust guard against cascaded errors with overlapping actuals X-Git-Tag: upstream/12.2.0~6810 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3307a681fe6883008495d686f3b357dcbfb9537c;p=platform%2Fupstream%2Fgcc.git [Ada] More robust guard against cascaded errors with overlapping actuals gcc/ada/ * sem_warn.adb (Warn_On_Overlapping_Actuals): Prevent cascaded errors once for the subprogram call, not for every pair of actual parameters. --- diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 23f2771..9e337f9 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -3729,6 +3729,11 @@ package body Sem_Warn is if Nkind (N) not in N_Subprogram_Call | N_Entry_Call_Statement then return; + + -- Guard against previous errors + + elsif Error_Posted (N) then + return; end if; -- If a call C has two or more parameters of mode in out or out that are @@ -3800,10 +3805,9 @@ package body Sem_Warn is and then Is_Composite_Type (Etype (Form1))) then - -- Guard against previous errors + -- Guard against previous errors - if Error_Posted (N) - or else No (Etype (Act1)) + if No (Etype (Act1)) or else No (Etype (Act2)) then null;