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
This commit is contained in:
parent
7efc3f2d9e
commit
a25f5ee669
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue