Commit a25f5ee6 by Thomas Quinot Committed by Arnaud Charlet

re PR ada/47880 (Free in System.Pool_Local raises Storage_Error)

2011-08-04  Thomas Quinot  <quinot@adacore.com>

	PR ada/47880
	* s-pooloc.adb (Deallocate): Fix the case of deallocating the only
	allocated object.

From-SVN: r177332
parent 7efc3f2d
......@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
......@@ -111,7 +111,10 @@ package body System.Pool_Local is
begin
if Prev (Allocated).all = Null_Address then
Pool.First := Next (Allocated).all;
Prev (Pool.First).all := Null_Address;
if Pool.First /= Null_Address then
Prev (Pool.First).all := Null_Address;
end if;
else
Next (Prev (Allocated).all).all := Next (Allocated).all;
end if;
......
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