https://gcc.gnu.org/g:d6a10f8173ca9f390cd87691477fa147d4404f3b
commit r15-663-gd6a10f8173ca9f390cd87691477fa147d4404f3b Author: Jose Ruiz <r...@adacore.com> Date: Thu Mar 7 19:16:18 2024 +0100 ada: Detect only conflict with synomyms of max queue length Use of duplicated representation aspect is detected elsewhere so we do not try to detect them here to avoid repetition of messages. gcc/ada/ * sem_prag.adb (Analyze_Pragma): Exclude detection of duplicates because they are detected elsewhere. Diff: --- gcc/ada/sem_prag.adb | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 0e2ce9de4b53..a895fd2053ac 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -20388,15 +20388,23 @@ package body Sem_Prag is ("pragma % must apply to a protected entry declaration"); end if; - -- Check for duplicates + -- Check for conflicting use of synonyms. Note that we exclude + -- the detection of duplicates here because they are detected + -- elsewhere. - if Has_Rep_Pragma (Entry_Id, Name_Max_Entry_Queue_Length) + if (Has_Rep_Pragma (Entry_Id, Name_Max_Entry_Queue_Length) + and then + Prag_Id /= Pragma_Max_Entry_Queue_Length) or else - Has_Rep_Pragma (Entry_Id, Name_Max_Entry_Queue_Depth) + (Has_Rep_Pragma (Entry_Id, Name_Max_Entry_Queue_Depth) + and then + Prag_Id /= Pragma_Max_Entry_Queue_Depth) or else - Has_Rep_Pragma (Entry_Id, Name_Max_Queue_Length) + (Has_Rep_Pragma (Entry_Id, Name_Max_Queue_Length) + and then + Prag_Id /= Pragma_Max_Queue_Length) then - Error_Msg_N ("??duplicate Max_Entry_Queue_Length pragma", N); + Error_Msg_N ("??maximum entry queue length already set", N); end if; -- Mark the pragma as Ghost if the related subprogram is also