http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323
--- Comment #2 from simon at pushface dot org 2013-03-20 09:36:44 UTC --- Still fails on 4.8. However: package Indefinite_Dynamic begins generic type Item (<>) is private; type Item_Ptr is access Item; Storage : in out System.Storage_Pools.Root_Storage_Pool'Class; Initial_Size : Positive := 10; package Indefinite_Dynamic is and I find that the problem goes away if I move the formal parameters around so that Storage is the last parameter.