973ff4c052
gcc/fortran/ PR fortran/20178 * gfortran.h (gfc_option): Add flag_f2c. * invoke.texi: Document '-ff2c' command line option. Adapt documentation for '-fno-second-underscore' and '-fno-underscoring'. * lang.opt (ff2c): New entry. * options.c (gfc-init_options): Set default calling convention to -fno-f2c. Mark -fsecond-underscore unset. (gfc_post_options): Set -fsecond-underscore if not explicitly set by user. (handle_options): Set gfc_option.flag_f2c according to requested calling convention. * trans-decl.c (gfc_get_extern_function_decl): Use special f2c intrinsics where necessary. (gfc_trans_deferred_vars): Change todo error to assertion. * trans-expr.c (gfc_conv_variable): Dereference access to hidden result argument. (gfc_conv_function_call): Add hidden result argument to argument list if f2c calling conventions requested. Slightly restructure tests. Convert result of default REAL function to requested type if f2c calling conventions are used. Dereference COMPLEX result if f2c cc are used. * trans-types.c (gfc_sym_type): Return double for default REAL function if f2c cc are used. (gfc_return_by_reference): Slightly restructure logic. Return COMPLEX by reference depending on calling conventions. (gfc_get_function_type): Correctly make hidden result argument a pass-by-reference argument for COMPLEX. Remove old code which does this for derived types. libgfortran/ PR fortran/20178 * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90' to dependencies. * Makefile.in: Regenerate. * intrinsics/f2c_specific.F90: New file. gcc/testsuite/ PR fortran/20178 * gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90, gfortran.dg/f2c_3.f90: New tests. From-SVN: r99544 |
||
---|---|---|
.. | ||
abort.c | ||
args.c | ||
associated.c | ||
bessel.c | ||
c99_functions.c | ||
chdir.c | ||
cpu_time.c | ||
cshift0.c | ||
date_and_time.c | ||
dprod_r8.f90 | ||
env.c | ||
eoshift0.c | ||
eoshift2.c | ||
erf.c | ||
etime.c | ||
exit.c | ||
f2c_specifics.F90 | ||
flush.c | ||
fnum.c | ||
gerror.c | ||
getcwd.c | ||
getlog.c | ||
getXid.c | ||
hostnm.c | ||
ierrno.c | ||
ishftc.c | ||
kill.c | ||
link.c | ||
mvbits.c | ||
pack_generic.c | ||
perror.c | ||
rand.c | ||
random.c | ||
rename.c | ||
reshape_generic.c | ||
reshape_packed.c | ||
selected_int_kind.f90 | ||
selected_real_kind.f90 | ||
size.c | ||
sleep.c | ||
spread_generic.c | ||
stat.c | ||
string_intrinsics.c | ||
symlnk.c | ||
system_clock.c | ||
system.c | ||
time.c | ||
transpose_generic.c | ||
umask.c | ||
unlink.c | ||
unpack_generic.c |