On 3/17/06, Steve Kargl <[EMAIL PROTECTED]> wrote: > > Careful. libgfortran attempts to keep its namespace clean > by appending gfortran_ to its intrinsics procedure.
I know, I invented that, sort of (/me does the Al Gore "I invented..." shuffle ;-) > If > you really want to expose getarg_ and iargc_, look at abort_. I really do want to somehow make it easy for people to link against libgfortran when they are compiling stuff, and not get link errors. That does mean exposing getarg_ and iargc_, however I'd be perfectly fine with stuffing those exports in a separate file, for examle g77_compat.c or whatever. That does polute the namespace, I know. But IIUC the problems that this might cause could be avoided by exporting these compatibility names as weak symbols. The GCC manual has as an example: void __f () { /* Do something. */; } void f () __attribute__ ((weak, alias ("__f"))); We could e.g. do. extern void getarg_i4 (GFC_INTEGER_4 *, char *, gfc_charlen_type); iexport_proto(getarg_i4); void getarg_ (GFC_INTEGER_4 *, char*, gfc_charlen_type) __attribute__ ((weak, alias (#IPREFIX(getarg_i4)))); or something along the line of this (I'm pretty sure the above does not actually work ;-) > Note, I oppose this type of change, because -std=f95 will > loose its meaning. I know, and that is why I'm looking for expert input for ways to get the compatibility without destroying the goodness of a clean namespace. Gr. Steven