Daniel:

> Please, could anyone see the probably obvious
> reason why this should terminate with Program_Error.

This appears to be the same (or a very similar) bug in GNAT
I reported recently on "gnatlist" (and to ACT).

GNAT has some problems using unbounded strings in records
and arrays.

You should report your version of the bug to ACT[1].

Here are my results from running your program:

------------------------------------------------------------
--  GNAT 3.11p  (981118) on Digital Unix (Alpha):

> e1-main

raised PROGRAM_ERROR : SIGSEGV
>

------------------------------------------------------------
--  GNAT 3.11p  (981118) on GNU/Linux (i386):

> e1-main

raised PROGRAM_ERROR
>

------------------------------------------------------------

This a very annoying bug, since it prevents people from
using GNAT for ordinary "information processing" purposes.

Greetings,

Jacob

1) [log in to unmask]

    ---------------------------------------------------
    --  E-post:           [log in to unmask]            --
    --  Web...: <URL:http://hugin.ldraw.org/Jacob/>  --
    ---------------------------------------------------