generic package G0 is Ex0 : exception; procedure P0; end G0; package body G0 is procedure P0 is null; end G0; with G0; generic with package G is new G0 (<>); procedure G1; procedure G1 is begin G.P0; exception when G.Ex0 => null; end G1; with G0; package R0 is new G0; with G1; with R0; procedure R1 is new G1 (R0);