Thread View: net.lang.f77
1 messages
1 total messages
Started by Doug Gwyn
Thu, 15 May 1986 04:06
Re: assign bug in f77
Author: Doug Gwyn
Date: Thu, 15 May 1986 04:06
Date: Thu, 15 May 1986 04:06
30 lines
1500 bytes
1500 bytes
Posted back in mid-1985:
> Description:
> The f77 VAX code generator creates illegal instructions ("cvtll")
> whenever the target of an 'assign' statement is an integer*2
> variable.
>
> Repeat-by:
> Run the following program through the f77 compiler:
>
> integer*2 i
> assign 10 to i
> goto i
> 10 continue
> end
I just got around to looking at this problem,
originally reported for VAX 4.2BSD f77, using
the VAX SVR2 f77. It has a similar problem,
not in the code generator, but in the optimizer
(/lib/c2). The optimizer removes the labeled
"ret" that is the target of the goto, because
it doesn't realize that the CVTLW (of the label
into a variable which is then indirectly jumped
through for the goto) is a label reference.
The CVTLL seems to be a Berkeley special..
ASSIGN moves a label, NOT an integer, into the
assign variable, which for that reason must
not be an INTEGER*2. The compiler should,
however, have warned about this user error.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads