www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/02/14/15:15:01

Date: Sun, 13 Feb 1994 19:20:53 -0500 (EST)
From: Myron Sussman <msbt+@ANDREW.CMU.EDU>
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: f2c open problem

Would you believe ...
I have been trying to get f2c (Fortran to C translator/compiler)
going.  I had a few minor problems involving clashes among #defines
and such, but they are mostly worked out.  I have been having trouble
with the open.c module, which treats the Fortran OPEN statement.

The makefile for f2c builds two link libraries: libI77 and libF77.
The rule in the makefile for compilation is:
.c.o:
	$(CC) -c -DSkip_f2c_Undefs $(CFLAGS) $*.c
	ld -r -x -o $*.xxx $*.o
	del $*.o
	rename $*.xxx $*.o
and the rule for creating the library is:
libI77.a:	$(OBJ)
		ar r libI77.a $?
		ranlib libI77.a

Here is my problem:  If I use the indicated rules, then when I try
to execute a trivial Fortran program (which has an OPEN statement in
it) I get a run-time abort.  I cannot understand the error message.
If, instead of doing the ld step in .c.o for open.c, I only compile
open.c to get open.o and put IT into the library (ALL other routines
are treated using the above rules) then everything works fine!

Can anyone offer an explanation?

Mike Sussman, msbt AT andrew DOT cmu DOT edu.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019