[multiple changes]

2017-01-06  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node
	in tree, which means not analyzing the previous prefix if the node has
	been rewritten into its prefix.

2017-01-06  Gary Dismukes  <dismukes@adacore.com>

	* s-tpobop.adb: Minor reformatting.

From-SVN: r244137
This commit is contained in:
Arnaud Charlet 2017-01-06 12:19:47 +01:00
parent 229fa5dbde
commit 50145b9389
3 changed files with 19 additions and 7 deletions

View File

@ -1,3 +1,13 @@
2017-01-06 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute/Attribute_Loop_Entry): Analyze node
in tree, which means not analyzing the previous prefix if the node has
been rewritten into its prefix.
2017-01-06 Gary Dismukes <dismukes@adacore.com>
* s-tpobop.adb: Minor reformatting.
2017-01-06 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Ensure_Valid): Do not generate a validity check

View File

@ -348,17 +348,17 @@ package body System.Tasking.Protected_Objects.Operations is
or else Object.Entry_Queue_Maxes /= null
then
-- Need to check the queue length. Computing the length is an
-- unusual case and is slow (need to walk the queue)
-- unusual case and is slow (need to walk the queue).
Queue_Length := Queuing.Count_Waiting (Object.Entry_Queues (E));
if (Run_Time_Restrictions.Set (Max_Entry_Queue_Length)
and then Queue_Length >=
and then Queue_Length >=
Run_Time_Restrictions.Value (Max_Entry_Queue_Length))
or else
(Object.Entry_Queue_Maxes /= null
and then Object.Entry_Queue_Maxes (Index) /= 0
and then Queue_Length >= Object.Entry_Queue_Maxes (Index))
(Object.Entry_Queue_Maxes /= null
and then Object.Entry_Queue_Maxes (Index) /= 0
and then Queue_Length >= Object.Entry_Queue_Maxes (Index))
then
-- This violates the Max_Entry_Queue_Length restriction or the
-- Max_Queue_Length bound, raise Program_Error.

View File

@ -4488,9 +4488,11 @@ package body Sem_Attr is
if Is_Ignored (Enclosing_Pragma) then
Rewrite (N, Relocate_Node (P));
end if;
Preanalyze_And_Resolve (N);
Preanalyze_And_Resolve (P);
else
Preanalyze_And_Resolve (P);
end if;
end Loop_Entry;
-------------