Commit 39571eea by Bob Duff Committed by Pierre-Marie de Rodat

[Ada] Prevent crash in Is_Reachable

This patch fixes a bug in Is_Reachable, which causes a crash when checks
are on.

2019-08-12  Bob Duff  <duff@adacore.com>

gcc/ada/

	* libgnat/a-cbmutr.adb (Is_Reachable): Declare Idx to be of the
	base subtype.  Clearly it makes no sense to loop "while Idx >=
	0", if Idx is of a nonnegative subtype.

From-SVN: r274301
parent 18ba4b0d
2019-08-12 Bob Duff <duff@adacore.com> 2019-08-12 Bob Duff <duff@adacore.com>
* libgnat/a-cbmutr.adb (Is_Reachable): Declare Idx to be of the
base subtype. Clearly it makes no sense to loop "while Idx >=
0", if Idx is of a nonnegative subtype.
2019-08-12 Bob Duff <duff@adacore.com>
* libgnat/a-tifiio.adb (Put_Scaled): Prevent AA from being * libgnat/a-tifiio.adb (Put_Scaled): Prevent AA from being
negative, since Field is range 0 .. something. negative, since Field is range 0 .. something.
......
...@@ -1767,10 +1767,8 @@ package body Ada.Containers.Bounded_Multiway_Trees is ...@@ -1767,10 +1767,8 @@ package body Ada.Containers.Bounded_Multiway_Trees is
(Container : Tree; (Container : Tree;
From, To : Count_Type) return Boolean From, To : Count_Type) return Boolean
is is
Idx : Count_Type; Idx : Count_Type'Base := From;
begin begin
Idx := From;
while Idx >= 0 loop while Idx >= 0 loop
if Idx = To then if Idx = To then
return True; return True;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment