sem_ch7.adb (Uninstall_Declarations): Exchange full and private views of a private type after handling its private...
* sem_ch7.adb (Uninstall_Declarations): Exchange full and private views of a private type after handling its private dependents, to maintain proper stack discipline between entry and exit from the package. From-SVN: r94821
This commit is contained in:
parent
7ffd93121c
commit
340b490d0b
1 changed files with 5 additions and 2 deletions
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2004, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2005, 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- --
|
||||
|
@ -1905,7 +1905,6 @@ package body Sem_Ch7 is
|
|||
end if;
|
||||
|
||||
Priv_Elmt := First_Elmt (Private_Dependents (Id));
|
||||
Exchange_Declarations (Id);
|
||||
|
||||
-- Swap out the subtypes and derived types of Id that were
|
||||
-- compiled in this scope, or installed previously by
|
||||
|
@ -1937,6 +1936,10 @@ package body Sem_Ch7 is
|
|||
Next_Elmt (Priv_Elmt);
|
||||
end loop;
|
||||
|
||||
-- Now restore the type itself to its private view.
|
||||
|
||||
Exchange_Declarations (Id);
|
||||
|
||||
elsif Ekind (Id) = E_Incomplete_Type
|
||||
and then No (Full_View (Id))
|
||||
then
|
||||
|
|
Loading…
Add table
Reference in a new issue