https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121366

--- Comment #6 from kargls at comcast dot net ---
(In reply to kargls from comment #5)
>
> gfc_resolve_sind (gfc_expr *f, gfc_expr *x)
> {
>   f->ts = x->ts;
>   f->value.function.name
>     = gfc_get_string (PREFIX ("sind_%c%d"), gfc_type_letter (x->ts.type),
>                     gfc_type_abi_kind (&x->ts));
> }

Ugh, bad things are about to happen.  PREFIX ("%sind_%c%d") expands
to _gfortran_specific_gfortran_sind_r4 for REAL(4), which is not in
libgfortran.a.  The symbol in the library is _gfortran_sind_r4.
With 'PREFIX ("sind_%c%d")' replaces with '"_sind_%c%d"', we get
_gfortran_specific_sind_r4, which is closer to want we want but
still conflicts with the exported names in libgfortran.so

Reply via email to