https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109881
--- Comment #2 from John Marino <gnugcc at marino dot st> --- I found the problematic line. I changed this line: data_in := read_compressed_data (input_stream, planned, bytes_read); to: bytes_read := read_compressed_data (input_stream => input_stream, bytes_planned => planned, data_in => data_in); and the read_compressed_data function was changed from: function read_compressed_data (input_stream : not null SIO.Stream_Access; bytes_planned : Natural; bytes_read : out Natural) return data_in_type; to: function read_compressed_data (input_stream : not null SIO.Stream_Access; bytes_planned : Natural; data_in : out data_in_type) return Natural; The rearrangement of the function avoided the GNAT bug.