This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc gcc/fortran/ChangeLog gcc/fortran/gfortran ...
- From: tobi at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 1 Jun 2005 23:02:17 -0000
- Subject: gcc gcc/fortran/ChangeLog gcc/fortran/gfortran ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-4_0-branch
Changes by: tobi@gcc.gnu.org 2005-06-01 23:02:17
Modified files:
gcc/fortran : ChangeLog gfortran.h invoke.texi lang.opt
options.c resolve.c trans-decl.c trans-expr.c
trans-types.c
gcc/testsuite : ChangeLog
libgfortran : ChangeLog Makefile.am Makefile.in aclocal.m4
Added files:
gcc/testsuite/gfortran.dg: f2c_1.f90 f2c_2.f90 f2c_3.f90
func_result_2.f90
libgfortran/intrinsics: f2c_specifics.F90
Log message:
fortran/
* 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 and -fno-second-underscore.
(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.
* resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
attribute from result symbol to function symbol.
* trans-expr.c (gfc_conv_function_call): Check sym for attribute
'dimension' instead of sym->result.
libgfortran/
* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
to dependencies.
* aclocal.m4: Regenerate.
* Makefile.in: Regenerate.
* intrinsics/f2c_specific.F90: New file.
testsuite/
* gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90,
gfortran.dg/f2c_3.f90, gfortran.dg/func_result_2.f90:
New tests.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.335.2.61&r2=1.335.2.62
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/gfortran.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.58.2.6&r2=1.58.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/invoke.texi.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.7.18.4&r2=1.7.18.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/lang.opt.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.8.20.1&r2=1.8.20.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/options.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.17.8.1&r2=1.17.8.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/resolve.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.34.2.9&r2=1.34.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.54.2.2&r2=1.54.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-expr.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.38.2.3&r2=1.38.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fortran/trans-types.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.37.10.4&r2=1.37.10.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.218&r2=1.5084.2.219
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/f2c_1.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/f2c_2.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/f2c_3.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/func_result_2.f90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.163.2.46&r2=1.163.2.47
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/Makefile.am.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.29.10.4&r2=1.29.10.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.30.10.4&r2=1.30.10.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/aclocal.m4.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.6.12.2&r2=1.6.12.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libgfortran/intrinsics/f2c_specifics.F90.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.6.1