I've heard from Ed Vogel in the compiler group and I include his explanation 
below.  The bottom line is that when we do a debug Perl build, we insert 
/LIST/SHOW=ALL into the compile command, but /SHOW=ALL now implicitly 
includes the new option /SHOW=CROSS_REFERENCE.  This new option has a bug in 
the current release of the compiler; just turn it off if you really need to 
get util.c from the Perl sources compiled debug.

Many thanks to Ed for his quick, courteous, and knowledgeable replies to my queries.

Ed wrote:

>    As I expected, we have already corrected this problem
>    in our internal sources, and the fix should ship in the next
>    release of the compiler. 
>
>    The problem was caused wherever there was an typedef that
>    declares an incomplete array type and the compiler was
>    required to gather cross reference information (this can
>    happen when either /SHOW=CROSS, or /WARN=ENABLE=<some set of
>    messages> is specified).
>
>    In your program, there was a line:
>
>typedef OP* ( * PPADDR_t [] ) (void);
>
>    that was causing the crash.  If I put a 10 inside the braces
>    the program would compile cleanly.  
>
>
>    The real workaround is to not use /SHOW=ALL (or /SHOW=CROSS)
>    when compiling these programs.  They should run correctly.
>    Because the compiler bug only impacted the listing output
>    file, we decided not to issue an ECO for this bug.  Further,
>    your's is the first report we've seen from a real customer
>    (the other report was from an internal user).  
>
>
>    Once again, thank you very much for taking the time to report
>    this problem, and for helping me confirm that we had already
>    corrected it.  I hope our bug did not cause you too much
>    trouble, and that the suggested workaround will suffice.
>
>                                                Ed 

_______________________________________________
Craig A. Berry                                   
mailto:[EMAIL PROTECTED]

Reply via email to