From: Jose Ruiz <r...@adacore.com>

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.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 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 0e2ce9de4b5..a895fd2053a 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
-- 
2.43.2

Reply via email to