Topic: Undefined References

Is there a way around undefined compiler references to 'getcl' and 'intrup' both of which would be related to Lahey F77L?

Re: Undefined References

Been looking at this further and for the purpose should be able to work around the Intrup call with Fget & Fput in place of interrupt with Regs 1 & 4?

get_command appears a replacement for getcl?

Re: Undefined References

I'm not familiar with Lahey's getcl or intrup, but neither are part of the Fortran standards.  They are extensions specific to Lahey's compiler.

If Lahey's getcl is indeed supposed to return the command line, you should be using the command get_command as specified by the Fortran 2003 standard. 

Lahey's intrup routine is an entirely different story.  It appears to stand for "interrupt" so that users can call system interrupts.  These calls were relatively common under MS-DOS to access BIOS services, including reading a keystroke or performing direct video access.  However, the usefulness of intrup under modern Microsoft Windows systems is questionable.  I'd be surprised if Windows, especially 64-bit variants, allowed any interrupts to actually be called. 

Simply Fortran definitely does not provide an equivalent for intrup.  What is the code using the call attempting to achieve?  If we knew that, I'm sure plenty of users here could suggest an alternative that conforms to the Fortran standard. 

If it is just using the interrupt to put characters on the screen, then fget and fput may work.  However, these two intrinsic subroutines are both GNU extensions, not part of the Fortran standard.  You might be forced to perform another fix if you attempt to use yet another compiler.

Jeff Armstrong
Approximatrix, LLC

4 (edited by Matt 2014-01-05 21:52:56)

Re: Undefined References

Jeff, Yes the Intrup call was asociated with input/response to/from the console/keyboard and tied up with (apart from other things) suppressing CR/LF for input as well as single keystoke input response such as "Press any key to continue" and input capabilities on the same line as the prompts etc.

With Intrup single characters could be 'put' using register[4] and characters could be 'got' using register[1] via MS-DOS interrupt 33.

For now just trying to make things work without rewritting a whole heap of inter related routines

5 (edited by Matt 2014-01-07 22:30:32)

Re: Undefined References

Just an update, have been able to cleanly compile all the libraries, subroutines etc and link everything together, however there are some other underlying issues which fail during execution which at this immediate point is file opening/writing/closing calls and I would suspect there will be other conflicts.

So for now I will have to slot this exercise into the stuff to do box when I have a lot of time to look deepr and obviously rewrite a heap of libraries & subroutines. Thanks for the comments.