https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117936
--- Comment #2 from Saada Mehdi <00120260a at gmail dot com> --- I forgot swap_generic needed by heaps_generic. Code is just > GENERIC > TYPE ValueType IS PRIVATE; > PROCEDURE Swap_Generic(Value1, Value2: IN OUT ValueType); > PROCEDURE Swap_Generic(Value1, Value2: IN OUT ValueType) IS > TempValue: ValueType; > BEGIN -- Swap_Generic > TempValue := Value1; > Value1 := Value2; > Value2 := TempValue; > END Swap_Generic;