From: Jose Ruiz <ruiz@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(-)
@@ -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