mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-23 11:05:09 +08:00
9edfa4c015
9 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Jakub Jelinek
|
a554497024 |
Update copyright years.
From-SVN: r267494 |
||
Thomas Koenig
|
2ea47ee9fd |
re PR fortran/82995 (Segmentation fault passing optional argument to intrinsic sum function)
2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82995 * trans-expr.c (gfc_conv_procedure_call): Pass NULL pointer for missing optional dummy arguments for library routines. * trans-intinsic.c (conv_mask_condition): New function. (gfc_conv_intrinsic_arith): Detect and handle optional mask. (gfc_conv_intrinsic_minmaxloc): Likewise. (gfc_conv_intrinsic_findloc): Likewise. (gfc_conv_intrinsic_minmaxval): Likewise. (gfc_inline_intrinsic_function_p): Do not inline for rank > 1 if an optional mask is present. 2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82995 * m4/ifindloc0.m4: Handle case of absend optional argument, passed as a NULL pointer. Correct allocation of retarray->base_addr. * m4/ifindloc1.m4: Likewise. * m4/ifindloc2.m4: Handle case of absend optional argument, passed as a NULL pointer. * m4/iforeach-s.m4: Likewise. * m4/iforeach-s2.m4: Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction-s.m4: Likewise. * m4/ifunction-s2.m4: Likewise. * m4/ifunction.m4: Likewise. * generated/findloc0_c16.c: Regenerated. * generated/findloc0_c4.c: Regenerated. * generated/findloc0_c8.c: Regenerated. * generated/findloc0_i1.c: Regenerated. * generated/findloc0_i16.c: Regenerated. * generated/findloc0_i2.c: Regenerated. * generated/findloc0_i4.c: Regenerated. * generated/findloc0_i8.c: Regenerated. * generated/findloc0_r16.c: Regenerated. * generated/findloc0_r4.c: Regenerated. * generated/findloc0_r8.c: Regenerated. * generated/findloc0_s1.c: Regenerated. * generated/findloc0_s4.c: Regenerated. * generated/findloc1_c16.c: Regenerated. * generated/findloc1_c4.c: Regenerated. * generated/findloc1_c8.c: Regenerated. * generated/findloc1_i1.c: Regenerated. * generated/findloc1_i16.c: Regenerated. * generated/findloc1_i2.c: Regenerated. * generated/findloc1_i4.c: Regenerated. * generated/findloc1_i8.c: Regenerated. * generated/findloc1_r16.c: Regenerated. * generated/findloc1_r4.c: Regenerated. * generated/findloc1_r8.c: Regenerated. * generated/findloc1_s1.c: Regenerated. * generated/findloc1_s4.c: Regenerated. * generated/findloc2_s1.c: Regenerated. * generated/findloc2_s4.c: Regenerated. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc0_16_s1.c: Regenerated. * generated/maxloc0_16_s4.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/maxloc0_4_s1.c: Regenerated. * generated/maxloc0_4_s4.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/maxloc0_8_s1.c: Regenerated. * generated/maxloc0_8_s4.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_16_s1.c: Regenerated. * generated/maxloc1_16_s4.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_4_s1.c: Regenerated. * generated/maxloc1_4_s4.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxloc1_8_s1.c: Regenerated. * generated/maxloc1_8_s4.c: Regenerated. * generated/maxval0_s1.c: Regenerated. * generated/maxval0_s4.c: Regenerated. * generated/maxval1_s1.c: Regenerated. * generated/maxval1_s4.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/minloc0_16_s1.c: Regenerated. * generated/minloc0_16_s4.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. * generated/minloc0_4_s1.c: Regenerated. * generated/minloc0_4_s4.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/minloc0_8_s1.c: Regenerated. * generated/minloc0_8_s4.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_16_s1.c: Regenerated. * generated/minloc1_16_s4.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_4_s1.c: Regenerated. * generated/minloc1_4_s4.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minloc1_8_s1.c: Regenerated. * generated/minloc1_8_s4.c: Regenerated. * generated/minval0_s1.c: Regenerated. * generated/minval0_s4.c: Regenerated. * generated/minval1_s1.c: Regenerated. * generated/minval1_s4.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. 2018-12-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82995 * gfortran.dg/optional_absent_4.f90: New test. * gfortran.dg/optional_absent_5.f90: New test. From-SVN: r267487 |
||
Thomas Koenig
|
01ce9e31a0 |
re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=)
2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * gfortran.h (gfc_isym_id): Add GFC_ISYM_FINDLOC. (gfc_check_f): Add f6fl field. (gfc_simplify_f): Add f6 field. (gfc_resolve_f): Likewise. (gfc_type_letter): Add optional logical_equas_int flag. * check.c (intrinsic_type_check): New function. (gfc_check_findloc): New function. * intrinsics.c (gfc_type_letter): If logical_equals_int is set, act accordingly. (add_sym_5ml): Reformat comment. (add_sym_6fl): New function. (add_functions): Add findloc. (check_arglist): Add sixth argument, handle it. (resolve_intrinsic): Likewise. (check_specific): Handle findloc. * intrinsic.h (gfc_check_findloc): Add prototype. (gfc_simplify_findloc): Likewise. (gfc_resolve_findloc): Likewise. (MAX_INTRINSIC_ARGS): Adjust. * iresolve.c (gfc_resolve_findloc): New function. * simplify.c (gfc_simplify_minmaxloc): Make static. (simplify_findloc_to_scalar): New function. (simplify_findloc_nodim): New function. (simplify_findloc_to_array): New function. (gfc_simplify_findloc): New function. (gfc_conv_intrinsic_findloc): New function. (gfc_conv_intrinsic_function): Handle GFC_ISYM_FINDLOC. (gfc_is_intrinsic_libcall): Likewise. 2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * Makefile.am: Add files for findloc. * Makefile.in: Regenerated. * libgfortran.h (gfc_array_index_type): Add. (gfc_array_s1): Add using GFC_UINTEGER_1. (gfc_array_s4): Likewise. Replace unnecessary comment. (HAVE_GFC_UINTEGER_1): Define. (HAVE_GFC_UINTEGER_4): Define. * m4/findloc0.m4: New file. * m4/findloc0s.m4: New file. * m4/findloc1.m4: New file. * m4/findloc1s.m4: New file. * m4/findloc2s.m4: New file. * m4/ifindloc0.m4: New file. * m4/ifindloc1.m4: New file. * m4/ifindloc2.m4: New file. * m4/iparm.m4: Use unsigned integer for characters. * generated/findloc0_c16.c: New file. * generated/findloc0_c4.c: New file. * generated/findloc0_c8.c: New file. * generated/findloc0_i1.c: New file. * generated/findloc0_i16.c: New file. * generated/findloc0_i2.c: New file. * generated/findloc0_i4.c: New file. * generated/findloc0_i8.c: New file. * generated/findloc0_r16.c: New file. * generated/findloc0_r4.c: New file. * generated/findloc0_r8.c: New file. * generated/findloc0_s1.c: New file. * generated/findloc0_s4.c: New file. * generated/findloc1_c16.c: New file. * generated/findloc1_c4.c: New file. * generated/findloc1_c8.c: New file. * generated/findloc1_i1.c: New file. * generated/findloc1_i16.c: New file. * generated/findloc1_i2.c: New file. * generated/findloc1_i4.c: New file. * generated/findloc1_i8.c: New file. * generated/findloc1_r16.c: New file. * generated/findloc1_r4.c: New file. * generated/findloc1_r8.c: New file. * generated/findloc1_s1.c: New file. * generated/findloc1_s4.c: New file. * generated/findloc2_s1.c: New file. * generated/findloc2_s4.c: New file. * generated/maxloc0_16_s1.c: Regenerated. * generated/maxloc0_16_s4.c: Regenerated. * generated/maxloc0_4_s1.c: Regenerated. * generated/maxloc0_4_s4.c: Regenerated. * generated/maxloc0_8_s1.c: Regenerated. * generated/maxloc0_8_s4.c: Regenerated. * generated/maxloc1_16_s1.c: Regenerated. * generated/maxloc1_16_s4.c: Regenerated. * generated/maxloc1_4_s1.c: Regenerated. * generated/maxloc1_4_s4.c: Regenerated. * generated/maxloc1_8_s1.c: Regenerated. * generated/maxloc1_8_s4.c: Regenerated. * generated/maxloc2_16_s1.c: Regenerated. * generated/maxloc2_16_s4.c: Regenerated. * generated/maxloc2_4_s1.c: Regenerated. * generated/maxloc2_4_s4.c: Regenerated. * generated/maxloc2_8_s1.c: Regenerated. * generated/maxloc2_8_s4.c: Regenerated. * generated/maxval0_s1.c: Regenerated. * generated/maxval0_s4.c: Regenerated. * generated/maxval1_s1.c: Regenerated. * generated/maxval1_s4.c: Regenerated. * generated/minloc0_16_s1.c: Regenerated. * generated/minloc0_16_s4.c: Regenerated. * generated/minloc0_4_s1.c: Regenerated. * generated/minloc0_4_s4.c: Regenerated. * generated/minloc0_8_s1.c: Regenerated. * generated/minloc0_8_s4.c: Regenerated. * generated/minloc1_16_s1.c: Regenerated. * generated/minloc1_16_s4.c: Regenerated. * generated/minloc1_4_s1.c: Regenerated. * generated/minloc1_4_s4.c: Regenerated. * generated/minloc1_8_s1.c: Regenerated. * generated/minloc1_8_s4.c: Regenerated. * generated/minloc2_16_s1.c: Regenerated. * generated/minloc2_16_s4.c: Regenerated. * generated/minloc2_4_s1.c: Regenerated. * generated/minloc2_4_s4.c: Regenerated. * generated/minloc2_8_s1.c: Regenerated. * generated/minloc2_8_s4.c: Regenerated. * generated/minval0_s1.c: Regenerated. * generated/minval0_s4.c: Regenerated. * generated/minval1_s1.c: Regenerated. * generated/minval1_s4.c: Regenerated. 2017-10-28 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * gfortran.dg/findloc_1.f90: New test. * gfortran.dg/findloc_2.f90: New test. * gfortran.dg/findloc_3.f90: New test. * gfortran.dg/findloc_4.f90: New test. * gfortran.dg/findloc_5.f90: New test. * gfortran.dg/findloc_6.f90: New test. From-SVN: r265570 |
||
Steven G. Kargl
|
ca708a2b55 |
re PR fortran/85816 (nested spread fails with "Integer overflow in xmallocarray")
2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85816 PR fortran/85975 * libgfortran.h: Remove the GFC_DTYPE_COPY_SETRANK macro. * intrinsics/reshape_generic.c: Directly assign rank. * intrinsics/spread_generic.c: Ditto. * m4/iforeach-s.m4: Ditto. * m4/iforeach.m4: Ditto. * m4/ifunction-s.m4: Ditto. * m4/ifunction-s2.m4: Ditto. * m4/ifunction.m4: Ditto. * m4/ifunction_logical.m4: Ditto. * m4/reshape.m4: Ditto. * m4/spread.m4: Ditto. * generated/all_l1.c: Regenerated from m4 files. * generated/all_l16.c: Ditto. * generated/all_l2.c: Ditto. * generated/all_l4.c: Ditto. * generated/all_l8.c: Ditto. * generated/any_l1.c: Ditto. * generated/any_l16.c: Ditto. * generated/any_l2.c: Ditto. * generated/any_l4.c: Ditto. * generated/any_l8.c: Ditto. * generated/count_16_l.c: Ditto. * generated/count_1_l.c: Ditto. * generated/count_2_l.c: Ditto. * generated/count_4_l.c: Ditto. * generated/count_8_l.c: Ditto. * generated/iall_i1.c: Ditto. * generated/iall_i16.c: Ditto. * generated/iall_i2.c: Ditto. * generated/iall_i4.c: Ditto. * generated/iall_i8.c: Ditto. * generated/iany_i1.c: Ditto. * generated/iany_i16.c: Ditto. * generated/iany_i2.c: Ditto. * generated/iany_i4.c: Ditto. * generated/iany_i8.c: Ditto. * generated/iparity_i1.c: Ditto. * generated/iparity_i16.c: Ditto. * generated/iparity_i2.c: Ditto. * generated/iparity_i4.c: Ditto. * generated/iparity_i8.c: Ditto. * generated/maxloc0_16_i1.c: Ditto. * generated/maxloc0_16_i16.c: Ditto. * generated/maxloc0_16_i2.c: Ditto. * generated/maxloc0_16_i4.c: Ditto. * generated/maxloc0_16_i8.c: Ditto. * generated/maxloc0_16_r10.c: Ditto. * generated/maxloc0_16_r16.c: Ditto. * generated/maxloc0_16_r4.c: Ditto. * generated/maxloc0_16_r8.c: Ditto. * generated/maxloc0_16_s1.c: Ditto. * generated/maxloc0_16_s4.c: Ditto. * generated/maxloc0_4_i1.c: Ditto. * generated/maxloc0_4_i16.c: Ditto. * generated/maxloc0_4_i2.c: Ditto. * generated/maxloc0_4_i4.c: Ditto. * generated/maxloc0_4_i8.c: Ditto. * generated/maxloc0_4_r10.c: Ditto. * generated/maxloc0_4_r16.c: Ditto. * generated/maxloc0_4_r4.c: Ditto. * generated/maxloc0_4_r8.c: Ditto. * generated/maxloc0_4_s1.c: Ditto. * generated/maxloc0_4_s4.c: Ditto. * generated/maxloc0_8_i1.c: Ditto. * generated/maxloc0_8_i16.c: Ditto. * generated/maxloc0_8_i2.c: Ditto. * generated/maxloc0_8_i4.c: Ditto. * generated/maxloc0_8_i8.c: Ditto. * generated/maxloc0_8_r10.c: Ditto. * generated/maxloc0_8_r16.c: Ditto. * generated/maxloc0_8_r4.c: Ditto. * generated/maxloc0_8_r8.c: Ditto. * generated/maxloc0_8_s1.c: Ditto. * generated/maxloc0_8_s4.c: Ditto. * generated/maxloc1_16_i1.c: Ditto. * generated/maxloc1_16_i16.c: Ditto. * generated/maxloc1_16_i2.c: Ditto. * generated/maxloc1_16_i4.c: Ditto. * generated/maxloc1_16_i8.c: Ditto. * generated/maxloc1_16_r10.c: Ditto. * generated/maxloc1_16_r16.c: Ditto. * generated/maxloc1_16_r4.c: Ditto. * generated/maxloc1_16_r8.c: Ditto. * generated/maxloc1_16_s1.c: Ditto. * generated/maxloc1_16_s4.c: Ditto. * generated/maxloc1_4_i1.c: Ditto. * generated/maxloc1_4_i16.c: Ditto. * generated/maxloc1_4_i2.c: Ditto. * generated/maxloc1_4_i4.c: Ditto. * generated/maxloc1_4_i8.c: Ditto. * generated/maxloc1_4_r10.c: Ditto. * generated/maxloc1_4_r16.c: Ditto. * generated/maxloc1_4_r4.c: Ditto. * generated/maxloc1_4_r8.c: Ditto. * generated/maxloc1_4_s1.c: Ditto. * generated/maxloc1_4_s4.c: Ditto. * generated/maxloc1_8_i1.c: Ditto. * generated/maxloc1_8_i16.c: Ditto. * generated/maxloc1_8_i2.c: Ditto. * generated/maxloc1_8_i4.c: Ditto. * generated/maxloc1_8_i8.c: Ditto. * generated/maxloc1_8_r10.c: Ditto. * generated/maxloc1_8_r16.c: Ditto. * generated/maxloc1_8_r4.c: Ditto. * generated/maxloc1_8_r8.c: Ditto. * generated/maxloc1_8_s1.c: Ditto. * generated/maxloc1_8_s4.c: Ditto. * generated/maxval1_s1.c: Ditto. * generated/maxval1_s4.c: Ditto. * generated/maxval_i1.c: Ditto. * generated/maxval_i16.c: Ditto. * generated/maxval_i2.c: Ditto. * generated/maxval_i4.c: Ditto. * generated/maxval_i8.c: Ditto. * generated/maxval_r10.c: Ditto. * generated/maxval_r16.c: Ditto. * generated/maxval_r4.c: Ditto. * generated/maxval_r8.c: Ditto. * generated/minloc0_16_i1.c: Ditto. * generated/minloc0_16_i16.c: Ditto. * generated/minloc0_16_i2.c: Ditto. * generated/minloc0_16_i4.c: Ditto. * generated/minloc0_16_i8.c: Ditto. * generated/minloc0_16_r10.c: Ditto. * generated/minloc0_16_r16.c: Ditto. * generated/minloc0_16_r4.c: Ditto. * generated/minloc0_16_r8.c: Ditto. * generated/minloc0_16_s1.c: Ditto. * generated/minloc0_16_s4.c: Ditto. * generated/minloc0_4_i1.c: Ditto. * generated/minloc0_4_i16.c: Ditto. * generated/minloc0_4_i2.c: Ditto. * generated/minloc0_4_i4.c: Ditto. * generated/minloc0_4_i8.c: Ditto. * generated/minloc0_4_r10.c: Ditto. * generated/minloc0_4_r16.c: Ditto. * generated/minloc0_4_r4.c: Ditto. * generated/minloc0_4_r8.c: Ditto. * generated/minloc0_4_s1.c: Ditto. * generated/minloc0_4_s4.c: Ditto. * generated/minloc0_8_i1.c: Ditto. * generated/minloc0_8_i16.c: Ditto. * generated/minloc0_8_i2.c: Ditto. * generated/minloc0_8_i4.c: Ditto. * generated/minloc0_8_i8.c: Ditto. * generated/minloc0_8_r10.c: Ditto. * generated/minloc0_8_r16.c: Ditto. * generated/minloc0_8_r4.c: Ditto. * generated/minloc0_8_r8.c: Ditto. * generated/minloc0_8_s1.c: Ditto. * generated/minloc0_8_s4.c: Ditto. * generated/minloc1_16_i1.c: Ditto. * generated/minloc1_16_i16.c: Ditto. * generated/minloc1_16_i2.c: Ditto. * generated/minloc1_16_i4.c: Ditto. * generated/minloc1_16_i8.c: Ditto. * generated/minloc1_16_r10.c: Ditto. * generated/minloc1_16_r16.c: Ditto. * generated/minloc1_16_r4.c: Ditto. * generated/minloc1_16_r8.c: Ditto. * generated/minloc1_16_s1.c: Ditto. * generated/minloc1_16_s4.c: Ditto. * generated/minloc1_4_i1.c: Ditto. * generated/minloc1_4_i16.c: Ditto. * generated/minloc1_4_i2.c: Ditto. * generated/minloc1_4_i4.c: Ditto. * generated/minloc1_4_i8.c: Ditto. * generated/minloc1_4_r10.c: Ditto. * generated/minloc1_4_r16.c: Ditto. * generated/minloc1_4_r4.c: Ditto. * generated/minloc1_4_r8.c: Ditto. * generated/minloc1_4_s1.c: Ditto. * generated/minloc1_4_s4.c: Ditto. * generated/minloc1_8_i1.c: Ditto. * generated/minloc1_8_i16.c: Ditto. * generated/minloc1_8_i2.c: Ditto. * generated/minloc1_8_i4.c: Ditto. * generated/minloc1_8_i8.c: Ditto. * generated/minloc1_8_r10.c: Ditto. * generated/minloc1_8_r16.c: Ditto. * generated/minloc1_8_r4.c: Ditto. * generated/minloc1_8_r8.c: Ditto. * generated/minloc1_8_s1.c: Ditto. * generated/minloc1_8_s4.c: Ditto. * generated/minval1_s1.c: Ditto. * generated/minval1_s4.c: Ditto. * generated/minval_i1.c: Ditto. * generated/minval_i16.c: Ditto. * generated/minval_i2.c: Ditto. * generated/minval_i4.c: Ditto. * generated/minval_i8.c: Ditto. * generated/minval_r10.c: Ditto. * generated/minval_r16.c: Ditto. * generated/minval_r4.c: Ditto. * generated/minval_r8.c: Ditto. * generated/norm2_r10.c: Ditto. * generated/norm2_r16.c: Ditto. * generated/norm2_r4.c: Ditto. * generated/norm2_r8.c: Ditto. * generated/parity_l1.c: Ditto. * generated/parity_l16.c: Ditto. * generated/parity_l2.c: Ditto. * generated/parity_l4.c: Ditto. * generated/parity_l8.c: Ditto. * generated/product_c10.c: Ditto. * generated/product_c16.c: Ditto. * generated/product_c4.c: Ditto. * generated/product_c8.c: Ditto. * generated/product_i1.c: Ditto. * generated/product_i16.c: Ditto. * generated/product_i2.c: Ditto. * generated/product_i4.c: Ditto. * generated/product_i8.c: Ditto. * generated/product_r10.c: Ditto. * generated/product_r16.c: Ditto. * generated/product_r4.c: Ditto. * generated/product_r8.c: Ditto. * generated/reshape_c10.c: Ditto. * generated/reshape_c16.c: Ditto. * generated/reshape_c4.c: Ditto. * generated/reshape_c8.c: Ditto. * generated/reshape_i16.c: Ditto. * generated/reshape_i4.c: Ditto. * generated/reshape_i8.c: Ditto. * generated/reshape_r10.c: Ditto. * generated/reshape_r16.c: Ditto. * generated/reshape_r4.c: Ditto. * generated/reshape_r8.c: Ditto. * generated/spread_c10.c: Ditto. * generated/spread_c16.c: Ditto. * generated/spread_c4.c: Ditto. * generated/spread_c8.c: Ditto. * generated/spread_i1.c: Ditto. * generated/spread_i16.c: Ditto. * generated/spread_i2.c: Ditto. * generated/spread_i4.c: Ditto. * generated/spread_i8.c: Ditto. * generated/spread_r10.c: Ditto. * generated/spread_r16.c: Ditto. * generated/spread_r4.c: Ditto. * generated/spread_r8.c: Ditto. * generated/sum_c10.c: Ditto. * generated/sum_c16.c: Ditto. * generated/sum_c4.c: Ditto. * generated/sum_c8.c: Ditto. * generated/sum_i1.c: Ditto. * generated/sum_i16.c: Ditto. * generated/sum_i2.c: Ditto. * generated/sum_i4.c: Ditto. * generated/sum_i8.c: Ditto. * generated/sum_r10.c: Ditto. * generated/sum_r16.c: Ditto. * generated/sum_r4.c: Ditto. * generated/sum_r8.c: Ditto. 2018-06-01 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85816 PR fortran/85975 * gfortran.dg/pr85816.f90: New test. * gfortran.dg/pr85975.f90: New test. From-SVN: r261081 |
||
Thomas Koenig
|
b573f93198 |
re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=)
2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * check.c (gfc_check_minmaxloc): Remove error for BACK not being implemented. Use gfc_logical_4_kind for BACK. * simplify.c (min_max_choose): Add optional argument back_val. Handle it. (simplify_minmaxloc_to_scalar): Add argument back_val. Pass back_val to min_max_choose. (simplify_minmaxloc_to_nodim): Likewise. (simplify_minmaxloc_to_array): Likewise. (gfc_simplify_minmaxloc): Add argument back, handle it. Pass back_val to specific simplification functions. (gfc_simplify_minloc): Remove ATTRIBUTE_UNUSED from argument back, pass it on to gfc_simplify_minmaxloc. (gfc_simplify_maxloc): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Adjust comment. If BACK is true, use greater or equal (or lesser or equal) insteal of greater (or lesser). Mark the condition of having found a value which exceeds the limit as unlikely. 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * m4/iforeach-s.m4: Remove assertion that back is zero. * m4/iforeach.m4: Likewise. Remove leading 'do' before implementation start. * m4/ifunction-s.m4: Remove assertion that back is zero. * m4/ifunction.m4: Likewise. Remove for loop if HAVE_BACK_ARG is defined. * m4/maxloc0.m4: Reorganize loops. Split loops between >= and =, depending if back is true. Mark the condition of having found a value which exceeds the limit as unlikely. * m4/minloc0.m4: Likewise. * m4/maxloc1.m4: Likewise. * m4/minloc1.m4: Likewise. * m4/maxloc1s.m4: Handle back argument. * m4/minloc1s.m4: Likewise. * m4/maxloc2s.m4: Remove assertion that back is zero. Remove special handling of loop start. Handle back argument. * m4/minloc2s.m4: Likewise. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc0_16_s1.c: Regenerated. * generated/maxloc0_16_s4.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/maxloc0_4_s1.c: Regenerated. * generated/maxloc0_4_s4.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/maxloc0_8_s1.c: Regenerated. * generated/maxloc0_8_s4.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_16_s1.c: Regenerated. * generated/maxloc1_16_s4.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_4_s1.c: Regenerated. * generated/maxloc1_4_s4.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxloc1_8_s1.c: Regenerated. * generated/maxloc1_8_s4.c: Regenerated. * generated/maxloc2_16_s1.c: Regenerated. * generated/maxloc2_16_s4.c: Regenerated. * generated/maxloc2_4_s1.c: Regenerated. * generated/maxloc2_4_s4.c: Regenerated. * generated/maxloc2_8_s1.c: Regenerated. * generated/maxloc2_8_s4.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/minloc0_16_s1.c: Regenerated. * generated/minloc0_16_s4.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. * generated/minloc0_4_s1.c: Regenerated. * generated/minloc0_4_s4.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/minloc0_8_s1.c: Regenerated. * generated/minloc0_8_s4.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_16_s1.c: Regenerated. * generated/minloc1_16_s4.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_4_s1.c: Regenerated. * generated/minloc1_4_s4.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minloc1_8_s1.c: Regenerated. * generated/minloc1_8_s4.c: Regenerated. * generated/minloc2_16_s1.c: Regenerated. * generated/minloc2_16_s4.c: Regenerated. * generated/minloc2_4_s1.c: Regenerated. * generated/minloc2_4_s4.c: Regenerated. * generated/minloc2_8_s1.c: Regenerated. * generated/minloc2_8_s4.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. 2018-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * gfortran.dg/minmaxloc_12.f90: New test case. * gfortran.dg/minmaxloc_13.f90: New test case. From-SVN: r260023 |
||
Thomas Koenig
|
64b1806b2d |
re PR fortran/54613 ([F08] Add FINDLOC plus support MAXLOC/MINLOC with KIND=/BACK=)
2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * gfortran.h (gfc_check_f): Rename f4ml to f5ml. (gfc_logical_4_kind): New macro * intrinsic.h (gfc_simplify_minloc): Add a gfc_expr *argument. (gfc_simplify_maxloc): Likewise. (gfc_resolve_maxloc): Likewise. (gfc_resolve_minloc): Likewise. * check.c (gfc_check_minloc_maxloc): Add checking for "back" argument; also raise error if it is used (for now). Add it if it isn't present. * intrinsic.c (add_sym_4ml): Rename to (add_sym_5ml), adjust for extra argument. (add_functions): Add "back" constant. Adjust maxloc and minloc for back argument. * iresolve.c (gfc_resolve_maxloc): Add back argument. If back is not of gfc_logical_4_kind, convert. (gfc_resolve_minloc): Likewise. * simplify.c (gfc_simplify_minloc): Add back argument. (gfc_simplify_maxloc): Likewise. * trans-intinsic.c (gfc_conv_intrinsic_minmaxloc): Rename last argument to %VAL to ensure passing by value. (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_minmaxloc also for library calls. 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * m4/iparm.m4: Add back_arg macro if in minloc or maxloc. * m4/iforeach-s.m4: Add optional argument back with back_arg macro. Improve m4 quoting. If HAVE_BACK_ARG is defined, assert that back is non-true. * m4/iforeach.m4: Likewise. * m4/ifunction-s.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/maxloc0.m4: Include assert.h * m4/minloc0.m4: Likewise. * m4/maxloc0s.m4: #define HAVE_BACK_ARG. * m4/minloc0s.m4: Likewise. * m4/maxloc1s.m4: Likewise. * m4/minloc1s.m4: Likewise. * m4/maxloc1.m4: Include assert.h, #define HAVE_BACK_ARG. * m4/minloc1.m4: Likewise. * m4/maxloc2s.m4: Add assert.h, add back_arg, assert that back is non-true. * m4/minloc2s.m4: Likewise. * generated/iall_i1.c: Regenerated. * generated/iall_i16.c: Regenerated. * generated/iall_i2.c: Regenerated. * generated/iall_i4.c: Regenerated. * generated/iall_i8.c: Regenerated. * generated/iany_i1.c: Regenerated. * generated/iany_i16.c: Regenerated. * generated/iany_i2.c: Regenerated. * generated/iany_i4.c: Regenerated. * generated/iany_i8.c: Regenerated. * generated/iparity_i1.c: Regenerated. * generated/iparity_i16.c: Regenerated. * generated/iparity_i2.c: Regenerated. * generated/iparity_i4.c: Regenerated. * generated/iparity_i8.c: Regenerated. * generated/maxloc0_16_i1.c: Regenerated. * generated/maxloc0_16_i16.c: Regenerated. * generated/maxloc0_16_i2.c: Regenerated. * generated/maxloc0_16_i4.c: Regenerated. * generated/maxloc0_16_i8.c: Regenerated. * generated/maxloc0_16_r10.c: Regenerated. * generated/maxloc0_16_r16.c: Regenerated. * generated/maxloc0_16_r4.c: Regenerated. * generated/maxloc0_16_r8.c: Regenerated. * generated/maxloc0_16_s1.c: Regenerated. * generated/maxloc0_16_s4.c: Regenerated. * generated/maxloc0_4_i1.c: Regenerated. * generated/maxloc0_4_i16.c: Regenerated. * generated/maxloc0_4_i2.c: Regenerated. * generated/maxloc0_4_i4.c: Regenerated. * generated/maxloc0_4_i8.c: Regenerated. * generated/maxloc0_4_r10.c: Regenerated. * generated/maxloc0_4_r16.c: Regenerated. * generated/maxloc0_4_r4.c: Regenerated. * generated/maxloc0_4_r8.c: Regenerated. * generated/maxloc0_4_s1.c: Regenerated. * generated/maxloc0_4_s4.c: Regenerated. * generated/maxloc0_8_i1.c: Regenerated. * generated/maxloc0_8_i16.c: Regenerated. * generated/maxloc0_8_i2.c: Regenerated. * generated/maxloc0_8_i4.c: Regenerated. * generated/maxloc0_8_i8.c: Regenerated. * generated/maxloc0_8_r10.c: Regenerated. * generated/maxloc0_8_r16.c: Regenerated. * generated/maxloc0_8_r4.c: Regenerated. * generated/maxloc0_8_r8.c: Regenerated. * generated/maxloc0_8_s1.c: Regenerated. * generated/maxloc0_8_s4.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/maxloc1_16_s1.c: Regenerated. * generated/maxloc1_16_s4.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/maxloc1_4_s1.c: Regenerated. * generated/maxloc1_4_s4.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/maxloc1_8_s1.c: Regenerated. * generated/maxloc1_8_s4.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/maxval_r4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/minloc0_16_i1.c: Regenerated. * generated/minloc0_16_i16.c: Regenerated. * generated/minloc0_16_i2.c: Regenerated. * generated/minloc0_16_i4.c: Regenerated. * generated/minloc0_16_i8.c: Regenerated. * generated/minloc0_16_r10.c: Regenerated. * generated/minloc0_16_r16.c: Regenerated. * generated/minloc0_16_r4.c: Regenerated. * generated/minloc0_16_r8.c: Regenerated. * generated/minloc0_16_s1.c: Regenerated. * generated/minloc0_16_s4.c: Regenerated. * generated/minloc0_4_i1.c: Regenerated. * generated/minloc0_4_i16.c: Regenerated. * generated/minloc0_4_i2.c: Regenerated. * generated/minloc0_4_i4.c: Regenerated. * generated/minloc0_4_i8.c: Regenerated. * generated/minloc0_4_r10.c: Regenerated. * generated/minloc0_4_r16.c: Regenerated. * generated/minloc0_4_r4.c: Regenerated. * generated/minloc0_4_r8.c: Regenerated. * generated/minloc0_4_s1.c: Regenerated. * generated/minloc0_4_s4.c: Regenerated. * generated/minloc0_8_i1.c: Regenerated. * generated/minloc0_8_i16.c: Regenerated. * generated/minloc0_8_i2.c: Regenerated. * generated/minloc0_8_i4.c: Regenerated. * generated/minloc0_8_i8.c: Regenerated. * generated/minloc0_8_r10.c: Regenerated. * generated/minloc0_8_r16.c: Regenerated. * generated/minloc0_8_r4.c: Regenerated. * generated/minloc0_8_r8.c: Regenerated. * generated/minloc0_8_s1.c: Regenerated. * generated/minloc0_8_s4.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/minloc1_16_s1.c: Regenerated. * generated/minloc1_16_s4.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/minloc1_4_s1.c: Regenerated. * generated/minloc1_4_s4.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/minloc1_8_s1.c: Regenerated. * generated/minloc1_8_s4.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/minval_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. 2018-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/54613 * gfortran.dg/minmaxloc_9.f90: New test. * gfortran.dg/minmaxloc_10.f90: New test. * gfortran.dg/minmaxloc_11.f90: New test. From-SVN: r256705 |
||
Thomas Koenig
|
fa3c4d47b9 |
libgfortran.h (GFC_DTYPE_COPY): New macro.
2018-01-07 Thomas Koenig <tkoenig@gcc.gnu.org> * libgfortran.h (GFC_DTYPE_COPY): New macro. (GFC_DTYPE_COPY_SETRANK): New macro. (GFC_DTYPE_IS_UNSET): New macro. * intrinsics/cshift0.c (cshift0): Use new macros. * intrinsics/eoshift0.c (eoshift0): Likewise. * intrinsics/eoshift2.c (eoshift2): Likewise. * intrinsics/move_alloc.c (move_alloc): Likewise. * intrinsics/reshape_generic.c (reshape_internal): Likewise. * intrinsics/spread_generic.c (spread_internal): Likewise. * intrinsics/spread_generic.c (spread_scalar): Likewise. * intrinsics/spread_generic.c (spread_char_scalar): Likewise. * intrinsics/spread_generic.c (spread_char4_scalar): Likewise. * intrinsics/unpack_generic.c (unpack0): Likewise. * intrinsics/unpack_generic.c (unpack0_char): Likewise. * intrinsics/unpack_generic.c (unpack0_char4): Likewise. * m4/cshift1.m4 (cshift1): Likewise. * m4/eoshift1.m4 (eoshift1): Likewise. * m4/eoshift3.m4 (eoshift3): Likewise. * m4/iforeach-s.m4: Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction-s.m4: Likewise. * m4/ifunction-s2.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/ifunction_logical.m4: Likewise. * m4/reshape.m4: Likewise. * m4/spread.m4: Likewise. * generated/all_l1.c : Regenerated. * generated/all_l16.c : Regenerated. * generated/all_l2.c : Regenerated. * generated/all_l4.c : Regenerated. * generated/all_l8.c : Regenerated. * generated/any_l1.c : Regenerated. * generated/any_l16.c : Regenerated. * generated/any_l2.c : Regenerated. * generated/any_l4.c : Regenerated. * generated/any_l8.c : Regenerated. * generated/count_16_l.c : Regenerated. * generated/count_1_l.c : Regenerated. * generated/count_2_l.c : Regenerated. * generated/count_4_l.c : Regenerated. * generated/count_8_l.c : Regenerated. * generated/cshift1_16.c : Regenerated. * generated/cshift1_4.c : Regenerated. * generated/cshift1_8.c : Regenerated. * generated/eoshift1_16.c : Regenerated. * generated/eoshift1_4.c : Regenerated. * generated/eoshift1_8.c : Regenerated. * generated/eoshift3_16.c : Regenerated. * generated/eoshift3_4.c : Regenerated. * generated/eoshift3_8.c : Regenerated. * generated/iall_i1.c : Regenerated. * generated/iall_i16.c : Regenerated. * generated/iall_i2.c : Regenerated. * generated/iall_i4.c : Regenerated. * generated/iall_i8.c : Regenerated. * generated/iany_i1.c : Regenerated. * generated/iany_i16.c : Regenerated. * generated/iany_i2.c : Regenerated. * generated/iany_i4.c : Regenerated. * generated/iany_i8.c : Regenerated. * generated/iparity_i1.c : Regenerated. * generated/iparity_i16.c : Regenerated. * generated/iparity_i2.c : Regenerated. * generated/iparity_i4.c : Regenerated. * generated/iparity_i8.c : Regenerated. * generated/maxloc0_16_i1.c : Regenerated. * generated/maxloc0_16_i16.c : Regenerated. * generated/maxloc0_16_i2.c : Regenerated. * generated/maxloc0_16_i4.c : Regenerated. * generated/maxloc0_16_i8.c : Regenerated. * generated/maxloc0_16_r10.c : Regenerated. * generated/maxloc0_16_r16.c : Regenerated. * generated/maxloc0_16_r4.c : Regenerated. * generated/maxloc0_16_r8.c : Regenerated. * generated/maxloc0_16_s1.c : Regenerated. * generated/maxloc0_16_s4.c : Regenerated. * generated/maxloc0_4_i1.c : Regenerated. * generated/maxloc0_4_i16.c : Regenerated. * generated/maxloc0_4_i2.c : Regenerated. * generated/maxloc0_4_i4.c : Regenerated. * generated/maxloc0_4_i8.c : Regenerated. * generated/maxloc0_4_r10.c : Regenerated. * generated/maxloc0_4_r16.c : Regenerated. * generated/maxloc0_4_r4.c : Regenerated. * generated/maxloc0_4_r8.c : Regenerated. * generated/maxloc0_4_s1.c : Regenerated. * generated/maxloc0_4_s4.c : Regenerated. * generated/maxloc0_8_i1.c : Regenerated. * generated/maxloc0_8_i16.c : Regenerated. * generated/maxloc0_8_i2.c : Regenerated. * generated/maxloc0_8_i4.c : Regenerated. * generated/maxloc0_8_i8.c : Regenerated. * generated/maxloc0_8_r10.c : Regenerated. * generated/maxloc0_8_r16.c : Regenerated. * generated/maxloc0_8_r4.c : Regenerated. * generated/maxloc0_8_r8.c : Regenerated. * generated/maxloc0_8_s1.c : Regenerated. * generated/maxloc0_8_s4.c : Regenerated. * generated/maxloc1_16_i1.c : Regenerated. * generated/maxloc1_16_i16.c : Regenerated. * generated/maxloc1_16_i2.c : Regenerated. * generated/maxloc1_16_i4.c : Regenerated. * generated/maxloc1_16_i8.c : Regenerated. * generated/maxloc1_16_r10.c : Regenerated. * generated/maxloc1_16_r16.c : Regenerated. * generated/maxloc1_16_r4.c : Regenerated. * generated/maxloc1_16_r8.c : Regenerated. * generated/maxloc1_16_s1.c : Regenerated. * generated/maxloc1_16_s4.c : Regenerated. * generated/maxloc1_4_i1.c : Regenerated. * generated/maxloc1_4_i16.c : Regenerated. * generated/maxloc1_4_i2.c : Regenerated. * generated/maxloc1_4_i4.c : Regenerated. * generated/maxloc1_4_i8.c : Regenerated. * generated/maxloc1_4_r10.c : Regenerated. * generated/maxloc1_4_r16.c : Regenerated. * generated/maxloc1_4_r4.c : Regenerated. * generated/maxloc1_4_r8.c : Regenerated. * generated/maxloc1_4_s1.c : Regenerated. * generated/maxloc1_4_s4.c : Regenerated. * generated/maxloc1_8_i1.c : Regenerated. * generated/maxloc1_8_i16.c : Regenerated. * generated/maxloc1_8_i2.c : Regenerated. * generated/maxloc1_8_i4.c : Regenerated. * generated/maxloc1_8_i8.c : Regenerated. * generated/maxloc1_8_r10.c : Regenerated. * generated/maxloc1_8_r16.c : Regenerated. * generated/maxloc1_8_r4.c : Regenerated. * generated/maxloc1_8_r8.c : Regenerated. * generated/maxloc1_8_s1.c : Regenerated. * generated/maxloc1_8_s4.c : Regenerated. * generated/maxval1_s1.c : Regenerated. * generated/maxval1_s4.c : Regenerated. * generated/maxval_i1.c : Regenerated. * generated/maxval_i16.c : Regenerated. * generated/maxval_i2.c : Regenerated. * generated/maxval_i4.c : Regenerated. * generated/maxval_i8.c : Regenerated. * generated/maxval_r10.c : Regenerated. * generated/maxval_r16.c : Regenerated. * generated/maxval_r4.c : Regenerated. * generated/maxval_r8.c : Regenerated. * generated/minloc0_16_i1.c : Regenerated. * generated/minloc0_16_i16.c : Regenerated. * generated/minloc0_16_i2.c : Regenerated. * generated/minloc0_16_i4.c : Regenerated. * generated/minloc0_16_i8.c : Regenerated. * generated/minloc0_16_r10.c : Regenerated. * generated/minloc0_16_r16.c : Regenerated. * generated/minloc0_16_r4.c : Regenerated. * generated/minloc0_16_r8.c : Regenerated. * generated/minloc0_16_s1.c : Regenerated. * generated/minloc0_16_s4.c : Regenerated. * generated/minloc0_4_i1.c : Regenerated. * generated/minloc0_4_i16.c : Regenerated. * generated/minloc0_4_i2.c : Regenerated. * generated/minloc0_4_i4.c : Regenerated. * generated/minloc0_4_i8.c : Regenerated. * generated/minloc0_4_r10.c : Regenerated. * generated/minloc0_4_r16.c : Regenerated. * generated/minloc0_4_r4.c : Regenerated. * generated/minloc0_4_r8.c : Regenerated. * generated/minloc0_4_s1.c : Regenerated. * generated/minloc0_4_s4.c : Regenerated. * generated/minloc0_8_i1.c : Regenerated. * generated/minloc0_8_i16.c : Regenerated. * generated/minloc0_8_i2.c : Regenerated. * generated/minloc0_8_i4.c : Regenerated. * generated/minloc0_8_i8.c : Regenerated. * generated/minloc0_8_r10.c : Regenerated. * generated/minloc0_8_r16.c : Regenerated. * generated/minloc0_8_r4.c : Regenerated. * generated/minloc0_8_r8.c : Regenerated. * generated/minloc0_8_s1.c : Regenerated. * generated/minloc0_8_s4.c : Regenerated. * generated/minloc1_16_i1.c : Regenerated. * generated/minloc1_16_i16.c : Regenerated. * generated/minloc1_16_i2.c : Regenerated. * generated/minloc1_16_i4.c : Regenerated. * generated/minloc1_16_i8.c : Regenerated. * generated/minloc1_16_r10.c : Regenerated. * generated/minloc1_16_r16.c : Regenerated. * generated/minloc1_16_r4.c : Regenerated. * generated/minloc1_16_r8.c : Regenerated. * generated/minloc1_16_s1.c : Regenerated. * generated/minloc1_16_s4.c : Regenerated. * generated/minloc1_4_i1.c : Regenerated. * generated/minloc1_4_i16.c : Regenerated. * generated/minloc1_4_i2.c : Regenerated. * generated/minloc1_4_i4.c : Regenerated. * generated/minloc1_4_i8.c : Regenerated. * generated/minloc1_4_r10.c : Regenerated. * generated/minloc1_4_r16.c : Regenerated. * generated/minloc1_4_r4.c : Regenerated. * generated/minloc1_4_r8.c : Regenerated. * generated/minloc1_4_s1.c : Regenerated. * generated/minloc1_4_s4.c : Regenerated. * generated/minloc1_8_i1.c : Regenerated. * generated/minloc1_8_i16.c : Regenerated. * generated/minloc1_8_i2.c : Regenerated. * generated/minloc1_8_i4.c : Regenerated. * generated/minloc1_8_i8.c : Regenerated. * generated/minloc1_8_r10.c : Regenerated. * generated/minloc1_8_r16.c : Regenerated. * generated/minloc1_8_r4.c : Regenerated. * generated/minloc1_8_r8.c : Regenerated. * generated/minloc1_8_s1.c : Regenerated. * generated/minloc1_8_s4.c : Regenerated. * generated/minval1_s1.c : Regenerated. * generated/minval1_s4.c : Regenerated. * generated/minval_i1.c : Regenerated. * generated/minval_i16.c : Regenerated. * generated/minval_i2.c : Regenerated. * generated/minval_i4.c : Regenerated. * generated/minval_i8.c : Regenerated. * generated/minval_r10.c : Regenerated. * generated/minval_r16.c : Regenerated. * generated/minval_r4.c : Regenerated. * generated/minval_r8.c : Regenerated. * generated/norm2_r10.c : Regenerated. * generated/norm2_r16.c : Regenerated. * generated/norm2_r4.c : Regenerated. * generated/norm2_r8.c : Regenerated. * generated/parity_l1.c : Regenerated. * generated/parity_l16.c : Regenerated. * generated/parity_l2.c : Regenerated. * generated/parity_l4.c : Regenerated. * generated/parity_l8.c : Regenerated. * generated/product_c10.c : Regenerated. * generated/product_c16.c : Regenerated. * generated/product_c4.c : Regenerated. * generated/product_c8.c : Regenerated. * generated/product_i1.c : Regenerated. * generated/product_i16.c : Regenerated. * generated/product_i2.c : Regenerated. * generated/product_i4.c : Regenerated. * generated/product_i8.c : Regenerated. * generated/product_r10.c : Regenerated. * generated/product_r16.c : Regenerated. * generated/product_r4.c : Regenerated. * generated/product_r8.c : Regenerated. * generated/reshape_c10.c : Regenerated. * generated/reshape_c16.c : Regenerated. * generated/reshape_c4.c : Regenerated. * generated/reshape_c8.c : Regenerated. * generated/reshape_i16.c : Regenerated. * generated/reshape_i4.c : Regenerated. * generated/reshape_i8.c : Regenerated. * generated/reshape_r10.c : Regenerated. * generated/reshape_r16.c : Regenerated. * generated/reshape_r4.c : Regenerated. * generated/reshape_r8.c : Regenerated. * generated/spread_c10.c : Regenerated. * generated/spread_c16.c : Regenerated. * generated/spread_c4.c : Regenerated. * generated/spread_c8.c : Regenerated. * generated/spread_i1.c : Regenerated. * generated/spread_i16.c : Regenerated. * generated/spread_i2.c : Regenerated. * generated/spread_i4.c : Regenerated. * generated/spread_i8.c : Regenerated. * generated/spread_r10.c : Regenerated. * generated/spread_r16.c : Regenerated. * generated/spread_r4.c : Regenerated. * generated/spread_r8.c : Regenerated. * generated/sum_c10.c : Regenerated. * generated/sum_c16.c : Regenerated. * generated/sum_c4.c : Regenerated. * generated/sum_c8.c : Regenerated. * generated/sum_i1.c : Regenerated. * generated/sum_i16.c : Regenerated. * generated/sum_i2.c : Regenerated. * generated/sum_i4.c : Regenerated. * generated/sum_i8.c : Regenerated. * generated/sum_r10.c : Regenerated. * generated/sum_r16.c : Regenerated. * generated/sum_r4.c : Regenerated. * generated/sum_r8.c : Regenerated. From-SVN: r256323 |
||
Jakub Jelinek
|
85ec4feb11 |
Update copyright years.
From-SVN: r256169 |
||
Thomas Koenig
|
ddc9995b13 |
re PR fortran/36313 ([F03] {MIN,MAX}{LOC,VAL} should accept character arguments)
2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * Makefile.am: Add i_maxloc0s_c, i_maxloc1s_c, i_maxloc2s_c, i_minloc0s_c, i_minloc1s_c and i_minloc2s_c. * Makefile.in: Regenerated. * generated/maxloc0_16_s1.c: New file. * generated/maxloc0_16_s4.c: New file. * generated/maxloc0_4_s1.c: New file. * generated/maxloc0_4_s4.c: New file. * generated/maxloc0_8_s1.c: New file. * generated/maxloc0_8_s4.c: New file. * generated/maxloc1_16_s1.c: New file. * generated/maxloc1_16_s4.c: New file. * generated/maxloc1_4_s1.c: New file. * generated/maxloc1_4_s4.c: New file. * generated/maxloc1_8_s1.c: New file. * generated/maxloc1_8_s4.c: New file. * generated/maxloc2_16_s1.c: New file. * generated/maxloc2_16_s4.c: New file. * generated/maxloc2_4_s1.c: New file. * generated/maxloc2_4_s4.c: New file. * generated/maxloc2_8_s1.c: New file. * generated/maxloc2_8_s4.c: New file. * generated/minloc0_16_s1.c: New file. * generated/minloc0_16_s4.c: New file. * generated/minloc0_4_s1.c: New file. * generated/minloc0_4_s4.c: New file. * generated/minloc0_8_s1.c: New file. * generated/minloc0_8_s4.c: New file. * generated/minloc1_16_s1.c: New file. * generated/minloc1_16_s4.c: New file. * generated/minloc1_4_s1.c: New file. * generated/minloc1_4_s4.c: New file. * generated/minloc1_8_s1.c: New file. * generated/minloc1_8_s4.c: New file. * generated/minloc2_16_s1.c: New file. * generated/minloc2_16_s4.c: New file. * generated/minloc2_4_s1.c: New file. * generated/minloc2_4_s4.c: New file. * generated/minloc2_8_s1.c: New file. * generated/minloc2_8_s4.c: New file. * m4/iforeach-s.m4: New file. * m4/ifunction-s.m4: New file. * m4/maxloc0s.m4: New file. * m4/maxloc1s.m4: New file. * m4/maxloc2s.m4: New file. * m4/minloc0s.m4: New file. * m4/minloc1s.m4: New file. * m4/minloc2s.m4: New file. * gfortran.map: Add new functions. * libgfortran.h: Add gfc_array_s1 and gfc_array_s4. 2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * check.c (int_or_real_or_char_check_f2003): New function. * iresolve.c (gfc_resolve_maxloc): Add number "2" for character arguments and rank-zero return value. (gfc_resolve_minloc): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Handle case of character arguments and rank-zero return value by removing unneeded arguments and calling the library function. 2017-11-22 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * gfortran.dg/maxloc_string_1.f90: New test. * gfortran.dg/minloc_string_1.f90: New test. From-SVN: r255070 |