tags 315414 confirmed upstream
forwarded 315414 http://gcc.gnu.org/PR22165
thanks
The following test case isolates the problem more closely.
-- ARM 15.5.3(7): "The component subtypes of the formal and actual
-- array types shall statically match."
generic
package P is
type T is private;
private
type T is new Integer;
end P;
generic
type Formal_Array_Type is array (Positive range <>) of T;
package P.Q is
end P.Q;
with P.Q;
package Test_315414 is
package Instance_Of_P is new P;
type Array_Type is array (Positive range <>) of Instance_Of_P.T;
package Instance_Of_Q is new P.Q (Formal_Array_Type => Array_Type);
end Test_315414;
The compiler should accept the program, but says:
test_315414.ads:9:49: component subtype of actual does not match that of
formal "Formal_Array_Type"
test_315414.ads:9:49: instantiation abandoned
gnatmake: "test_315414.ads" compilation error
Also confirmed on gnat-4.0 and submitted upstream.
--
Ludovic Brenta.