From b22755743186cb09c6cdd90d46f8c1462fa84544 Mon Sep 17 00:00:00 2001 From: tkoenig Date: Sat, 4 Nov 2017 13:20:32 +0000 Subject: 2017-11-04 Thomas Koenig PR fortran/29600 * gfortran.h (gfc_check_f): Replace fm3l with fm4l. * intrinsic.h (gfc_resolve_maxloc): Add gfc_expr * to argument list in protoytpe. (gfc_resolve_minloc): Likewise. * check.c (gfc_check_minloc_maxloc): Handle kind argument. * intrinsic.c (add_sym_3_ml): Rename to (add_sym_4_ml): and handle kind argument. (add_function): Replace add_sym_3ml with add_sym_4ml and add extra arguments for maxloc and minloc. (check_specific): Change use of check.f3ml with check.f4ml. * iresolve.c (gfc_resolve_maxloc): Handle kind argument. If the kind is smaller than the smallest library version available, use gfc_default_integer_kind and convert afterwards. (gfc_resolve_minloc): Likewise. 2017-11-04 Thomas Koenig PR fortran/29600 * gfortran.dg/minmaxloc_8.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254405 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/gfortran.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/fortran/gfortran.h') diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 2c2fc636708..213c5da56f7 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -1989,7 +1989,7 @@ gfc_intrinsic_arg; argument lists of intrinsic functions. fX with X an integer refer to check functions of intrinsics with X arguments. f1m is used for the MAX and MIN intrinsics which can have an arbitrary number of - arguments, f3ml is used for the MINLOC and MAXLOC intrinsics as + arguments, f4ml is used for the MINLOC and MAXLOC intrinsics as these have special semantics. */ typedef union @@ -1999,7 +1999,7 @@ typedef union bool (*f1m)(gfc_actual_arglist *); bool (*f2)(struct gfc_expr *, struct gfc_expr *); bool (*f3)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *); - bool (*f3ml)(gfc_actual_arglist *); + bool (*f4ml)(gfc_actual_arglist *); bool (*f3red)(gfc_actual_arglist *); bool (*f4)(struct gfc_expr *, struct gfc_expr *, struct gfc_expr *, struct gfc_expr *); -- cgit v1.2.1 From c885c55e4cb6bf7a3098dff7d1a8b75a9867c73f Mon Sep 17 00:00:00 2001 From: foreese Date: Sat, 11 Nov 2017 00:47:53 +0000 Subject: 2017-11-10 Fritz Reese PR fortran/82886 gcc/fortran/ChangeLog: PR fortran/82886 * gfortran.h (gfc_build_init_expr): New prototype. * invoke.texi (finit-derived): Update documentation. * expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr. (gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false) (component_initializer): Force building initializers using gfc_build_init_expr(,,true). gcc/testsuite/ChangeLog: PR fortran/82886 * gfortran.dg/init_flag_16.f03: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254648 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/gfortran.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/fortran/gfortran.h') diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 213c5da56f7..a57676a2be1 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -3174,6 +3174,7 @@ bool gfc_check_pointer_assign (gfc_expr *, gfc_expr *); bool gfc_check_assign_symbol (gfc_symbol *, gfc_component *, gfc_expr *); gfc_expr *gfc_build_default_init_expr (gfc_typespec *, locus *); +gfc_expr *gfc_build_init_expr (gfc_typespec *, locus *, bool); void gfc_apply_init (gfc_typespec *, symbol_attribute *, gfc_expr *); bool gfc_has_default_initializer (gfc_symbol *); gfc_expr *gfc_default_initializer (gfc_typespec *); -- cgit v1.2.1