-- { dg-do compile } procedure parameterlessfunc is type Byte is mod 256; type Byte_Array is array(Byte range <>) of Byte; subtype Index is Byte range 0..7; subtype Small_Array is Byte_Array(Index); function F return Byte_Array is begin return (0..255=>0); end F; B5: Small_Array := F(Index); begin null; end parameterlessfunc;