From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Andrew Zabolotny" To: "egcs@cygnus.com" Subject: __eprintf problem in f77 Date: Tue, 09 Dec 1997 02:57:00 -0000 Message-id: <199712091057.NAA29050@freya> X-SW-Source: 1997-12/msg00529.html There was a problem with __eprintf before in cc1/cc1plus, then it disappeared somewhere in last patches before egcs-1.0 release. But it is still present in the f771 compiler. problem: when building the entire bulk of compilers, make stops at gcc/f/fini.c with the ld diagnostics "undefined symbol __eprintf in fini.o" cause: gcc/assert.h defines assert() to call __eprintf when assertion fails. fini.c includes some .h file which in turn includes assert.h. __eprintf is not present in default libraries when using cc solution: define assert() in fini.c same way as in, for example, f/com.c, i.e: /* This is used by the `assert' macro. It is provided in libgcc.a, which `cc' doesn't know how to link. Note that the C++ front-end no longer actually uses the `assert' macro (instead, it calls my_friendly_assert). But all of the back-end files still need this. */ void __eprintf (string, expression, line, filename) #ifdef __STDC__ const char *string; const char *expression; unsigned line; const char *filename; #else char *string; char *expression; unsigned line; char *filename; #endif { fprintf (stderr, string, expression, line, filename); fflush (stderr); abort (); } Greetings, _\ndy@teamOS/2