| 2019-12-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91651 | |
| * intrinsic.c (add_sym_4ind): New function. | |
| (add_functions): Use it for INDEX. | |
| (resolve_intrinsic): Also call f1m for INDEX. | |
| * intrinsic.h (gfc_resolve_index_func): Adjust prototype to | |
| take a gfc_arglist instead of individual arguments. | |
| * iresolve.c (gfc_resolve_index_func): Adjust arguments. | |
| Remove KIND argument if present, and make sure this is | |
| not done twice. | |
| * trans-decl.c: Include "intrinsic.h". | |
| (gfc_get_extern_function_decl): Special case for resolving INDEX. | |
| 2019-12-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92961 | |
| * gfortran.h (gfc_seen_div0): Add declaration. | |
| * arith.h (gfc_seen_div0): Add definition. | |
| (eval_intrinsic): For integer division by zero, set gfc_seen_div0. | |
| * decl.c (variable_decl): If resolution resp. simplification | |
| fails for array spec and a division of zero error has been | |
| seen, return MATCH_ERROR. | |
| 2019-12-21 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/92990 | |
| * match.c (gfc_match_nullify): Check for valid pointer object. | |
| Reject bounds remapping. | |
| 2019-12-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/92753 | |
| * expr.c (find_inquiry_ref): Catch INQUIRY_LEN case, where the | |
| temporary expression has been converted to a constant and make | |
| the new expression accordingly. Correct the error in INQUIRY_RE | |
| and INQUIRY_IM cases. The original rather than the resolved | |
| expression was being used as the source in mpfr_set. | |
| 2019-12-20 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/91512 | |
| PR fortran/92738 | |
| * lang.opt (-finline-arg-packing): Add trailing dot to help text. | |
| 2019-12-20 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR middle-end/91512 | |
| PR fortran/92738 | |
| * invoke.texi: Document -finline-arg-packing. | |
| * lang.opt: Add -finline-arg-packing. | |
| * options.c (gfc_post_options): Handle -finline-arg-packing. | |
| * trans-array.c (gfc_conv_array_parameter): Use | |
| flag_inline_arg_packing instead of checking for optimize and | |
| optimize_size. | |
| 2019-12-20 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92996 | |
| * expr.c (simplify_parameter_variable): Call gfc_resolve_ref and | |
| gfc_expression_rank; fix location info. | |
| * gfortran.h (gfc_resolve_ref, gfc_expression_rank): Declare. | |
| * match.c (gfc_match_stopcode): Remove redundant setting of | |
| gfc_init_expr_flag; early return if gfc_simplify_expr has an error. | |
| * resolve.c (gfc_expression_rank): Renamed from expression_rank; | |
| minor cleanup. | |
| (gfc_resolve_ref): Removed static and renamed from resolve_ref. | |
| (resolve_variable, resolve_typebound_function, | |
| resolve_typebound_subroutine, resolve_ppc_call, resolve_expr_ppc, | |
| gfc_resolve_expr, resolve_procedure): Update calls. | |
| 2019-12-20 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.c (resolve_omp_clauses): Move is-coindexed check from here ... | |
| (gfc_match_omp_variable_list): ... to here. | |
| 2019-12-19 Julian Brown <julian@codesourcery.com> | |
| * openmp.c (resolve_oacc_data_clauses): Don't disallow allocatable | |
| polymorphic types for OpenACC. | |
| * trans-openmp.c (gfc_trans_omp_clauses): Support polymorphic class | |
| types. | |
| 2019-12-19 Julian Brown <julian@codesourcery.com> | |
| * gfortran.h (gfc_omp_map_op): Add OMP_MAP_ATTACH, OMP_MAP_DETACH. | |
| * openmp.c (gfc_match_omp_variable_list): Add allow_derived parameter. | |
| Parse derived-type member accesses if true. | |
| (omp_mask2): Add OMP_CLAUSE_ATTACH and OMP_CLAUSE_DETACH. | |
| (gfc_match_omp_map_clause): Add allow_derived parameter. Pass to | |
| gfc_match_omp_variable_list. | |
| (gfc_match_omp_clauses): Support attach and detach. Support derived | |
| types for appropriate OpenACC directives. | |
| (OACC_PARALLEL_CLAUSES, OACC_SERIAL_CLAUSES, OACC_KERNELS_CLAUSES, | |
| OACC_DATA_CLAUSES, OACC_ENTER_DATA_CLAUSES): Add OMP_CLAUSE_ATTACH. | |
| (OACC_EXIT_DATA_CLAUSES): Add OMP_CLAUSE_DETACH. | |
| (check_symbol_not_pointer): Don't disallow pointer objects of derived | |
| type. | |
| (resolve_oacc_data_clauses): Don't disallow allocatable derived types. | |
| (resolve_omp_clauses): Perform duplicate checking only for non-derived | |
| type component accesses (plain variables and arrays or array sections). | |
| Support component refs. | |
| * trans-expr.c (gfc_conv_component_ref, | |
| conv_parent_component_references): Make global. | |
| (gfc_maybe_dereference_var): New function, broken out of... | |
| (gfc_conv_variable): ...here. Call above function. | |
| * trans-openmp.c (gfc_omp_privatize_by_reference): Support component | |
| refs. | |
| (gfc_trans_omp_array_section): New function, broken out of... | |
| (gfc_trans_omp_clauses): ...here. Support component refs/derived | |
| types, attach and detach clauses. | |
| * trans.h (gfc_conv_component_ref, conv_parent_component_references, | |
| gfc_maybe_dereference_var): Add prototypes. | |
| 2019-12-19 Mark Eggleston <mark.eggleston@codethink.com> | |
| PR fortran/92896 | |
| * array.c (walk_array_constructor): Replace call to gfc_convert_type | |
| with call to gfc_convert_type_warn with new argument set to true. | |
| (check_element_type): Replace call to cfg_convert_type with call to | |
| gfc_convert_type_warn with new argument set to true. | |
| * gfortran.h: Add argument "array" to gfc_convert_type_warn default | |
| value set to false. | |
| *intrinsic.c (gfc_convert_type_warn): Update description of arguments. | |
| Add new argument to argument list. Add check for conversion to numeric | |
| or logical from character and array set to true, i.e. if conversion | |
| from character is in an array constructor reject it, goto bad. | |
| 2019-12-19 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92977 | |
| * frontend-passes.c (call_external_blas): Use || instead of |. | |
| 2019-12-19 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92977 | |
| * frontend-passes.c (in_omp_atomic): New variable. | |
| (cfe_expr_0, matmul_to_var_expr, matmul_temp_args, | |
| inline_matmul_assign, call_external_blas): Don't optimize in | |
| EXEC_OMP_ATOMIC. | |
| (optimize_namespace): Clear in_omp_atomic. | |
| (gfc_code_walker): Set in_omp_atomic for EXEC_OMP_ATOMIC, save/restore | |
| it around. | |
| 2019-12-19 Julian Brown <julian@codesourcery.com> | |
| Maciej W. Rozycki <macro@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| Thomas Schwinge <thomas@codesourcery.com> | |
| * gfortran.h (gfc_omp_map_op): Add OMP_MAP_NO_ALLOC. | |
| * openmp.c (omp_mask2): Add OMP_CLAUSE_NO_CREATE. | |
| (gfc_match_omp_clauses): Support no_create. | |
| (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES) | |
| (OACC_DATA_CLAUSES): Add OMP_CLAUSE_NO_CREATE. | |
| * trans-openmp.c (gfc_trans_omp_clauses_1): Support | |
| OMP_MAP_NO_ALLOC. | |
| 2019-12-18 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/70853 | |
| * trans-expr.c (gfc_trans_pointer_assignment): Reject bounds | |
| remapping if pointer target is NULL(). | |
| 2019-12-12 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/92898 | |
| * check.c (gfc_check_is_contiguous): Simplify check to handle | |
| arbitrary NULL() argument. | |
| 2019-12-11 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92899 | |
| * trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP, | |
| do look through conversion on expr2 if any. | |
| 2019-12-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/92897 | |
| * array.c (gfc_set_array_spec): Remove invalid assert() triggered | |
| by invalid Fortran code. | |
| 2019-12-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91643 | |
| * trans-array.c (gfc_conv_array_parameter): Do not repack | |
| an assumed rank dummy argument. | |
| 2019-12-10 Martin Liska <mliska@suse.cz> | |
| PR fortran/92874 | |
| * dependency.c (gfc_dep_compare_expr): Bail out | |
| when one of the arguments is null. | |
| 2019-12-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92863 | |
| * misc.c (gfc_typename): If derived component is NULL for | |
| derived or class, return "invalid type" or "invalid class", | |
| respectively. | |
| 2019-12-10 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92872 | |
| * trans-array.c (get_CFI_desc): Fix cond whether saved desc exists. | |
| 2019-12-09 David Malcolm <dmalcolm@redhat.com> | |
| * error.c (gfc_diagnostic_starter): Add pp_newline call before | |
| call to diagnostic_show_locus. | |
| 2019-12-09 Frederik Harwath <frederik@codesourcery.com> | |
| * trans-openmp.c (gfc_trans_omp_reduction_list): Pass correct location for each | |
| clause to build_omp_clause. | |
| 2018-12-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92780 | |
| * resolve.c (resolve_assoc_var): Issue error if the associating | |
| entity is a program. | |
| 2018-12-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92764 | |
| * interface.c (gfc_procedure_use): Check for existence of derived | |
| component before using (twice). | |
| 2019-12-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92755 | |
| * dependency.c (gfc_dep_resolver): Move skipping of _data ref | |
| into the loop. | |
| 2019-12-07 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92793 | |
| * trans.c (gfc_get_location): Declare. | |
| * trans.c (gfc_get_location): Define; returns column-corrected location. | |
| (trans_runtime_error_vararg, gfc_trans_runtime_check, | |
| gfc_generate_module_code): Use new function. | |
| * trans-array.c (gfc_trans_auto_array_allocation): Likewise. | |
| * trans-common.c (build_field, get_init_field, create_common): Likewise. | |
| * trans-decl.c (gfc_build_label_decl, gfc_get_symbol_decl): Likewise. | |
| * trans-openmp.c (gfc_trans_omp_reduction_list, gfc_trans_omp_clauses): | |
| Likewise. | |
| * trans-stmt.c (gfc_trans_if_1): Likewise. | |
| 2019-12-06 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92775 | |
| * trans.h (struct lang_type, struct lang_decl): Remove span member. | |
| (GFC_DECL_SPAN, GFC_TYPE_ARRAY_SPAN): Remove macros. | |
| * trans-array.h (gfc_get_descriptor_offsets_for_info): Add another | |
| argument. | |
| * trans-array.c (gfc_get_descriptor_offsets_for_info): Add SPAN_OFF | |
| argument and initialize *SPAN_OFF to the offset of span field. | |
| * trans-types.c (gfc_get_array_descr_info): Adjust | |
| gfc_get_descriptor_offsets_for_info caller. Compute elem_size | |
| as base->span instead of TYPE_SIZE_UNIT (etype) constant. | |
| 2019-12-06 Tobias Burnus <tobias@codesourcery.com> | |
| Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * trans-openmp.c (gfc_build_conditional_assign, | |
| gfc_build_conditional_assign_expr): New static functions. | |
| (gfc_omp_finish_clause, gfc_trans_omp_clauses): Handle mapping of | |
| absent optional arguments and fix mapping of present optional args. | |
| 2019-12-05 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-openmp.c (gfc_omp_is_optional_argument, | |
| gfc_omp_check_optional_argument): Handle type(c_ptr),value which uses a | |
| 2019-12-05 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92781 | |
| * trans-decl.c (gfc_get_symbol_decl): If sym->backend_decl is | |
| current_function_decl, add length to current rather than parent | |
| function and expect DECL_CONTEXT (length) to be current_function_decl. | |
| 2019-12-04 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92754 | |
| * intrinsic.c (gfc_intrinsic_func_interface): Set | |
| sym's flavor, intrinsic and function attribute if | |
| unset. | |
| 2019-12-04 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/92756 | |
| * trans-openmp.c (gfc_trans_omp_teams): Wrap OMP_TEAMS body into a | |
| BIND_EXPR with a forced BLOCK. | |
| 2019-11-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91783 | |
| * dependency.c (gfc_dep_resolver): Do not look at _data | |
| component if present. | |
| 2019-11-28 Jerry DeLisle <jvdelisle@gcc.ngu.org> | |
| PR fortran/90374 | |
| * io.c (check_format): Allow zero width expoenent with e0. | |
| 2019-11-27 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/91944 | |
| * simplify.c (gfc_simplify_spread): Check gfc_init_expr_flag instead | |
| of gfc_current_ns->sym_root->n.sym->attr.flavor == FL_PARAMETER. | |
| 2019-11-27 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/92463 | |
| * arith.c (gfc_check_real_range): Replace mp_exp_t by mpfr_exp_t. | |
| 2019-11-25 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/92629 | |
| * simplify.c (convert_mpz_to_unsigned): Skip assert for argument | |
| range when -fno-range-check is specified. | |
| 2019-11-25 Mark Eggleston <mark.eggleston@codethink.com> | |
| Jim MacArthur <jim.macarthur@codethink.co.uk> | |
| * gfortran.texi: Update Hollerith constants support for character types | |
| and use in comparisons. | |
| * invoke.texi: Tidy up list of options. Update description of | |
| -fdec-char-conversions. | |
| * resolve.c (is_character_based): New. | |
| (Convert_hollerith_to_character): New. (convert_to_numeric): New. | |
| (resolve_operator): If both sides are character based and -fdec is | |
| enabled convert Hollerith to character. If an operand is Hollerith, the | |
| other is numeric and -fdec is enabled convert to numeric. | |
| (resolve_ordinary_assign): Add check for -fdec-char-conversions for | |
| assignment of character literals.2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/92463 | |
| Revert r269139 | |
| * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use | |
| mpfr_regular_p instead of mpfr_number_p && !mpfr_zero_p. | |
| (norm2_add_squared): Likewise. Use mpfr_exp_t rather than | |
| mp_exp_t. | |
| 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/92463 | |
| * arith.c (gfc_mpfr_to_mpz): Change mp_exp_t to mpfr_exp_t. | |
| (gfc_check_real_range): Likewise. | |
| * gfortran.h (GFC_RND_MODE): Change GMP_RNDN to MPFR_RNDN. | |
| * module.c (mio_gmp_real): Change mp_exp_t to mpfr_exp_t. | |
| * simplify.c (degrees_f): Change mp_rnd_t to mpfr_rnd_t. | |
| (radians_f): Likewise. | |
| (fullprec_erfc_scaled): Change mp_prec_t to mpfr_prec_t. | |
| (asympt_erfc_scaled): Likewise. | |
| (gfc_simplify_nearest): Change mp_exp_t to mpfr_exp_t, and | |
| GMP_RND* to MPFR_RND*. | |
| 2019-11-15 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/69654 | |
| * trans-expr.c (gfc_trans_structure_assign): Move assignment to | |
| 'cm' after treatment of C pointer types and test that the type | |
| has been completely built before it. Add an assert that the | |
| backend_decl for each component exists. | |
| 2019-11-13 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-expr.c (gfc_conv_procedure_call): Fold hidden | |
| is-present argument to the right type. | |
| 2019-11-12 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/81651 | |
| * module.c (gzopen_included_file, gzopen_included_file_1) | |
| (gzopen_intrinsic_module, bad_module, gfc_use_module): Use fully | |
| qualified module path for error reporting. | |
| 2019-11-12 Martin Liska <mliska@suse.cz> | |
| * options.c (gfc_init_options): | |
| Use SET_OPTION_IF_UNSET. | |
| 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com> | |
| Frederik Harwath <frederik@codesourcery.com> | |
| gcc/fortran/ | |
| * gfortran.h (gfc_statement): Add ST_OACC_SERIAL_LOOP, | |
| ST_OACC_END_SERIAL_LOOP, ST_OACC_SERIAL and ST_OACC_END_SERIAL | |
| enumeration constants. | |
| (gfc_exec_op): Add EXEC_OACC_SERIAL_LOOP and EXEC_OACC_SERIAL | |
| enumeration constants. | |
| * match.h (gfc_match_oacc_serial): New prototype. | |
| (gfc_match_oacc_serial_loop): Likewise. | |
| * dump-parse-tree.c (show_omp_node, show_code_node): Handle | |
| EXEC_OACC_SERIAL_LOOP and EXEC_OACC_SERIAL. | |
| * match.c (match_exit_cycle): Handle EXEC_OACC_SERIAL_LOOP. | |
| * openmp.c (OACC_SERIAL_CLAUSES): New macro. | |
| (gfc_match_oacc_serial_loop): New function. | |
| (gfc_match_oacc_serial): Likewise. | |
| (oacc_is_loop): Handle EXEC_OACC_SERIAL_LOOP. | |
| (resolve_omp_clauses): Handle EXEC_OACC_SERIAL. | |
| (oacc_code_to_statement): Handle EXEC_OACC_SERIAL and | |
| EXEC_OACC_SERIAL_LOOP. | |
| (gfc_resolve_oacc_directive): Likewise. | |
| * parse.c (decode_oacc_directive) <'s'>: Add case for "serial" | |
| and "serial loop". | |
| (next_statement): Handle ST_OACC_SERIAL_LOOP and ST_OACC_SERIAL. | |
| (gfc_ascii_statement): Likewise. Handle ST_OACC_END_SERIAL_LOOP | |
| and ST_OACC_END_SERIAL. | |
| (parse_oacc_structured_block): Handle ST_OACC_SERIAL. | |
| (parse_oacc_loop): Handle ST_OACC_SERIAL_LOOP and | |
| ST_OACC_END_SERIAL_LOOP. | |
| (parse_executable): Handle ST_OACC_SERIAL_LOOP and | |
| ST_OACC_SERIAL. | |
| (is_oacc): Handle EXEC_OACC_SERIAL_LOOP and EXEC_OACC_SERIAL. | |
| * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise. | |
| * st.c (gfc_free_statement): Likewise. | |
| * trans-openmp.c (gfc_trans_oacc_construct): Handle | |
| EXEC_OACC_SERIAL. | |
| (gfc_trans_oacc_combined_directive): Handle | |
| EXEC_OACC_SERIAL_LOOP. | |
| (gfc_trans_oacc_directive): Handle EXEC_OACC_SERIAL_LOOP and | |
| EXEC_OACC_SERIAL. | |
| * trans.c (trans_code): Likewise. | |
| 2019-11-11 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/91828 | |
| * simplify.c (gfc_simplify_fraction): Remove fallback path for | |
| MPFR < 3.1.0. | |
| 2019-11-11 Tobias Burnus <tobias@codesourcery.com> | |
| Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * trans-expr.c (gfc_conv_expr_present): Check for DECL_ARTIFICIAL | |
| for the VALUE hidden argument avoiding -fallow-underscore issues. | |
| * trans-decl.c (create_function_arglist): Also set | |
| GFC_DECL_OPTIONAL_ARGUMENT for per-value arguments. | |
| * f95-lang.c (LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT): | |
| Renamed from LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT; point | |
| to gfc_omp_check_optional_argument. | |
| * trans.h (gfc_omp_check_optional_argument): Subsitutes | |
| gfc_omp_is_optional_argument declaration. | |
| * trans-openmp.c (gfc_omp_is_optional_argument): Make static. | |
| (gfc_omp_check_optional_argument): New function. | |
| 2019-11-10 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/91413 | |
| * trans-decl.c (gfc_finish_var_decl): Don't print warning when | |
| -fno-automatic is enabled. | |
| 2019-11-10 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/92123 | |
| *decl.c (gfc_verify_c_interop_param): Remove error asserting | |
| that pointer or allocatable variables in a bind C procedure are | |
| not supported. Delete some trailing spaces. | |
| * trans-stmt.c (trans_associate_var): Correct the attempt to | |
| treat scalar pointer or allocatable temporaries as if they are | |
| array descriptors. | |
| 2019-11-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92321 | |
| * frontend-passes.c (call_external_blas): Commit symbol for | |
| external BLAS routine. | |
| 2019-11-08 Jakub Jelinek <jakub@redhat.com> | |
| * arith.c (character2representation): Change i type to size_t. | |
| 2019-11-08 Mark Eggleston <mark.eggleston@codethink.com> | |
| Jim MacArthur <jim.macarthur@codethink.co.uk> | |
| * arith.c (hollerith2representation): Use OPT_Wcharacter_truncation in | |
| call to gfc_warning. | |
| (character2representation, gfc_character2int, gfc_character2real, | |
| gfc_character2complex and gfc_character2logical): New. | |
| * arith.h (gfc_character2int, gfc_character2real, gfc_character2complex, | |
| gfc_character2logical): Declare. | |
| * expr.c (gfc_check_assign): Return true if left hand side is numeric | |
| or logical and the right hand side is character and of kind=1. | |
| * gfortran.texi: Add -fdec-char-conversions. | |
| * intrinsic.c (add_conversions): Add conversions from character to | |
| integer, real, complex and logical types for their supported kinds. | |
| (gfc_convert_type_warn): Reorder if..else if.. sequence so that warnings | |
| are produced for conversion to logical. | |
| * invoke.texi: Add option to list of options. | |
| * invoke.texi: Add Character conversion subsection to Extensions | |
| section. | |
| * lang.opt: Add new option. | |
| * options.c (set_dec_flags): Add SET_BITFLAG for | |
| flag_dec_char_conversions. | |
| * resolve.c (resolve_ordindary_assign): Issue error if the left hand | |
| side is numeric or logical and the right hand side is a character | |
| variable. | |
| * simplify.c (gfc_convert_constant): Assign the conversion function | |
| depending on destination type. | |
| * trans-const.c (gfc_constant_to_tree): Use OPT_Wsurprising in | |
| gfc_warning allowing the warning to be switched off only if | |
| flag_dec_char_conversions is enabled. | |
| 2019-11-08 Tobias Burnus <tobias@codesourcery.com | |
| PR fortran/91253 | |
| * scanner.c (skip_fixed_comments): Move comment | |
| lines to next if block. | |
| (gfc_next_char_literal): Fix continue_line setting. | |
| (get_file): Remove bogus ATTRIBUTE_UNUSED. | |
| 2019-11-06 Jerry DeLisle <jvdelisle@gcc.ngu.org> | |
| PR fortran/90374 | |
| * io.c (check_format): Allow zero width for D, E, EN, and ES | |
| specifiers as default and when -std=F2018 is given. Retain | |
| existing errors when using the -fdec family of flags. | |
| 2019-11-03 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92113 | |
| * trans-decl.c (gfc_get_symbol_decl): If __def_init actually | |
| contains a value, put it into the read-only section. | |
| 2019-11-01 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * decl.c (match_byte_typespec): New function. Match BYTE type-spec. | |
| (gfc_match_decl_type_spec): Use it. | |
| 2019-11-01 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90988 | |
| * decl.c (gfc_match_private, gfc_match_public): Fixed-form source code | |
| does not require whitespace between PRIVATE (or PUBLIC) and an entity. | |
| 2019-11-01 Tobias Burnus <tobias@codesourcery.com> | |
| * f95-lang.c (LANG_HOOKS_OMP_ARRAY_DATA): Set to gfc_omp_array_data. | |
| * trans-array.c (gfc_conv_descriptor_data_get): Handle also | |
| REFERENCE_TYPE. | |
| * trans-openmp.c (gfc_omp_array_data): New. | |
| * trans.h (gfc_omp_array_data): New prototype. | |
| 2019-10-31 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92284. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Free CFI descriptor | |
| at the end; partial revised revert of Rev. 277502. | |
| 2019-10-31 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92277 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Fix DECL_ARTIFICIAL | |
| checking. | |
| 2019-10-30 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92208 | |
| * trans-array.c (gfc_conv_array_parameter): Only copy | |
| string-length backend_decl if expression is not a function. | |
| 2019-10-30 Mark Eggleston <mark.eggleston@codethink.com> | |
| * invoke.texi: Add -Wno-overwrite-recursive to list of options. Add | |
| description of -Wno-overwrite-recursive. Fix typo in description | |
| of -Winteger-division. | |
| * lang.opt: Add option -Woverwrite-recursive initialised as on. | |
| * option.c (gfc_post_options): Output warning only if it is enabled. | |
| 2019-10-28 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/91863 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Don't free data | |
| memory as that's done on the Fortran side. | |
| (gfc_conv_procedure_call): Handle void* pointers from | |
| gfc_conv_gfc_desc_to_cfi_desc. | |
| 2019-10-27 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/86248 | |
| * resolve.c (flag_fn_result_spec): Correct a typo before the | |
| function declaration. | |
| * trans-decl.c (gfc_sym_identifier): Boost the length of 'name' | |
| to allow for all variants. Simplify the code by using a pointer | |
| to the symbol's proc_name and taking the return out of each of | |
| the conditional branches. Allow symbols with fn_result_spec set | |
| that do not come from a procedure namespace and have a module | |
| name to go through the non-fn_result_spec branch. | |
| 2019-10-25 Cesar Philippidis <cesar@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.c (gfc_match_omp_map_clause): Add and pass allow_commons | |
| argument. | |
| (gfc_match_omp_clauses): Update calls to permit common blocks for | |
| OpenACC's copy/copyin/copyout, create/delete, host, | |
| pcopy/pcopy_in/pcopy_out, present_or_copy, present_or_copy_in, | |
| present_or_copy_out, present_or_create and self. | |
| 2019-10-24 Martin Liska <mliska@suse.cz> | |
| PR fortran/92174 | |
| * array.c (gfc_resolve_array_spec): Break the loop | |
| for out of bounds index. | |
| * resolve.c (is_non_constant_shape_array): Likewise. | |
| 2019-10-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
| dump-parse-tree.c (show_expr): Add dumping of BT_BOZ constants. | |
| 2019-10-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/92174 | |
| * decl.c (attr_decl1): Move check for F2018:C822 from here ... | |
| * array.c (gfc_set_array_spec): ... to here. | |
| 2019-10-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/69455 | |
| * trans-decl.c (generate_local_decl): Avoid misconstructed | |
| intrinsic modules in a BLOCK construct. | |
| 2019-10-18 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/91586 | |
| * class.c (gfc_find_derived_vtab): Return NULL | |
| instead of deref'ing NULL pointer. | |
| 2019-10-15 James Norris <jnorris@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/65438 | |
| * openmp.c (check_array_not_assumed): Remove pointer check. | |
| 2019-10-14 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/89943 | |
| decl.c (gfc_match_function_decl): Ignore duplicate BIND(C) for function | |
| declaration in submodule. Implement at check for F2018 C1550. | |
| (gfc_match_entry): Use temporary for locus, which allows removal of | |
| one gfc_error_now(). | |
| (gfc_match_subroutine): Ignore duplicate BIND(C) for subroutine | |
| declaration in submodule. Implement at check for F2018 C1550. | |
| 2019-10-14 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92004 | |
| * array.c (expand_constructor): Set from_constructor on | |
| expression. | |
| * gfortran.h (gfc_symbol): Add maybe_array. | |
| (gfc_expr): Add from_constructor. | |
| * interface.c (maybe_dummy_array_arg): New function. | |
| (compare_parameter): If the formal argument is generated from a | |
| call, check the conditions where an array element could be | |
| passed to an array. Adjust error message for assumed-shape | |
| or pointer array. Use correct language for assumed shaped arrays. | |
| (gfc_get_formal_from_actual_arglist): Set maybe_array on the | |
| symbol if the actual argument is an array element fulfilling | |
| the conditions of 15.5.2.4. | |
| 2019-10-14 Tobias Burnus <tobias@codesourcery.com> | |
| * error.c: Remove debug pragma added in previous commit. | |
| 2019-10-14 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92072 | |
| * error.c (error_print, gfc_format_decoder): Fix %C column- | |
| offset handling. | |
| 2019-10-13 Damian Rouson <damain@sourceryinstitue.org> | |
| PR fortran/91513 | |
| * resolve.c (resolve_ordinary_assign): Improved error message. | |
| 2019-10-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90297 | |
| * resolve.c (resolve_typebound_function): Remove code with no | |
| functional effect. | |
| 2019-10-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/92017 | |
| * expr.c (simplify_parameter_variable): Set the character length | |
| of the result expression from the original expression if | |
| necessary. | |
| 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91649 | |
| check.c (gfc_check_findloc): Additional checking for valid arguments | |
| 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91715 | |
| * decl.c (gfc_match_prefix): If matching a type-spec returns an error, | |
| it's an error so re-act correctly. | |
| 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/92018 | |
| * check.c (reset_boz): New function. | |
| (illegal_boz_arg, boz_args_check, gfc_check_complex, gfc_check_float, | |
| gfc_check_transfer): Use it. | |
| (gfc_check_dshift): Use reset_boz, and re-arrange the checking to | |
| help suppress possible run-on errors. | |
| (gfc_check_and): Restore checks for valid argument types. Use | |
| reset_boz, and re-arrange the checking to help suppress possible | |
| run-on errors. | |
| * resolve.c (resolve_function): Actual arguments cannot be BOZ in | |
| a function reference. | |
| 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/92019 | |
| * array.c (match_subscript): BOZ cannot be an array subscript. | |
| 2019-10-11 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/92050 | |
| * trans-expr.c (gfc_conv_procedure_call): Handle code generated | |
| by -fcheck=all. | |
| 2019-10-11 Tobias Burnus <tobias@codesourcery.com> | |
| * f95-lang.c (LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR): Re-define to | |
| gfc_omp_is_allocatable_or_ptr. | |
| * trans-decl.c (create_function_arglist): Set GFC_DECL_OPTIONAL_ARGUMENT | |
| only if not passed by value. | |
| * trans-openmp.c (gfc_omp_is_allocatable_or_ptr): New. | |
| (gfc_trans_omp_clauses): For MAP, handle (present) optional arguments; | |
| for target update, handle allocatable/pointer scalars. | |
| * trans.h (gfc_omp_is_allocatable_or_ptr): Declare. | |
| 2019-10-10 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-openmp.c (gfc_trans_omp_clauses): Actually pass use_device_addr | |
| on to the middle end. | |
| 2019-10-08 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91801 | |
| * simplify.c (gfc_simplify_reshape): Convert a gcc_assert into a | |
| gfc_error as a user can easily hit the condition. | |
| 2019-10-08 Tobias Burnus <tobias@codesourcery.com> | |
| * parse.c (parse_executable): Add missing ST_OMP_TARGET_SIMD. | |
| 2019-10-08 Tobias Burnus <tobias@codesourcery.com> | |
| * match.h (gfc_match_omp_eos_error): Renamed from gfc_match_omp_eos. | |
| * openmp.c (gfc_match_omp_eos): Make static. | |
| (gfc_match_omp_eos_error): New. | |
| * parse.c (matchs, matchdo, matchds): Do as done for 'matcho' - | |
| if error occurred after OpenMP/OpenACC directive matched, do not | |
| try other directives. | |
| (decode_oacc_directive, decode_omp_directive): Call new function | |
| instead. | |
| 2019-10-05 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/47045 | |
| * decl.c (variable_decl): Do not search parent namespace for symbol. | |
| 2019-10-05 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91926 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the | |
| assignment of the attribute field to account correctly for an | |
| assumed shape dummy. Assign separately to the gfc and cfi | |
| descriptors since the atribute can be different. Add btanch to | |
| correctly handle missing optional dummies. | |
| 2019-10-04 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran.91959 | |
| * fortran/decl.c (variable_decl): Re-arrange code for matching %FILL. | |
| 2019-10-04 Tobias Burnus <tobias@codesourcery.com> | |
| * error.c (error_print, gfc_format_decoder): Fix off-by one issue | |
| with %C. | |
| 2019-10-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91497 | |
| * simplify.c (gfc_simplify_dble, simplify_intconv, gfc_simplify_real, | |
| gfc_simplify_sngl): Disable -Wconversion and -Wconversion-extra | |
| warnings for explicit conversion of literal constants. | |
| 2019-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
| * primary.c (match_real_constant): Remove shadowing local vars. | |
| Rename local vars. Fix undefined behavior in loop termination. | |
| (gfc_convert_to_structure_constructor): Rename local var. | |
| 2019-10-03 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/84487 | |
| * trans-decl.c (gfc_get_symbol_decl): For __def_init, set | |
| DECL_ARTIFICAL and do not set TREE_READONLY. | |
| 2019-10-03 Mark Eggleston <mark.eggleston@codethink.com> | |
| * array.c (check_element_type): Call gfc_typename with the gfc_expr | |
| "expr" instead of its gfc_typespec "ts". | |
| * check.c (gfc_check_co_reduce): Call gfc_typename with the gfc_expr | |
| "a" instead of its gfc_typespec "ts". | |
| (gfc_check_co_reduce): Call gfc_typename with the gfc_expr "a" instead | |
| of its gfc_typespec "ts". | |
| (gfc_check_eoshift): Call gfc_typename with the gfc_expr "array" | |
| instead of its gfc_typespec ts. | |
| (gfc_check_same_type_as): In two calls to gfc_typename use "a" and "b" | |
| of type gfc_expr instead of the "ts" fields of "a" and "b" | |
| * decl.c (variable_decl): Call gfc_typename with the gfc_expr | |
| "initializer" instead of its gfc_typespec "ts". | |
| * expr.c (gfc_check_assign): Use "rvalue" and "lvalue" of type gfc_expr | |
| in calls to gfc_typename instead of their "ts" fields of type | |
| gfc_typespec. | |
| (gfc_check_pointer_assign): Use "rvalue" and "lvalue" of type gfc_expr | |
| in calls to gfc_typename instead of their "ts" fields of type | |
| gfc_typespec. | |
| * gfortran.h: Add prototypes for gfc_dummy_typename and a new function | |
| gfc_typename for gfc_expr *. | |
| *interface.c (gfc_check_dummy_characteristics): Use gfc_dummy_typename | |
| for the dummy variable. | |
| (compare_parameter): Use gfc_dummy_typename for the formal argument. | |
| Use "actual" of type gfc_expr in call to gfc_typename for the actual | |
| argument. | |
| * intrinsic.c (check_arglist): Use gfc_dummy_typename for the formal | |
| argument. Use expressions of type gfc_expr from the argument list to | |
| call gfc_typename. | |
| (gfc_convert_type_warn): New local variable "is_char_constant" set if | |
| the expression type is a character constant. At the "bad" label | |
| determine source type name by calling gfc_typename with either "expr" | |
| for character constants or "from_ts" and use that in the warning | |
| messages instead of the original call to gfc_typename. | |
| * misc.c (gfc_typename): New function for gfc_expr *, use for where | |
| character types are possible it can get the character length from | |
| gfc_expr for character literals. | |
| (gfc_dummy_typename): New functionfor gfc_typespec *, if no character | |
| length is present the character type is assumed and the appropriate | |
| string is return otherwise it calls gfc_typename for gfc_typespec *. | |
| (gfc_typespec): for character types construct the type name with length | |
| and kind (if it is not default kind). | |
| 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91784 | |
| * simplify.c (gfc_convert_constant): Simplify expression if the | |
| expression type is EXPR_OP. | |
| 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91785 | |
| * primary.c (gfc_match_varspec): Ensure an inquiry parameter has | |
| it locus set. | |
| 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91942 | |
| * io.c (match_vtag): Check for non-NULL result->symtree. | |
| (match_out_tag): Check for invalid constant due to inquiry parameter. | |
| (match_filepos): Instead of a syntax error, go to cleanup to get better | |
| error messages. | |
| 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91943 | |
| * match.c (gfc_match_call): BOZ cannot be an actual argument in | |
| a subroutine reference. | |
| * resolve.c (resolve_function): BOZ cannot be an actual argument in | |
| a function reference. | |
| 2019-10-01 Jan Hubicka <jh@suse.cz> | |
| * module.c (load_commons): Initialize flags to 0 to silence | |
| -Wmaybe-uninitialized warning. | |
| (read_module): Likewise for n and comp_name. | |
| 2019-10-02 Tobias Burnus <tobias@codesourcery.com> | |
| * dump-parse-tree.c (show_omp_clauses): Handle OMP_LIST_USE_DEVICE_ADDR. | |
| * gfortran.h (enum): Add OMP_LIST_USE_DEVICE_ADDR. | |
| * openmp.c (omp_mask1): Likewise. | |
| (gfc_match_omp_clauses): Match 'use_device_addr'. | |
| (OMP_TARGET_DATA_CLAUSES): Add OMP_LIST_USE_DEVICE_ADDR. | |
| (resolve_omp_clauses): Add it; add is_device_ptr checks. | |
| 2019-10-02 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.c (gfc_match_omp_clauses): Show a clause-parsing | |
| error if none was rised before. | |
| * parse.c (matcha, matcho): If error occurred after | |
| OpenMP/OpenACC directive matched, do not try other directives. | |
| 2019-10-02 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-openmp.c (gfc_omp_is_optional_argument): Fix coding | |
| style. | |
| 2019-10-02 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| * f95-lang.c (LANG_HOOKS_OMP_IS_OPTIONAL_ARGUMENT): Define to | |
| gfc_omp_is_optional_argument. | |
| * trans-decl.c (create_function_arglist): Set | |
| GFC_DECL_OPTIONAL_ARGUMENT in the generated decl if the parameter is | |
| optional. | |
| * trans-openmp.c (gfc_omp_is_optional_argument): New. | |
| (gfc_omp_privatize_by_reference): Return true if the decl is an | |
| optional pass-by-reference argument. | |
| * trans.h (gfc_omp_is_optional_argument): New declaration. | |
| (lang_decl): Add new optional_arg field. | |
| (GFC_DECL_OPTIONAL_ARGUMENT): New macro. | |
| 2019-10-01 David Malcolm <dmalcolm@redhat.com> | |
| * error.c (gfc_diagnostic_starter): Clear the prefix before | |
| calling diagnostic_show_locus. | |
| 2019-09-29 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91641 | |
| * check.c (gfc_check_is_contiguous): null() cannot be an actual | |
| argument to is_contiguous(). | |
| 2019-09-29 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91714 | |
| * decl.c (gfc_match_decl_type_spec): Issue errors for a few | |
| mangled types. | |
| 2019-09-29 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91726 | |
| * resolve.c (gfc_expr_to_initialize): Bail out with a copy of | |
| the original expression if the array ref is a scalar and the | |
| array_spec has corank. | |
| * trans-array.c (gfc_conv_array_ref): Such expressions are OK | |
| even if the array ref codimen is zero. | |
| * trans-expr.c (gfc_get_class_from_expr): New function taken | |
| from gfc_get_vptr_from_expr. | |
| (gfc_get_vptr_from_expr): Call new function. | |
| * trans-stmt.c (trans_associate_var): If one of these is a | |
| target expression, extract the class expression from the target | |
| and copy its fields to a new target variable. | |
| * trans.h : Add prototype for gfc_get_class_from_expr. | |
| 2019-09-28 Jerry DeLisle <jvdelisle@gcc.ngu.org> | |
| PR fortran/91802 | |
| * decl.c (attr_decl1): Return MATCH_ERROR without free to avoid | |
| bad expression type in free_expr0() ICE in rank+corank check. | |
| 2019-09-28 Steven G. Kargl <kargl@gcc.ngu.org> | |
| PR fortran/91802 | |
| * decl.c (attr_decl1): Check if rank+corank > 15. | |
| 2019-09-28 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91864 | |
| * gcc/fortran/io.c (match_io_element): An inquiry parameter cannot be | |
| read into. | |
| * gcc/fortran/match.c (gfc_match_allocate): An inquiry parameter | |
| can be neither an allocate-object nor stat variable. | |
| (gfc_match_deallocate): An inquiry parameter cannot be deallocated. | |
| 2019-09-26 Alessandro Fanfarillo <afanfa@gcc.gnu.org> | |
| * trans-array.c (structure_alloc_comps): | |
| Add new enum item for BCAST_ALLOC_COMP. | |
| New argument for structure_alloc_comp, and new case to handle | |
| recursive components in derived types. | |
| * trans-array.c (gfc_bcast_alloc_comp): New function | |
| used to handleco_broadcast for allocatable components | |
| of derived types. | |
| * trans-array.h: Add gfc_bcast_alloc_comp | |
| * trans-intrinsics.c (conv_co_collective): Add check for | |
| derived type variable and invocation of co_bcast_alloc_comp. | |
| * trans.h: New data structure gfc_co_subroutines_args. | |
| 2019-09-25 David Malcolm <dmalcolm@redhat.com> | |
| PR fortran/91426 | |
| * error.c (curr_diagnostic): New static variable. | |
| (gfc_report_diagnostic): New static function. | |
| (gfc_warning): Replace call to diagnostic_report_diagnostic with | |
| call to gfc_report_diagnostic. | |
| (gfc_format_decoder): Colorize the text of %L and %C to match the | |
| colorization used by diagnostic_show_locus. | |
| (gfc_warning_now_at): Replace call to diagnostic_report_diagnostic with | |
| call to gfc_report_diagnostic. | |
| (gfc_warning_now): Likewise. | |
| (gfc_warning_internal): Likewise. | |
| (gfc_error_now): Likewise. | |
| (gfc_fatal_error): Likewise. | |
| (gfc_error_opt): Likewise. | |
| (gfc_internal_error): Likewise. | |
| 2019-09-23 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91729 | |
| * match.c (gfc_match_select_rank): Initialise 'as' to NULL. | |
| Check for a symtree in the selector expression before trying to | |
| assign a value to 'as'. Revert to gfc_error and go to cleanup | |
| after setting a MATCH_ERROR. | |
| 2019-09-20 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/78260 | |
| * openmp.c (gfc_resolve_oacc_declare): Reject all | |
| non variables but accept function result variables. | |
| * trans-openmp.c (gfc_trans_omp_clauses): Handle | |
| function-result variables for remaing cases. | |
| 2019-09-17 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91588 | |
| * expr.c (check_inquiry): Remove extended component refs by | |
| using symbol pointers. If a function argument is an associate | |
| variable with a constant target, copy the target expression in | |
| place of the argument expression. Check that the charlen is not | |
| NULL before using the string length. | |
| (gfc_check_assign): Remove extraneous space. | |
| 2019-09-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91727 | |
| * resolve.c (conformable_arrays): If array-spec is NULL, then | |
| allocate-object is a scalar. a conformability check only occurs | |
| for an array source-expr. | |
| 2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91550 | |
| * frontend-passes.c (do_subscript): If step equals | |
| zero, a previuos error has been reported; do nothing | |
| in this case. | |
| * resolve.c (gfc_resolve_iterator): Move error checking | |
| after type conversion. | |
| 2019-09-14 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91557 | |
| PR fortran/91556 | |
| * frontend-passes.c (check_externals_procedure): Reformat argument | |
| list. Use gfc_compare_actual_formal instead of gfc_procedure_use. | |
| * gfortran.h (gfc_symbol): Add flag error. | |
| * interface.c (gfc_compare_interfaces): Reformat. | |
| (argument_rank_mismatch): Add where_formal argument. If it is | |
| present, note that the error is between different calls. | |
| (compare_parameter): Change warnings that previously dependended | |
| on -Wargument-mismatch to unconditional. Issue an error / warning | |
| on type mismatch only once. Pass where_formal to | |
| argument_rank_mismatch for artificial variables. | |
| (compare_actual_formal): Change warnings that previously | |
| dependeded on -Wargument-mismatch to unconditional. | |
| (gfc_check_typebound_override): Likewise. | |
| (gfc_get_formal_from_actual_arglist): Set declared_at for | |
| artificial symbol. | |
| * invoke.texi: Extend description of -fallow-argument-mismatch. | |
| Delete -Wargument-mismatch. | |
| * lang.opt: Change -Wargument-mismatch to do-nothing option. | |
| * resolve.c (resolve_structure_cons): Change warnings that | |
| previously depended on -Wargument-mismatch to unconditional. | |
| * trans-decl.c (generate_local_decl): Do not warn if the symbol is | |
| artificial. | |
| 2019-09-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91566 | |
| * simplify.c (gfc_simplify_merge): Need to simplify expression | |
| after insertation of parenthesis. | |
| 2019-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de> | |
| PR fortran/91716 | |
| * trans-array.c (gfc_conv_array_initializer): Always assign the | |
| array type of the field to the string constant. | |
| 2019-09-13 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91717 | |
| * dependency.c (gfc_dep_resolver): Flag identical components | |
| and exit with return value 1 if set and no array refs. | |
| 2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91553 | |
| * simplify.c (gfc_convert_constant): During conversion check if the | |
| constant is enclosed in parenthesis, and simplify expression. | |
| 2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91642 | |
| * io.c (gfc_match_inquire): null() cannot be in an iolength inquire | |
| list. | |
| 2019-09-05 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/91496 | |
| * parse.c (parse_executable): Improve error messages for | |
| improperly placed pragmas not preceeding a loop. | |
| 2019-09-05 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91660 | |
| * decl.c (gfc_match_decl_type_spec): Improve and restore error | |
| message for malformed types-spec. | |
| 2019-09-04 Steven G. Kargl <kargl@gcvc.gnu.org> | |
| PR fortran/91650 | |
| * io.c (match_io_element): An output IO list item cannot be a BOZ. | |
| 2019-09-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * gfortran.texi: Update documentation to catch up with BOZ changes. | |
| * invoke.texi: Fix English from previous BOZ changes commit. | |
| 2019-09-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91589 | |
| * primary.c (gfc_match_varspec): Return MATCH_NO on an apparent | |
| component ref, when the primary type is intrinsic. | |
| 2019-09-02 Steven G. Kargl <kargl@gc.gnu.org> | |
| PR fortran/91552 | |
| * array.c (walk_array_constructor): New function. | |
| (gfc_match_array_constructor): Use it. | |
| 2019-09-01 Paul Thomas <pault@gcc.gnu.org> | |
| * array.c (spec_dimen_size): Check for the presence of | |
| expressions for the bounds. | |
| * decl.c (gfc_match_end): Add case COMP_SELECT_RANK. | |
| * dump-parse-tree.c(show_symbol): Show the arrayspec of class | |
| entities. | |
| (show_code_node): Show the code for SELECT_RANK. | |
| * expr.c (gfc_check_vardef_context): Omit the context of | |
| variable definition for select rank associate names since the | |
| ASSUMED RANK throws. | |
| * gfortran.h : Add ST_SELECT_RANK and ST_RANK to enum | |
| gfc_statement. Add select_rank_temporary to symbol attribute | |
| structure. Add EXEC_SELECT_RANK to enum gfc_exec_op. | |
| * match.c (match_exit_cycle): Add COMP_SELECT_RANK. | |
| (copy_ts_from_selector_to_associate): Add as special case for | |
| assumed rank class variables. | |
| (select_intrinsic_set_tmp): Clean up the code by using symbols | |
| for references to the temporary and the selector. | |
| (select_type_set_tmp): Ditto. | |
| (select_rank_set_tmp): New function. | |
| (gfc_match_select_rank): New function. | |
| (gfc_match_rank_is): New function. | |
| * match.h : Add prototypes for gfc_match_select_rank and | |
| gfc_match_rank_is. | |
| * parse.c (decode_statement): Attempt to match select_rank and | |
| rank statements. | |
| (next_statement, gfc_ascii_statement): Add ST_SELECT_RANK. | |
| (parse_select_rank_block): New function. | |
| (parse_executable): Parse select rank block for ST_SELECT_RANK. | |
| * parse.h : Add COMP_SELECT_RANK to enum gfc_compile_state. | |
| * resolve.c (resolve_variable): Exclude select_rank_temporaries | |
| from the check on use of ASSUMED RANK. | |
| (gfc_resolve_expr): Make sure that unlimited polymorphic select | |
| rank temporaries expressions are not resolved again after being | |
| successfully resolved. | |
| (resolve_assoc_var): Do not do the rank check for select rank | |
| temporaries. | |
| (resolve_select_rank): New function. | |
| (gfc_resolve_blocks): Deal with case EXEC_SELECT_RANK. | |
| (resolve_symbol): Exclude select rank temporaries for check on | |
| use of ASSUMED RANK. | |
| * st.c (gfc_free_statement): Include EXEC_SELECT_RANK. | |
| * trans-array.c (gfc_conv_array_ref): Select rank temporaries | |
| may have dimen == 0. | |
| (gfc_conv_expr_descriptor): Zero the offset of select rank | |
| temporaries. | |
| * trans-stmt.c (copy_descriptor): New function. | |
| (trans_associate_var): Add code to associate select rank temps. | |
| (gfc_trans_select_rank_cases): New function. | |
| (gfc_trans_select_rank): New function. | |
| * trans-stmt.h : Add prototype for gfc_trans_select_rank. | |
| trans.c (trans_code): Add select rank case. | |
| 2019-08-30 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91587 | |
| * io.c (match_filepos): MATCH_ERROR should branch to a syntax error. | |
| 2019-08-28 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91551 | |
| * intrinsic.c (sort_actual): ALLOCATED has one argument. Check for | |
| no argument case. | |
| 2019-08-28 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91565 | |
| * simplify.c (gfc_simplify_reshape): Add additional checks of the | |
| ORDER dummy argument. | |
| 2019-08-28 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91564 | |
| * check.c (gfc_check_kill_sub): Additional checks on status dummy | |
| argument. | |
| 2019-08-28 Mark Eggleston <mark.eggleston@codethink.com> | |
| * intrinsics.text: Corrected stated standard for intrinsics | |
| and specific intrinsics where necessary. Also in C_SIZEOF the | |
| printed value is T not .TRUE.. In IPARITY example wrap BOZ | |
| constants in calls to INT. | |
| 2019-08-27 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/91496 | |
| * gfortran.h: Extend struct gfc_iterator for loop annotations. | |
| * array.c (gfc_copy_iterator): Copy loop annotations by IVDEP, | |
| VECTOR, and NOVECTOR pragmas. | |
| * decl.c (gfc_match_gcc_ivdep, gfc_match_gcc_vector) | |
| (gfc_match_gcc_novector): New matcher functions handling IVDEP, | |
| VECTOR, and NOVECTOR pragmas. | |
| * match.h: Declare prototypes of matcher functions handling IVDEP, | |
| VECTOR, and NOVECTOR pragmas. | |
| * parse.c (decode_gcc_attribute, parse_do_block) | |
| (parse_executable): Decode IVDEP, VECTOR, and NOVECTOR pragmas; | |
| emit warning for unrecognized pragmas instead of error. | |
| * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): Add code to | |
| emit annotations for IVDEP, VECTOR, and NOVECTOR pragmas. | |
| * gfortran.texi: Document IVDEP, VECTOR, and NOVECTOR pragmas. | |
| 2019-08-27 Mark Eggleston <mark.eggleston@codethink.com> | |
| * invoke.texi: Ensure that the option lists fit within the | |
| margins of a PDF page. Re-worded description of | |
| '-ffrontend-loop-interchange' so that it fits with the margins | |
| of a PDF page. Add '-fdec-include', '-fdec-blank-format-item' | |
| and '-fdec-format-defaults' to list of options that are enabled | |
| by '-fdec'. | |
| 2019-08-26 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91390 | |
| PR fortran/91473 | |
| * frontend-passes.c (gfc_check_externals): Make | |
| gfc_errors_to_warnings conditional on -fallow-argument-mismatch. | |
| * invoke.texi: Document -fallow-argument-mismatch. | |
| * lang.opt: Add -fallow-argument-mismatch. | |
| 2019-08-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91390 | |
| PR fortran/91519 | |
| * frontend-passes.c (check_externals_procedure): New | |
| function. If a procedure is not in the translation unit, create | |
| an "interface" for it, including its formal arguments. | |
| (check_externals_code): Use check_externals_procedure for common | |
| code with check_externals_expr. | |
| (check_externals_expr): Vice versa. | |
| * gfortran.h (gfc_get_formal_from_actual-arglist): New prototype. | |
| (gfc_compare_actual_formal): New prototype. | |
| * interface.c (compare_actual_formal): Rename to | |
| (gfc_compare_actual_formal): New function, make global. | |
| (gfc_get_formal_from_actual_arglist): Make global, and move here from | |
| * trans-types.c (get_formal_from_actual_arglist): Remove here. | |
| (gfc_get_function_type): Use gfc_get_formal_from_actual_arglist. | |
| 2019-08-23 Mark Eggleston <mark.eggleston@codethink.com> | |
| * intrinsics.text: References in 'See also:' are now on | |
| separate lines to ensure that they always fit in the margins of | |
| a PDF page. The column widths of tables have been adjusted | |
| where necessary to prevent overlapping text. All program | |
| examples now fit within the margins of a PDF page. | |
| 2019-08-23 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/91283 | |
| * options.c (gfc_post_options): Set flag_excess_precision instead of | |
| flag_excess_precision_cmdline. Remove comment. | |
| 2019-08-23 Mark Eggleston <mark.eggleston@codethink.com> | |
| * intrinsics.text: Removed empty sections. The order of | |
| sections for each intrinsic is now consistent throughout. | |
| Stray words removed. Text in the wrong section moved. | |
| Missing standard statement inserted. | |
| 2019-08-23 Mark Eggleston <mark.eggleston@codethink.com> | |
| * intrinsics.text: Correct the return types for ZABS and CDABS. | |
| 2019-08-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * intrinsic.c (add_subroutines): ERRMSG is INTENT(INOUT) in | |
| co_broadcast, co_max, co_min, co_reduce, and co_sum. | |
| 2019-08-20 Mark Eggleston <mark.eggleston@codethink.com> | |
| PR fortran/89236 | |
| * intrinsic.texi: Add GNU extension notes to DIM, MOD, MODULO. | |
| 2019-08-19 Mark Eggleston <mark.eggleston@codethink.com> | |
| * gfortran.texi: Delete paragraph about integer overload errors | |
| when initialising integer variables with BOZ constants as these | |
| no longer occur. | |
| 2019-08-18 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91485 | |
| module.c (gfc_match_use): User defined operator cannot conflict with | |
| a rename symbol. | |
| 2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/82992 | |
| * module.c (gfc_match_use): When renaming a module entity, search | |
| current namespace for conflicting symbol. | |
| 2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/78739 | |
| * match.c (gfc_match_st_function): When matching a statement function, | |
| need to check if the statement function name shadows the function | |
| name. | |
| 2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/78719 | |
| * decl.c (get_proc_name): Check for a CLASS entity when trying to | |
| add attributes to an entity that already has an explicit interface. | |
| 2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91471 | |
| * primary.c (gfc_variable_attr): Remove a gfc_internal_error(), | |
| which cannot be reached by conforming Fortran code, but seems to | |
| be reachable from nonconforming Fortran code. Treat the AR_UNKNOWN | |
| case as a no-op. | |
| 2019-08-17 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/68401 | |
| * trans-decl.c (gfc_build_builtin_function_decls): Replace | |
| os_error with os_error_at decl. | |
| * trans.c (trans_runtime_error_vararg): Modify so the error | |
| function decl is passed directly. | |
| (gfc_trans_runtime_error): Pass correct error function decl. | |
| (gfc_trans_runtime_check): Likewise. | |
| (trans_os_error_at): New function. | |
| (gfc_call_malloc): Use trans_os_error_at. | |
| (gfc_allocate_using_malloc): Likewise. | |
| (gfc_call_realloc): Likewise. | |
| * trans.h (gfor_fndecl_os_error): Replace with gfor_fndecl_os_error_at. | |
| 2019-08-16 Jeff Law <law@redhat.com> | |
| Mark Eggleston <mark.eggleston@codethink.com> | |
| * gfortran.h: Add gfc_check_conflict declaration. | |
| * symbol.c (check_conflict): Rename cfg_check_conflict and remove | |
| static. | |
| * symbol.c (cfg_check_conflict): Remove automatic in equivalence | |
| conflict check. | |
| * symbol.c (save_symbol): Add check for in equivalence to stop the | |
| the save attribute being added. | |
| * trans-common.c (build_equiv_decl): Add is_auto parameter and | |
| add !is_auto to condition where TREE_STATIC (decl) is set. | |
| * trans-common.c (build_equiv_decl): Add local variable is_auto, | |
| set it true if an atomatic attribute is encountered in the variable | |
| list. Call build_equiv_decl with is_auto as an additional parameter. | |
| flag_dec_format_defaults is enabled. | |
| * trans-common.c (accumulate_equivalence_attributes) : New subroutine. | |
| * trans-common.c (find_equivalence) : New local variable dummy_symbol, | |
| accumulated equivalence attributes from each symbol then check for | |
| conflicts. | |
| 2019-08-16 Richard Biener <rguenther@suse.de> | |
| * trans-intrinsic.c (gfc_conv_intrinsic_findloc): Initialize | |
| forward_branch to avoid bogus uninitialized warning. | |
| 2019-08-15 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91443 | |
| * frontend-passes.c (check_externals_expr): New function. | |
| (check_externals_code): New function. | |
| (gfc_check_externals): New function. | |
| * gfortran.h (debug): Add prototypes for gfc_symbol * and | |
| gfc_expr *. | |
| (gfc_check_externals): Add prototype. | |
| * interface.c (compare_actual_formal): Do not complain about | |
| alternate returns if the formal argument is optional. | |
| (gfc_procedure_use): Handle cases when an error has been issued | |
| previously. Break long line. | |
| * parse.c (gfc_parse_file): Call gfc_check_externals for all | |
| external procedures. | |
| * resolve.c (resolve_global_procedure): Remove checking of | |
| argument list. | |
| 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/87991 | |
| * resolve.c (check_data_variable): data-stmt-object with pointer | |
| attribute requires a data-stmt-value with the target attribute. | |
| 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/88072 | |
| * misc.c (gfc_typename): Do not point to something that ought not to | |
| be pointed at. | |
| 2013-08-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90563 | |
| * frontend-passes.c (insert_index): Suppress errors while | |
| simplifying the resulting expression. | |
| 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/89647 | |
| resolve.c (resolve_typebound_procedure): Allow host associated | |
| procedure to be a binding target. While here, wrap long line. | |
| 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/87993 | |
| * expr.c (gfc_simplify_expr): Simplifcation of an array with a kind | |
| type inquiry suffix yields a constant expression. | |
| 2019-08-13 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/91414 | |
| * check.c (gfc_check_random_seed): Reduce seed_size. | |
| * intrinsic.texi (RANDOM_NUMBER): Update to match new PRNG. | |
| 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/91424 | |
| * frontend-passes.c (do_subscript): Do not warn for an | |
| expression a second time. Do not warn about a zero-trip loop. | |
| (doloop_warn): Also look at contained namespaces. | |
| 2019-08-11 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/91413 | |
| * invoke.texi (-fmax-stack-var-size): Document increased default. | |
| * options.c (gfc_post_options): Increase default stack var size to | |
| 65536 bytes. | |
| * trans-decl.c (gfc_finish_var_decl): Generate warning when local | |
| array moved to static storage. | |
| 2019-08-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * decl.c (match_old_style_init): Use a clearer error message. | |
| * expr.c (gfc_check_assign): Update BOZ checking to provide a stricter | |
| adherence to the Fortran standard. Use gfc_invalid_boz () to | |
| relax errors into warnings. | |
| * gfortran.h (gfc_isym_id): Add new ids GFC_ISYM_DFLOAT, | |
| GFC_ISYM_FLOAT, GFC_ISYM_REALPART, and GFC_ISYM_SNGL | |
| * intrinsic.c (add_functions): Use new ids to split REAL generic into | |
| REAL, FLOAT, DFLOAT, SNGL, and REALPART generics. | |
| (gfc_intrinsic_func_interface): Allow new intrinsics in an | |
| initialization expression | |
| * resolve.c (resolve_operator): Deal with BOZ as operands. | |
| Use gfc_invalid_boz to allow for errors or warnings via the | |
| -fallow-invalid-boz option. A BOZ cannot be an operand to an | |
| unary operator. Both operands of a binary operator cannot be BOZ. | |
| For binary operators, convert a BOZ operand into the type and | |
| kind of the other operand for REAL or INTEGER operand. | |
| * trans-intrinsic.c: Use new ids to cause conversions to happen. | |
| 2019-08-06 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91359 | |
| * trans-decl.c (gfc_generate_return): Ensure something is returned | |
| from a function. | |
| 2019-08-06 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/42546 | |
| * check.c(gfc_check_allocated): Add comment pointing to ... | |
| * intrinsic.c(sort_actual): ... the checking done here. | |
| 2019-08-05 Steven g. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91372 | |
| * decl.c (gfc_match_data): Allow an implied do-loop to nestle against | |
| DATA. | |
| 2019-08-04 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/88227 | |
| * check.c (oct2bin): New function. Convert octal string to binary. | |
| (hex2bin): New function. Convert hexidecimal string to binary. | |
| (bin2real): New function. Convert binary string to REAL. Use | |
| oct2bin and hex2bin. | |
| (gfc_boz2real): Use fallback conversion bin2real. | |
| 2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90985 | |
| * decl.c (gfc_match_data): In free-form code, DATA be followed by | |
| whitespace. | |
| 2019-08-02 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90986 | |
| * match.c (gfc_match_equivalence): Check that EQUIVALENCE is followed | |
| by '('. | |
| 2019-07-30 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/91296 | |
| * interface.c (compare_actual_expr): When checking for aliasing, add | |
| a case to handle REF_INQUIRY (e.g., foo(x%re, x%im) do not alias). | |
| 2019-07-29 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90813 | |
| * dump-parse-tree.c (show_global_symbol): New function. | |
| (gfc_dump_global_symbols): New function. | |
| * gfortran.h (gfc_traverse_gsymbol): Add prototype. | |
| (gfc_dump_global_symbols): Likewise. | |
| * invoke.texi: Document -fdump-fortran-global. | |
| * lang.opt: Add -fdump-fortran-global. | |
| * parse.c (gfc_parse_file): Handle flag_dump_fortran_global. | |
| * symbol.c (gfc_traverse_gsymbol): New function. | |
| * trans-decl.c (sym_identifier): New function. | |
| (mangled_identifier): New function, doing most of the work | |
| of gfc_sym_mangled_identifier. | |
| (gfc_sym_mangled_identifier): Use mangled_identifier. Add mangled | |
| identifier to global symbol table. | |
| (get_proc_pointer_decl): Use backend decl from global identifier | |
| if present. | |
| 2019-07-25 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/65819 | |
| * dependency.h (gfc_dep_resovler): Add optional argument identical. | |
| * dependency.c (gfc_check_dependency): Do not alway return 1 if | |
| the symbol is the same. Pass on identical to gfc_dep_resolver. | |
| (gfc_check_element_vs_element): Whitespace fix. | |
| (gfc_dep_resolver): Adjust comment for function. If identical is | |
| true, return 1 if any overlap has been found. | |
| 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/54072 | |
| * check.c (gfc_invalid_boz): Fix comment. | |
| (illegal_boz_arg): New function. | |
| (gfc_check_transfer): Use to arguments. | |
| (gfc_check_storage_size): Ditto. | |
| (gfc_check_complex): Remove leftover comment from BOZ patch. | |
| * primary.c (match_boz_constant): Remove leftover comment. | |
| 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * arith.c (gfc_convert_integer, gfc_convert_real, gfc_convert_complex): | |
| Move to ... | |
| * primary.c (convert_integer, convert_real, convert_complex): ... here. | |
| Rename and make static functions. | |
| (match_integer_constant): Use convert_integer | |
| (match_real_constant): Use convert_real. | |
| (match_complex_constant: Use convert_complex. | |
| * arith.h (gfc_convert_integer, gfc_convert_real, gfc_convert_complex): | |
| Remove prototypes. | |
| * array.c (match_array_cons_element): A BOZ cannot be a data | |
| statement value. Jump to a common exit point. | |
| * check.c (gfc_invalid_boz): New function. Emit error or warning | |
| for a BOZ in an invalid context. | |
| (boz_args_check): Move to top of file to prevent need of forward | |
| declaration. | |
| (is_boz_constant): New function. Check that BOZ expr is constant. | |
| (gfc_boz2real): New function. In-place conversion of BOZ literal | |
| constant to REAL in accordance to F2018. | |
| (gfc_boz2int): New function. In-place conversion of BOZ literal | |
| constant to INTEGER in accordance to F2018. | |
| (gfc_check_achar, gfc_check_char, gfc_check_float): Use gfc_invalid_boz. Convert BOZ | |
| as needed. | |
| (gfc_check_bge_bgt_ble_blt): Enforce F2018 requirements on BGE, | |
| BGT, BLE, and BLT intrinsic functions. | |
| (gfc_check_cmplx): Re-organize to check kind, if present, first. | |
| Convert BOZ real and/or imaginary parts as needed in accordance to | |
| F2018. | |
| (gfc_check_complex): Use gfc_invalid_boz. Convert BOZ as needed. | |
| (gfc_check_dcmplx, gfc_check_dble ): Convert BOZ as needed. | |
| (gfc_check_dshift): Make dshift[lr] conform to F2018 standard. | |
| gfc_check_float (gfc_expr *a) | |
| (gfc_check_iand_ieor_ior): Make IAND, IEOR, and IOR conform to | |
| F2018 standard. | |
| (gfc_check_int): Conform to F2018 standard. | |
| (gfc_check_intconv): Deprecate SHORT and LONG aliases for INT2 and | |
| INT. Simply return for a BOZ argument. See gfc_simplify_intconv. | |
| (gfc_check_merge_bits): Make MERGE_BITS conform to Fortran 2018 | |
| standard. | |
| (gfc_check_real): Remove incorrect comment. Check kind, if present, | |
| first. Simply return for a BOZ argument. See gfc_simplify_real. | |
| (gfc_check_and): Re-do error handling for BOZ arguments. Remove | |
| special casing ts.type != BT_INTEGER or BT_LOGICAL. | |
| * decl.c (match_old_style_init): Check for BOZ in old-style | |
| initialization. Issue error or warning depending on | |
| -fallow-invalid-boz option. Issue error if variable is not an | |
| INTEGER or REAL and the value is BOZ. | |
| * expr.c (gfc_copy_expr): Copy a BT_BOZ gfc_expr. | |
| (gfc_check_assign): Re-do error handling for a BOZ in an assignment | |
| statement. Do in-place conversion of RHS based on LHS type of | |
| INTEGER or REAL. | |
| * gfortran.h (gfc_expr): Add a boz component. Remove is_boz component. | |
| (gfc_boz2int, gfc_boz2real, gfc_invalid_boz): New prototypes. | |
| * interface.c (gfc_extend_assign): Guard against replacing an | |
| intrinsic involving a BOZ literal constant on RHS. | |
| * invoke.texi: Doument -fallow-invalid-boz. | |
| * lang.opt: New option. -fallow-invalid-boz. | |
| * libgfortran.h (bt): Elevate BOZ to a basic type. | |
| * misc.c (gfc_basic_typename, gfc_typename): Translate BT_BOZ to BOZ. | |
| * primary.c (convert_integer, convert_real, convert_complex): to here. | |
| Rename and make static functions. | |
| * primary.c(match_boz_constant): Rewrite parsing of a BOZ. Re-do | |
| error handling. Deprecate 'X' for hexidecimal and postfix notation. | |
| Use -fallow-invalid-boz and gfc_invalid_boz to accept deprecated code. | |
| * resolve.c (resolve_ordinary_assign): Rework a RHS that is a | |
| BOZ literal constant. Use gfc_invalid_boz to allow previous | |
| nonstandard behavior. Remove range checking of BOZ conversion. | |
| * simplify.c (convert_boz): Remove function. | |
| (simplify_cmplx): Remove conversion of BOZ constants, because | |
| conversion is done in gfc_check_cmplx. | |
| (gfc_simplify_float): Remove conversion of BOZ constant, because | |
| conversion is done in gfc_check_float. | |
| (simplify_intconv): Use gfc_boz2int to convert BOZ to INTEGER. | |
| Remove range checking for BOZ conversion. | |
| (gfc_simplify_real): Use k, if present, to determine kind. Convert | |
| BOZ to REAL. Remove range checking for BOZ conversion. | |
| target-memory.c (gfc_convert_boz): Rewrite to deal with convert of | |
| a BOZ to a REAL value. | |
| 2019-07-21 Thomas König <tkoenig@gcc.gnu.org> | |
| PR libfortran/91030 | |
| * gfortran.texi (GFORTRAN_FORMATTED_BUFFER_SIZE): Document | |
| (GFORTRAN_UNFORMATTED_BUFFER_SIZE): Likewise. | |
| 2019-07-16 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/90903 | |
| * libgfortran.h: Add mask for -fcheck=bits option. | |
| * options.c (gfc_handle_runtime_check_option): Add option "bits" | |
| to run-time checks selectable via -fcheck. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_btest) | |
| (gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits) | |
| (gfc_conv_intrinsic_shift, gfc_conv_intrinsic_ishft) | |
| (gfc_conv_intrinsic_ishftc): Implement run-time checks for the | |
| POS, LEN, SHIFT, and SIZE arguments. | |
| * gfortran.texi: Document run-time checks for bit manipulation | |
| intrinsics. | |
| * invoke.texi: Document new -fcheck=bits option. | |
| 2019-07-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/87233 | |
| * expr.c (check_restricted): Relax constraint C1279 which was | |
| removed from F2008 and above. | |
| 2019-07-07 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/91077 | |
| * trans-array.c (gfc_conv_scalarized_array_ref) Delete code | |
| that gave symbol backend decl for subref arrays and deferred | |
| length variables. | |
| 2019-07-05 Andrew Stubbs <ams@codesourcery.com> | |
| * openmp.c (resolve_omp_clauses): Add custom error messages for | |
| parameters in map clauses. | |
| 2019-07-03 Martin Liska <mliska@suse.cz> | |
| * check.c (gfc_check_c_funloc): Remove | |
| dead assignemts. | |
| * decl.c (variable_decl): Likewise. | |
| * resolve.c (resolve_typebound_function): Likewise. | |
| * simplify.c (gfc_simplify_matmul): Likewise. | |
| (gfc_simplify_scan): Likewise. | |
| * trans-array.c (gfc_could_be_alias): Likewise. | |
| * trans-common.c (add_equivalences): Likewise. | |
| * trans-expr.c (trans_class_vptr_len_assignment): Likewise. | |
| (gfc_trans_array_constructor_copy): Likewise. | |
| (gfc_trans_assignment_1): Likewise. | |
| * trans-intrinsic.c (conv_intrinsic_atomic_op): Likewise. | |
| * trans-openmp.c (gfc_omp_finish_clause): Likewise. | |
| * trans-types.c (gfc_get_array_descriptor_base): Likewise. | |
| * trans.c (gfc_build_final_call): Likewise. | |
| 2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90987 | |
| * gfortran.dg/common_1.f: new test. | |
| * gfortran.dg/common_26.f90: Ditto. | |
| 2019-06-26 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR Fortran/90988 | |
| ChangeLog forgotten with revision 272667 | |
| * decl.c (access_attr_decl): Use temporary variable to reduce | |
| unreadability of code. Normalize jumping to return. | |
| (gfc_match_protected): Fix parsing error. Add comments to | |
| explain code. Remove dead code. | |
| (gfc_match_private): Use temporary variable to reduce unreadability | |
| of code. Fix parsing error. Move code to test for blank PRIVATE. | |
| Remove dead code. | |
| (gfc_match_public): Move code to test for blank PUBLIC. Fix | |
| parsing error. Remove dead code. | |
| 2019-06-24 Jan Hubicka <jh@suse.cz> | |
| * trans-expr.c (gfc_conv_substring): Check that | |
| type is array or integer prior checking string flag. | |
| (gfc_conv_string_parameter): Likewise. | |
| * trans-openmp.c (gfc_omp_scalar_p): Likewise. | |
| * trans.c (gfc_build_array_ref): Likewise. | |
| 2019-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/89782 | |
| * io.c (gfc_resolve_dt): Check that internal units are not | |
| character PARAMETER. | |
| 2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/67884 | |
| * resolve.c (deferred_requirements) : Check only the result variable. | |
| (resolve_fl_procedure): Check deferred requirements on functions. | |
| 2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/51991 | |
| * decl.c (gfc_match_save): If SAVE was not seen, return MATCH_NO | |
| instead issuing an error message and returning MATCH_ERROR. | |
| 2019-06-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/77632 | |
| * /decl.c (variable_decl): Mark a variable that is a target in pointer | |
| initialization when in PROGRAM, MODULE, or SUBMODULE scope with an | |
| implicit save. | |
| 2019-06-20 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/86587 | |
| * symbol.c (verify_bind_c_derived_type): Remove erroneous error | |
| checking for BIND(C) and PRIVATE attributes. | |
| 2019-06-20 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90937 | |
| * trans-types.c (get_formal_from_actual_arglist): Get symbol from | |
| current namespace so it will be freed later. If symbol is of type | |
| character, get an empty character length. | |
| 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/69499 | |
| * match.c (gfc_match_select_type): SELECT TYPE is an executable | |
| statement, and cannot appear in MODULE or SUBMODULE scope. | |
| 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/69398 | |
| * decl.c (attr_decl): Check for duplicate DIMENSION attribute for a | |
| CLASS entity. | |
| 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/87907 | |
| * resolve.c (resolve_contained_fntype): Do not dereference a NULL | |
| pointer. | |
| 2019-06-19 Jim MacArthur <jim.macarthur@codethink.co.uk> | |
| Mark Eggleston <mark.eggleston@codethink.com> | |
| PR fortran/89103 | |
| * gfortran.texi: Add -fdec-blank-format-item | |
| * invoke.texi: Add option to list of options. | |
| * invoke.texi: Add to section on Commas in FORMAT specifications. | |
| * io.c (check_format): At FMT_RPAREN goto finished if | |
| -fdec-blank-format-item otherwise set error string. | |
| * lang.opt: Add new option. | |
| * options.c (set_dec_flags): Add SET_BITFLAG for | |
| flag_dec_format_defaults. | |
| 2019-06-18 Julian Brown <julian@codesourcery.com> | |
| PR fortran/90921 | |
| * trans-decl.c (finish_oacc_declare): Reset module_oacc_clauses | |
| before scanning each namespace. | |
| 2019-06-18 Thomas Schwinge <thomas@codesourcery.com> | |
| PR fortran/85221 | |
| * trans-decl.c (add_attributes_to_decl): Handle OpenACC 'declare' | |
| directive. | |
| 2019-06-16 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * dump_parse_tree (debug): Add verison for formal arglist. | |
| Do not crash when a gfc_expr is NULL. | |
| 2019-06-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived | |
| type. | |
| 2019-06-14 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * arith.c (arith_power): Rework overflow of an integer to an integer | |
| exponent. | |
| 2019-06-14 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/90577 | |
| PR fortran/90578 | |
| * trans-intrinsic.c (gfc_conv_intrinsic_shift): Properly | |
| distinguish logical/arithmetic shifts. | |
| * intrinsic.texi: Update documentation for SHIFTR/SHIFTL/SHIFTA | |
| (Fortran 2008) and LSHIFT/RSHIFT (GNU extensions). | |
| 2019-06-14 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/89646 | |
| * dependency.c (gfc_check_argument_var_dependency): Suppress spurious | |
| warnings by comparing variable names. | |
| 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/68544 | |
| * resolve.c (is_dt_name): New function to compare symbol name against | |
| list of derived types. | |
| (resolve_actual_arglist): Use it to find wrong code. | |
| 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/89344 | |
| * expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable | |
| in SELECT TYPE construct. | |
| 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/88810 | |
| * dependency.c (gfc_dep_resolver): Re-arrange code to make the logic | |
| a bit more transparent. Fix 2 nearby formatting issues. | |
| 2019-06-13 Jakub Jelinek <jakub@redhat.com> | |
| * io.c (check_format): Use G_(...) instead of _(...) for error values, | |
| append " in format string at %L" to all strings but unexpected_element, | |
| use error as gfc_error formating string instead of | |
| "%s in format string at %L". Formatting fixes. | |
| 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * gfortran.h (gfc_free_dt_list): Remove prototype. | |
| 2019-06-12 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90002 | |
| * array.c (gfc_free_array_spec): When freeing an array-spec, avoid | |
| an ICE for assumed-shape coarrays. | |
| 2019-06-08 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/90786 | |
| * trans-expr.c (pointer_assignment_is_proc_pointer) Remove as | |
| it is very simple and only called from one place. | |
| (gfc_trans_pointer_assignment): Rename non_proc_pointer_assign | |
| as non_proc_ptr_assign. Assign to it directly, rather than call | |
| to above, deleted function and use gfc_expr_attr instead of | |
| only checking the reference chain. | |
| 2019-06-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| Tomáš Trnka <trnka@scm.com> | |
| PR fortran/90744 | |
| * trans-types.c (get_formal_from_actual_arglist): Unset typespec | |
| flags which make no sense for procedures without explicit | |
| interface. | |
| 2019-06-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90539 | |
| * trans-expr.c (gfc_conv_subref_array_arg): If the size of the | |
| expression can be determined to be one, treat it as contiguous. | |
| Set likelyhood of presence of an actual argument according to | |
| PRED_FORTRAN_ABSENT_DUMMY and likelyhood of being contiguous | |
| according to PRED_FORTRAN_CONTIGUOUS. | |
| 2019-05-30 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * gfc-internals.texi (Translating to GENERIC): New chapter. | |
| 2019-05-30 Marek Polacek <polacek@redhat.com> | |
| * lang.opt (ftail-call-workaround): Fix a typo. | |
| 2019-05-30 Jakub Jelinek <jakub@redhat.com> | |
| * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths. | |
| 2019-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90539 | |
| * gfortran.h (gfc_has_dimen_vector_ref): Add prototype. | |
| * trans.h (gfc_conv_subref_array_arg): Add argument check_contiguous. | |
| (gfc_conv_is_contiguous_expr): Add prototype. | |
| * frontend-passes.c (has_dimen_vector_ref): Remove prototype, | |
| rename to | |
| (gfc_has_dimen_vector_ref): New function name. | |
| (matmul_temp_args): Use gfc_has_dimen_vector_ref. | |
| (inline_matmul_assign): Likewise. | |
| * trans-array.c (gfc_conv_array_parameter): Also check for absence | |
| of a vector subscript before calling gfc_conv_subref_array_arg. | |
| Pass additional argument to gfc_conv_subref_array_arg. | |
| * trans-expr.c (gfc_conv_subref_array_arg): Add argument | |
| check_contiguous. If that is true, check if the argument | |
| is contiguous and do not repack in that case. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): Split | |
| away most of the work into, and call | |
| (gfc_conv_intrinsic_is_coniguous_expr): New function. | |
| 2019-05-29 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/90329 | |
| * lang.opt (fbroken-callers): Remove. | |
| (ftail-call-workaround, ftail-call-workaround=): New options. | |
| * gfortran.h (struct gfc_namespace): Add implicit_interface_calls. | |
| * interface.c (gfc_procedure_use): Set implicit_interface_calls | |
| for calls to implicit interface procedures. | |
| * trans-decl.c (create_function_arglist): Use flag_tail_call_workaround | |
| instead of flag_broken_callers. If it is not 2, also require | |
| sym->ns->implicit_interface_calls. | |
| * invoke.texi (fbroken-callers): Remove documentation. | |
| (ftail-call-workaround, ftail-call-workaround=): Document. | |
| 2019-05-26 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90539 | |
| * trans-types.c (get_formal_from_actual_arglist): Set rank | |
| and lower bound for assumed size arguments. | |
| 2019-05-22 Andrew Stubbs <ams@codesourcery.com> | |
| * trans-stmt.c (gfc_trans_critical): Use size_type_node for | |
| gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls. | |
| (gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all | |
| call. | |
| 2019-05-22 Jeff Law <law@redhat.com> | |
| Mark Eggleston <mark.eggleston@codethink.com> | |
| PR fortran/89100 | |
| * gfortran.texi: Add Default widths for F, G and I format | |
| descriptors to Extensions section. | |
| * invoke.texi: Add -fdec-format-defaults | |
| * io.c (check_format): Use default widths for i, f and g when | |
| flag_dec_format_defaults is enabled. | |
| * lang.opt: Add new option. | |
| * options.c (set_dec_flags): Add SET_BITFLAG for | |
| flag_dec_format_defaults. | |
| 2019-05-21 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR libfortran/90038 | |
| * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new | |
| wait=.false. implementation. | |
| 2019-05-20 Mark Eggleston <markeggleston@codethink.com> | |
| * gfortran.texi: Remove reference to the ASSIGN statement, capitalise | |
| complex, state that padding is with spaces and modify the Hollerith | |
| constant examples. | |
| 2019-05-19 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/90498 | |
| * trans-stmt.c (trans_associate_var) Do not use the saved | |
| descriptor if the expression is a COMPONENT_REF. | |
| 2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90329 | |
| * invoke.texi: Document -fbroken-callers. | |
| * lang.opt: Add -fbroken-callers. | |
| * trans-decl.c (create_function_arglist): Only set | |
| DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set. | |
| 2019-05-17 Thomas Schwinge <thomas@codesourcery.com> | |
| PR fortran/89433 | |
| * f95-lang.c (gfc_attribute_table): Set min_len to -1 for "omp | |
| declare target". | |
| * trans-decl.c (add_attributes_to_decl): Refer to OpenACC | |
| 'routine' clauses from "omp declare target" attribute. | |
| 2019-05-16 Martin Sebor <msebor@redhat.com> | |
| * gfortranspec.c (append_arg): Spell out the word "argument." | |
| 2019-05-16 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/90329 | |
| * trans-decl.c (create_function_arglist): Set | |
| DECL_HIDDEN_STRING_LENGTH on hidden string length PARM_DECLs if | |
| len is constant. | |
| 2019-05-15 Janne Blomqvist <jb@gcc.gnu.org> | |
| * parse.c (gfc_parse_file): Remove translation string markers. | |
| 2019-05-12 Janne Blomqvist <jb@gcc.gnu.org> | |
| * dump-parse-tree.c (get_c_type_name): Use macros for complex type | |
| names. | |
| * parse.c (gfc_parse_file): Define complex macros, add CPP support | |
| when printing C prototypes. | |
| 2019-05-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/61968 | |
| * interface.c (compare_actual_formal): Do not create a vtab if | |
| the actual argument is assumed type. | |
| 2019-05-10 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/90093 | |
| * trans-decl.c (convert_CFI_desc): Test that the dummy is | |
| present before doing any of the conversions. | |
| PR fortran/90352 | |
| * decl.c (gfc_verify_c_interop_param): Restore the error for | |
| charlen > 1 actual arguments passed to bind(C) procs. | |
| Clean up trailing white space. | |
| PR fortran/90355 | |
| * trans-array.c (gfc_trans_create_temp_array): Set the 'span' | |
| field to the element length for all types. | |
| (gfc_conv_expr_descriptor): The force_no_tmp flag is used to | |
| prevent temporary creation, especially for substrings. | |
| * trans-decl.c (gfc_trans_deferred_vars): Rather than assert | |
| that the backend decl for the string length is non-null, use it | |
| as a condition before calling gfc_trans_vla_type_sizes. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): 'force_no_tmp' | |
| is set before calling gfc_conv_expr_descriptor. | |
| * trans.c (get_array_span): Move the code for extracting 'span' | |
| from gfc_build_array_ref to this function. This is specific to | |
| descriptors that are component and indirect references. | |
| * trans.h : Add the force_no_tmp flag bitfield to gfc_se. | |
| 2019-05-08 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/90351 | |
| PR fortran/90329 | |
| * dump-parse-tree.c: Include version.h. | |
| (gfc_dump_external_c_prototypes): New function. | |
| (get_c_type_name): Select "char" as a name for a simple char. | |
| Adjust to handling external functions. Also handle complex. | |
| (write_decl): Add argument bind_c. Adjust for dumping of external | |
| procedures. | |
| (write_proc): Likewise. | |
| (write_interop_decl): Add bind_c argument to call of write_proc. | |
| * gfortran.h: Add prototype for gfc_dump_external_c_prototypes. | |
| * lang.opt: Add -fc-prototypes-external flag. | |
| * parse.c (gfc_parse_file): Move dumping of BIND(C) prototypes. | |
| Call gfc_dump_external_c_prototypes if option is set. | |
| * invoke.texi: Document -fc-prototypes-external. | |
| 2019-05-06 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90290 | |
| * match.c (gfc_match_stopcode): Check F2008 condition on stop code. | |
| 2019-05-01 Andrew Benson <abensonca@gmail.com> | |
| * module.c (write_module): Initialize module_column before writing | |
| module to ensure line break occurs at correct column. | |
| 2019-05-01 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/60144 | |
| * match.c (gfc_match_parens): Change the location for missing ')'. | |
| (gfc_match_if): Detect a missing '('. Remove the spurious named | |
| constant error. Change the wording of some errors. | |
| (gfc_match_else): Change the wording of an error. | |
| (gfc_match_elseif): Detect a missing '('. Improve the matching | |
| process to get a better syntax analysis. | |
| 2019-04-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/90166 | |
| * decl.c (in_module_or_interface): New function to check that the | |
| current state is in a module, submodule, or interface. | |
| (gfc_match_prefix): Use it. | |
| 2019-04-22 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/57284 | |
| * resolve.c (find_array_spec): If this is a class expression | |
| and the symbol and component array specs are the same, this is | |
| not an error. | |
| *trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol | |
| argument, has no namespace, it has come from the interface | |
| mapping and the _data component must be accessed directly. | |
| 2019-04-17 Thomas Schwinge <thomas@codesourcery.com> | |
| PR fortran/90048 | |
| * openmp.c (gfc_resolve_do_iterator): Handle sharing_clauses for | |
| OpenACC, too. | |
| (gfc_resolve_oacc_blocks): Populate sharing_clauses with private | |
| clauses. | |
| 2019-04-14 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/89843 | |
| * trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed | |
| rank dummies of bind C procs require deferred initialization. | |
| (convert_CFI_desc): New procedure to convert incoming CFI | |
| descriptors to gfc types and back again. | |
| (gfc_trans_deferred_vars): Call it. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI | |
| descriptor pointer. Free the descriptor in all cases. | |
| PR fortran/89846 | |
| * expr.c (is_CFI_desc): New function. | |
| (is_subref_array): Tidy up by referencing the symbol directly. | |
| * gfortran.h : Prototype for is_CFI_desc. | |
| * trans_array.c (get_CFI_desc): New function. | |
| (gfc_get_array_span, gfc_conv_scalarized_array_ref, | |
| gfc_conv_array_ref): Use it. | |
| * trans.c (get_array_span): Extract the span from descriptors | |
| that are indirect references. | |
| PR fortran/90022 | |
| * trans-decl.c (gfc_get_symbol_decl): Make sure that the se | |
| expression is a pointer type before converting it to the symbol | |
| backend_decl type. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate | |
| temporary creation for intent(in). | |
| 2019-04-13 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/79842 | |
| * module.c (gfc_use_module): use complete sentences. | |
| 2019-04-11 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR translation/89939 | |
| * frontend-passes.c (B_ERROR): Delete macro. | |
| (C_ERROR): Delete macro. | |
| (B_ERROR_1): New macro. | |
| (C_ERROR_1): New macro. | |
| (C_ERROR_2): New macro. | |
| (inline_matmul_assign): Use new macros. | |
| (call_external_blas): Likewise. | |
| 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/87352 | |
| * gfortran.h (gfc_component): Add finalized field. | |
| * class.c (finalize_component): If the component is already | |
| finalized, return early. Set component->finalized on exit. | |
| 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/89981 | |
| * resolve.c (resolve_global_procedure): If the global symbol is an | |
| ENTRY, also look up its name among the entries. | |
| 2019-04-04 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89904 | |
| * check.c (gfc_check_transfer): Reject procedures as actual | |
| arguments for SOURCE and MOLD of TRANSFER intrinsic. | |
| 2019-04-03 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/68567 | |
| * expr.c (gfc_reduce_init_expr): Add extra check to avoid | |
| dereferencing a null pointer. | |
| 2019-04-03 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/89375 | |
| * expr.c (comp_pointer): Remove redundant condition. | |
| 2019-03-31 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/83515 | |
| PR fortran/85797 | |
| * trans-types.c (gfc_typenode_for_spec): Handle conversion for | |
| procedure pointers. | |
| * target-memory.c (gfc_element_size): Handle size determination | |
| for procedure pointers. | |
| 2019-03-31 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * dump-parse-tree.c (debug): Add for symbol_attribute *, | |
| symbol_attribute and gfc_ref * arguments. | |
| 2019-03-30 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/89841 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Use the formal | |
| argument attributes rather than those of the actual argument. | |
| PR fortran/89842 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Call | |
| 'set_dtype_for_unallocated' for any type of arrayspec. | |
| 2019-03-27 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/85537 | |
| * expr.c (gfc_check_assign_symbol): Reject internal and dummy procedures | |
| in procedure pointer initialization. | |
| 2019-03-27 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88247 | |
| * expr.c (is_subref_array): Permit substrings to be detected | |
| as subref arrays. | |
| * trans-array.c (get_array_ctor_var_strlen): Obtain the length | |
| of deferred length strings. Handle substrings with a NULL end | |
| expression. | |
| (trans_array_constructor): Remove an unnecessary blank line. | |
| (gfc_conv_scalarized_array_ref): Skip to label 'done' if 'decl' | |
| is a pointer array. | |
| (get_array_charlen): If the expression is an array, convert the | |
| first element of the constructor and use its string length. Get | |
| a new charlen if necessary. | |
| (gfc_conv_expr_descriptor): Call 'get_array_charlen' for array | |
| constructor expressions. If the ss_info string length is | |
| available, use that to set the span of character arrays. | |
| * trans-expr.c (gfc_get_expr_charlen): Handle substrings | |
| * trans-stmt.c (trans_associate_var): Set the pointer array | |
| flag for variable targets and constant array constructors. Take | |
| care not to reset the string length or the span in the case of | |
| expressions that are not converted as direct by reference. | |
| 2019-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> | |
| * intrinsic.texi (MINLOC): Fix typo in BACK argument documentation. | |
| (MAXLOC): Likewise. | |
| 2019-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/78865 | |
| * interface.c (compare_actual_formal): Change errors about | |
| missing or extra to gfc_error_now to make sure they are issued. | |
| Change "spec" to "specifier" in message. | |
| * resolve.c (resolve_global_procedure): Also check for mismatching | |
| interface with global symbols if the namespace has already been | |
| resolved. | |
| 2019-03-21 Thomas Schwinge <thomas@codesourcery.com> | |
| PR fortran/72741 | |
| * openmp.c (gfc_match_oacc_routine): Set the level of parallelism | |
| for all variants. | |
| (gfc_resolve_oacc_routines): Call gfc_add_omp_declare_target. | |
| PR fortran/89773 | |
| * gfortran.h (gfc_oacc_routine_name): Add loc member. | |
| (gfc_resolve_oacc_routines): Declare. | |
| * openmp.c (gfc_match_oacc_routine): Move some error checking | |
| into... | |
| (gfc_resolve_oacc_routines): ... this new function. | |
| * resolve.c (resolve_codes): Call it. | |
| PR fortran/72741 | |
| * openmp.c (gfc_match_oacc_routine): Clarify. | |
| PR fortran/72741 | |
| * module.c (verify_OACC_ROUTINE_LOP_NONE): New function. | |
| (enum ab_attribute): Add AB_OACC_ROUTINE_LOP_GANG, | |
| AB_OACC_ROUTINE_LOP_WORKER, AB_OACC_ROUTINE_LOP_VECTOR, | |
| AB_OACC_ROUTINE_LOP_SEQ. | |
| (attr_bits): Add these. | |
| (mio_symbol_attribute): Handle these. | |
| 2019-03-20 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/71861 | |
| * symbol.c (check_conflict): ABSTRACT attribute conflicts with | |
| INTRINSIC attribute. | |
| 2019-03-18 Thomas Koenig <tkoeng@gcc.gnu.org> | |
| PR fortran/68009 | |
| * iresolve.c: Include trans.h. | |
| (gfc_resolve_fe_runtine_error): Set backend_decl on | |
| resolved_sym. | |
| 2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/88008 | |
| * gfortran.h (expr_t): Add EXPR_UNKNOWN. | |
| * expr.c (gfc_copy_expr): Add EXPR_UNKNOWN to switch statement. | |
| (gfc_simplify_expr): Likewise. | |
| * module.c (mio_expr): Likewise. | |
| * resovle.c (extract_compcall_passed_object): Issue error on | |
| unknown type. | |
| (check_typebound_baseobject): Issue error on wrong type. | |
| * trans-expr.c (gfc_apply_interface_mapping_to_expr): Add | |
| EXPR_UNKNOWN to switch statement. | |
| 2019-03-16 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/89724 | |
| * scanner.c (load_line): Remove linenum and current_line static | |
| variables, add warned_tabs automatic variable. Use current_file->line | |
| instead of current_line and warned_tabs boolean to avoid diagnosing | |
| tabs multiple times on the same line. | |
| 2019-03-16 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/84394 | |
| * symbol.c (gfc_add_subroutine): If we are encountering a | |
| subrtoutine within a BLOCK DATA and the name starts with an | |
| underscore, do not check. | |
| 2019-03-15 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/60091 | |
| * expr.c (gfc_check_pointer_assign): Correct and improve error | |
| messages for invalid pointer assignments. | |
| 2019-03-14 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * gfortran.texi: Document Q edit descriptor under | |
| "Extensions not implemented in GNU Fortran". | |
| 2019-03-13 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/87045 | |
| * trans-expr.c (gfc_trans_pointer_assignment): Move check for same | |
| string length so that we do not get false errors for deferred | |
| length. | |
| 2019-03-13 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/89601 | |
| * decl.c (gfc_match_formal_arglist): Reject empty type parameter lists. | |
| (gfc_match_derived_decl): Mark as PDT only if type parameter list was | |
| matched successfully. | |
| 2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/66695 | |
| PR fortran/77746 | |
| PR fortran/79485 | |
| * gfortran.h (gfc_symbol): Add bind_c component. | |
| (gfc_get_gsymbol): Add argument bind_c. | |
| * decl.c (add_global_entry): Add bind_c argument to | |
| gfc_get_symbol. | |
| * parse.c (parse_block_data): Likewise. | |
| (parse_module): Likewise. | |
| (add_global_procedure): Likewise. | |
| (add_global_program): Likewise. | |
| * resolve.c (resolve_common_blocks): Likewise. | |
| (resolve_global_procedure): Likewise. | |
| (gfc_verify_binding_labels): Likewise. | |
| * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c | |
| in gsym. | |
| * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument | |
| to gfc_get_symbol. | |
| (gfc_get_extern_function_decl): If the sym has a binding label | |
| and it cannot be found in the global symbol tabel, it is the wrong | |
| one and vice versa. | |
| 2019-03-12 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/87673 | |
| * match.c (gfc_match_type_spec): Remove call to | |
| gfc_resolve_expr for character length. | |
| 2019-03-12 Martin Liska <mliska@suse.cz> | |
| * decl.c (add_init_expr_to_sym): Replace usage of 'can't' | |
| with 'cannot'. | |
| (variable_decl): Likewise. | |
| (cray_pointer_decl): Likewise. | |
| (match_binding_attributes): Likewise. | |
| * f95-lang.c (gfc_init): Likewise. | |
| * interface.c (gfc_check_typebound_override): Likewise. | |
| * intrinsic.c (make_generic): Likewise. | |
| * module.c (dump_module): Likewise. | |
| (gfc_use_module): Likewise. | |
| * primary.c (gfc_convert_to_structure_constructor): Likewise. | |
| * resolve.c (resolve_entries): Likewise. | |
| (check_generic_tbp_ambiguity): Likewise. | |
| (get_checked_tb_operator_target): Likewise. | |
| * scanner.c (load_file): Likewise. | |
| * trans-expr.c (gfc_conv_intrinsic_to_class): Likewise. | |
| 2019-03-12 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/89363 | |
| PR fortran/89364 | |
| * trans-expr.c (set_dtype_for_unallocated): New function. | |
| (gfc_conv_gfc_desc_to_cfi_desc): Call it for allocatable and | |
| pointer arguments. | |
| (gfc_conv_procedure_call): Likewise. Also, set the ubound of | |
| the final dimension to -1 for assumed rank formal args that are | |
| associated with assumed size arrays. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_bound): Return -1 for | |
| the final dimension of assumed rank entities that are argument | |
| associated with assumed size arrays. | |
| (gfc_conv_intrinsic_shape): Likewise return -1 for the final | |
| dimension of the shape intrinsic. | |
| 2019-03-11 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/89651 | |
| * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING | |
| on decl if adding COND_EXPR for allocatable. | |
| (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest. | |
| 2019-03-11 Martin Liska <mliska@suse.cz> | |
| * decl.c (match_record_decl): Wrap an option name | |
| in a string format message and fix GNU coding style. | |
| (gfc_match_pointer): Likewise. | |
| * expr.c (find_array_section): Likewise. | |
| * intrinsic.c (gfc_is_intrinsic): Likewise. | |
| * options.c (gfc_post_options): Likewise. | |
| * primary.c (match_integer_constant): Likewise. | |
| * trans-common.c (translate_common): Likewise. | |
| 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/66089 | |
| * trans-array.c (gfc_scalar_elemental_arg_saved_as_reference): | |
| Return false if a scalar tempoary is needed. | |
| (gfc_walk_variable_expr): Fix up class refs. | |
| 2019-03-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/87734 | |
| * symbol.c (gfc_add_procedure): Only throw an error if the | |
| procedure has not been declared either PUBLIC or PRIVATE. | |
| 2019-03-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/71544 | |
| * trans-types.c (gfc_typenode_for_spec) Set ts->is_c_interop of | |
| C_PTR and C_FUNPTR. | |
| (create_fn_spec): Mark argument as escaping if ts->is_c_interop is set. | |
| 2019-03-09 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/84504 | |
| * expr.c (gfc_check_assign_symbol): Deal with procedure pointers to | |
| pointer-valued functions. | |
| 2019-03-09 Thomas König <tkoenig@gcc.gnu.org> | |
| PR fortran/71203 | |
| * decl.c (add_init_expr_to_sym): Add shape if init has none. Add | |
| asserts that it has to be an EXPR_ARRAY in this case. | |
| 2019-03-08 Jakub Jelinek <jakub@redhat.com> | |
| PR other/80058 | |
| * arith.c (gfc_complex2complex): Avoid two spaces in the middle of | |
| diagnostics. | |
| * resolve.c (resolve_allocate_expr): Likewise. | |
| 2019-03-06 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/71203 | |
| * expr.c (simplify_const_ref): Avoid null pointer dereference. | |
| 2019-03-03 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/77583 | |
| * symbol.c (check_conflict): Check for valid procedure name | |
| passed to error reporting routine. | |
| 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/72714 | |
| * resolve.c (resolve_allocate_expr): Add some tests for coarrays. | |
| 2019-03-02 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89516 | |
| * check.c (gfc_calculate_transfer_sizes): Correct checks for cases | |
| where storage size of elements of MOLD is 0. | |
| 2019-02-28 Thomas Schwinge <thomas@codesourcery.com> | |
| Cesar Philippidis <cesar@codesourcery.com> | |
| PR fortran/72741 | |
| PR fortran/89433 | |
| * openmp.c (gfc_match_oacc_routine): Handle repeated use of the | |
| Fortran OpenACC 'routine' directive. | |
| PR fortran/72741 | |
| * gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR. | |
| * openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it. | |
| * trans-decl.c (add_attributes_to_decl): Likewise. | |
| PR fortran/72741 | |
| PR fortran/89433 | |
| * openmp.c (gfc_match_oacc_routine): Accept intrinsic symbols. | |
| 2019-02-26 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89492 | |
| * check.c (gfc_calculate_transfer_sizes): Handle cases where | |
| storage size of elements of MOLD is 0. | |
| 2019-02-26 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/89496 | |
| * trans-types.c (get_formal_from_actual_arglist): If | |
| the actual arglist has no expression, the corresponding | |
| formal arglist is an alternate return. | |
| 2019-02-26 Uroš Bizjak <ubizjak@gmail.com> | |
| * invoke.texi (-ffpe-trap): Use @var for every item in the list. | |
| 2019-02-26 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/43210 | |
| * trans-array.c (gfc_conv_array_initializer): Use RANGE_EXPR instead | |
| of duplicating the initializer possibly many times. | |
| 2019-02-24 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/89174 | |
| * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Add is_mold | |
| to arguments. If we are dealing with a MOLD, call | |
| gfc_expr_to_initialize(). | |
| * trans-stmt.c (gfc_trans_allocate): For MOLD, pass is_mold=true | |
| to gfc_find_and_cut_at_last_class_ref. | |
| * trans.h (gfc_find_and_cut_at_last_class_ref): Add optional | |
| argument is_mold with default false. | |
| 2019-02-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89266 | |
| PR fortran/88326 | |
| * target-memory.c (gfc_element_size): Return false if element size | |
| cannot be determined; element size is returned separately. | |
| (gfc_target_expr_size): Return false if expression size cannot be | |
| determined; expression size is returned separately. | |
| * target-memory.h: Adjust prototypes. | |
| * check.c (gfc_calculate_transfer_sizes): Adjust references to | |
| gfc_target_expr_size, gfc_element_size. | |
| * arith.c (hollerith2representation): Likewise. | |
| * class.c (find_intrinsic_vtab): Likewise. | |
| * simplify.c (gfc_simplify_sizeof): Likewise. | |
| 2019-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/84387 | |
| * trans-io.c (transfer_expr): Do not return if there are no | |
| components to the derived type or class. | |
| 2019-02-23 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88117 | |
| * resolve.c (deferred_op_assign): Return if the lhs expression | |
| has the pointer attribute. | |
| * trans-expr.c (gfc_trans_assignment_1): Do not fix the string | |
| length if the lhs expression has the pointer attribute. | |
| 2019-02-23 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/89385 | |
| PR fortran/89366 | |
| * decl.c (gfc_verify_c_interop_param): Restriction on string | |
| length being one is lifted for F2018. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): For scalar | |
| characters with intent in, make a temporary and copy the result | |
| of the expression evaluation into it. | |
| (gfc_conv_procedure_call): Set a flag for character formal args | |
| having a character length that is not unity. If the procedure | |
| is bind C, call gfc_conv_gfc_desc_to_cfi_desc in this case. | |
| Also, extend bind C calls to unconditionally convert both | |
| pointers and allocatable expressions. | |
| 2019-02-23 David Malcolm <dmalcolm@redhat.com> | |
| Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/88074 | |
| * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use | |
| mpfr_number_p && !mpfr_zero_p instead of mpfr_regular_p. | |
| (norm2_add_squared): Likewise. Use mp_exp_t rather than mpfr_exp_t. | |
| 2019-02-22 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/83057 | |
| * io.c (gfc_match_open): Fix logic in checks of OPEN statement | |
| when NEWUNIT= is specified. | |
| 2019-02-22 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/89431 | |
| * gfortran.texi: Fix documentation to match the implementation. | |
| 2019-02-22 Thomas Schwinge <thomas@codesourcery.com> | |
| Cesar Philippidis <cesar@codesourcery.com> | |
| PR fortran/72741 | |
| * gfortran.h (oacc_routine_lop): New enum. | |
| (symbol_attribute): Use it. | |
| * openmp.c (gfc_oacc_routine_dims): Replace with... | |
| (gfc_oacc_routine_lop): ... this new function. | |
| (gfc_match_oacc_routine): Adjust. | |
| * trans-decl.c (add_attributes_to_decl): Likewise. | |
| 2019-02-22 Thomas Schwinge <thomas@codesourcery.com> | |
| * openmp.c (gfc_match_oacc_declare): Revert earlier changes. | |
| 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * dump-parse-tree.c (debug): Implement for gfc_expr *, | |
| gfc_typespec *, gfc_typespec and gfc_symbol *. | |
| 2019-02-21 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/86119 | |
| * class.c (gfc_get_len_component): Add argument k for kind. | |
| If the kind of the resulting expression is not equal to k, | |
| convert it. | |
| * gfortran.h (gfc_len_component): Adjust prototype. | |
| * simplify.c (gfc_simplify_len): Pass kind to | |
| gfc_get_len_component. | |
| 2019-02-20 Martin Liska <mliska@suse.cz> | |
| * gfortran.texi: Change singular to plural. | |
| 2019-02-20 Martin Liska <mliska@suse.cz> | |
| * gfortran.texi: Document Fortran header directive. | |
| 2019-02-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/89384 | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy | |
| argument is contiguous and the actual argument may not be, | |
| use gfc_conv_subref_array_arg. | |
| 2019-02-19 Thomas Schwinge <thomas@codesourcery.com> | |
| PR c/87924 | |
| * openmp.c (gfc_match_omp_clauses): Add representation of wait clause | |
| without argument as 'wait (GOMP_ASYNC_NOVAL)'. | |
| 2019-02-18 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/87689 | |
| * trans-decl.c (gfc_get_extern_function_decl): Add argument | |
| actual_args and pass it through to gfc_get_function_type. | |
| * trans-expr.c (conv_function_val): Add argument actual_args | |
| and pass it on to gfc_get_extern_function_decl. | |
| (conv_procedure_call): Pass actual arguments to conv_function_val. | |
| * trans-types.c (get_formal_from_actual_arglist): New function. | |
| (gfc_get_function_type): Add argument actual_args. Generate | |
| formal args from actual args if necessary. | |
| * trans-types.h (gfc_get_function_type): Add optional argument. | |
| * trans.h (gfc_get_extern_function_decl): Add optional argument. | |
| 2019-02-18 Martin Liska <mliska@suse.cz> | |
| * decl.c (gfc_match_gcc_builtin): Add support for filtering | |
| of builtin directive based on multilib ABI name. | |
| 2019-02-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/88299 | |
| * resolve.c (resolve_common_blocks,resolve_common_vars): Move | |
| check for obsolent COMMON feature in F2018 to better place. | |
| 2019-02-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89077 | |
| * decl.c (gfc_set_constant_character_len): Clear original string | |
| representation after padding has been performed to target length. | |
| 2019-02-16 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/88074 | |
| * simplify.c (simplify_transformation_to_array): Run post_op | |
| immediately after processing corresponding row, rather than at the | |
| end. | |
| (norm2_scale): New variable. | |
| (add_squared): Rename to ... | |
| (norm2_add_squared): ... this. Scale down operand and/or result | |
| if needed. | |
| (do_sqrt): Rename to ... | |
| (norm2_do_sqrt): ... this. Handle the result == e case. Scale up | |
| result and clear norm2_scale. | |
| (gfc_simplify_norm2): Clear norm2_scale. Change add_squared to | |
| norm2_add_squared and &do_sqrt to norm2_do_sqrt. Scale up result | |
| and clear norm2_scale again. | |
| 2019-02-17 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/71066 | |
| * trans-decl.c (generate_coarray_sym_init): For an array | |
| constructor in a DATA statement of a coarray variable, set the | |
| rank to 1 to avoid confusion later on. If the constructor | |
| contains only one value, use that for initiailizig. | |
| 2019-02-14 Janne Blomqvist <jb@gcc.gnu.org> | |
| PR fortran/81552 | |
| * gfortran.h (gfc_option_t): Make flag_init_integer_value a long. | |
| * options.c (gfc_handle_option): Use strtol instead of atoi. | |
| * invoke.texi: Document -finit-integer behavior in more detail. | |
| 2019-02-14 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/88248 | |
| * symbol.c: Move check for labeled DO statement from | |
| gfc_define_st_label to gfc_reference_st_label. | |
| 2019-02-14 Cesar Philippidis <cesar@codesourcery.com> | |
| PR fortran/72715 | |
| * openmp.c (resolve_oacc_nested_loops): Error on do concurrent | |
| loops. | |
| 2019-02-13 Martin Liska <mliska@suse.cz> | |
| PR fortran/88649 | |
| * resolve.c (resolve_operator): Initialize 't' right | |
| after function entry. Skip switch (e->value.op.op) | |
| for -fdec operands that become function calls. | |
| 2019-02-10 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/71723 | |
| * expr.c (gfc_check_assign): Add argument is_init_expr. If we are | |
| looking at an init expression, issue error if the target is not a | |
| TARGET and we are not looking at a procedure pointer. | |
| * gfortran.h (gfc_check_assign): Add optional argument | |
| is_init_expr. | |
| 2019-02-09 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89077 | |
| * resolve.c (gfc_resolve_substring_charlen): Check substring | |
| length for constantness prior to general calculation of length. | |
| 2019-02-09 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/89200 | |
| * trans-array.c (gfc_trans_create_temp_array): Set the 'span' | |
| field for derived types. | |
| 2019-02-04 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/89077 | |
| * decl.c (add_init_expr_to_sym): Copy length of string initializer | |
| to declared symbol. | |
| 2019-02-04 Martin Liska <mliska@suse.cz> | |
| PR fortran/89185 | |
| * resolve.c (resolve_ref): Remove breakout variable as | |
| we need to prevent prev = &(*prev)->next to happen | |
| with *prev == NULL. | |
| 2019-02-04 Martin Liska <mliska@suse.cz> | |
| PR fortran/88912 | |
| * scanner.c (load_file): Report error for -fpre-include | |
| file and do not ICE. | |
| 2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/81344 | |
| * invoke.texi: Document the behavior of repeated -ffpe-trap | |
| and -ffpe-summary. | |
| 2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/88298 | |
| * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set. | |
| * gfortran.h (gfc_expr): Add flag do_not_warn. | |
| * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if | |
| no warning is desired. | |
| 2019-02-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88393 | |
| * trans-expr.c (gfc_conv_procedure_call): For derived entities, | |
| passed in parentheses to class formals, invert the order of | |
| copying allocatable components to taking the _data of the | |
| class expression. | |
| 2019-02-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88980 | |
| * trans-array.c (gfc_array_init_size): Add element_size to the | |
| arguments. | |
| (gfc_array_allocate): Remove the recalculation of the size of | |
| the element and use element_size from the call to the above. | |
| Unconditionally set the span field of the descriptor. | |
| 2019-02-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88685 | |
| * expr.c (is_subref_array): Move the check for class pointer | |
| dummy arrays to after the reference check. If we haven't seen | |
| an array reference other than an element and a component is not | |
| class or derived, return false. | |
| 2019-02-01 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/83246 | |
| PR fortran/89084 | |
| * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs | |
| if sym->ns->construct_entities rather than if | |
| sym->ns->parent->code->op == EXEC_BLOCK. | |
| 2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/88669 | |
| * resolve.c (resolve_component): If the reference is a BT_CLASS, | |
| copy the contiguous attribute from the reference and use the | |
| correct attributes. | |
| 2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/52564 | |
| * io.c (match_io): Add check for comma after '*' without subsequent | |
| IO list. | |
| 2019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/52884 | |
| * invoke.texi: Document the promotion of double precision | |
| constants. | |
| 2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/57048 | |
| * interface.c (gfc_compare_types): If a derived type and an | |
| integer both have a derived type, and they are identical, | |
| this is a C binding type and compares equal. | |
| 2019-01-26 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/57553 | |
| * expr.c (check_inquiry): Add list of inquiry functions allowed in | |
| constant expressions for F2008+. | |
| 2019-01-25 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/85780 | |
| * decl.c (gfc_match_subroutine): Check for conflict between BIND(C) | |
| and alternative return. | |
| 2019-01-24 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/88929 | |
| * trans-array.c (gfc_conv_descriptor_elem_len): New function. | |
| * trans-array.h : Add prototype for above. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Take account of | |
| assumed rank arrays being flagged by rank = -1 in expressions. | |
| Intent in arrays need a pointer to a copy of the data to be | |
| assigned to the descriptor passed for conversion. This should | |
| then be freed, together with the CFI descriptor on return from | |
| the C call. | |
| 2019-01-22 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/88579 | |
| * trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer | |
| and (- 2**e) ** integer. | |
| 2019-01-19 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/37835 | |
| * resolve.c (resolve_types): Add !flag_automatic. | |
| * symbol.c (gfc_add_save): Silence warnings. | |
| 2019-01-19 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/77960 | |
| * io.c (match_io_element): input-item cannot be an external function. | |
| 2018-01-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/56789 | |
| * trans-expr.c (gfc_conv_procedure_call): Call | |
| gfc_conv_subref_array_arg if the formal arg is contiguous | |
| and the actual arg may not be. | |
| 2019-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/88871 | |
| * resolve.c (resolve_ref): Fix logic for removal of | |
| reference. | |
| 2019-01-19 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/88902 | |
| * trans-decl.c (gfc_get_symbol_decl): Don't add length to function | |
| or parent function if it has been added there already. | |
| 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/43136 | |
| * resolve.c (resolve_array_ref): Add equal_length argument; set it | |
| if the length of the substring equals that of the orignal | |
| variable. | |
| (resolve_ref): Remove the substring if it is equal in length to | |
| the original variable, unless it is an EXPR_SUBSTRING). | |
| 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/81849 | |
| * resolve.c (resolve_symbol): Host associated varaibles can appear | |
| in the specification statement of a RESULT array. | |
| 2019-01-15 Paul Thomas <pault@gcc.gnu.org> | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Deal with exprs | |
| that are indirect references; ie. dummy arguments. | |
| 2019-01-13 Dominique d'Humieres <dominiq@gcc.gnu.org> | |
| PR fortran/88803 | |
| * gfortran.texi: Replace @xref with @ref and adjust the sentence. | |
| 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/57992 | |
| * trans-array.c (gfc_conv_array_parameter): Do not pack/unpack | |
| functions with contiguous results. | |
| 2019-01-13 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/59345 | |
| * trans-array.c (gfc_conv_array_parameter): Remove TODO. Do not | |
| pack/unpack results of functions which return an explicit-shaped | |
| or allocatable array. | |
| 2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/61765 | |
| * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif | |
| structure into independent if's with a return to simplify logic. | |
| Avoid a check for ENTRY name with bind(c). | |
| 2019-01-12 Paul Thomas <pault@gcc.gnu.org> | |
| * gfortran.texi: Add description in sections on TS 29113 and | |
| further interoperability with C. | |
| * trans-array.c (gfc_conv_descriptor_attribute): New function. | |
| (gfc_get_dataptr_offset): Remove static function attribute. | |
| * trans-array.h: Add prototypes for above functions. | |
| * trans-decl.c: Add declarations for the library functions | |
| cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc. | |
| * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function. | |
| (gfc_conv_procedure_call): Call it for scalar and array actual | |
| arguments, when the formal arguments are bind_c with assumed | |
| shape or assumed rank. | |
| * trans.h: External declarations for gfor_fndecl_cfi_to_gfc | |
| and gfor_fndecl_gfc_to_cfi. | |
| 2019-01-11 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/35031 | |
| * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby | |
| mis-indentation. | |
| 2019-01-11 Jakub Jelinek <jakub@redhat.com> | |
| PR middle-end/85956 | |
| PR lto/88733 | |
| * trans-openmp.c: Include attribs.h. | |
| (gfc_walk_alloc_comps, gfc_omp_clause_linear_ctor): Handle | |
| VAR_DECL max bound with "omp dummy var" attribute like NULL or | |
| error_mark_node - recompute number of elts independently. | |
| 2019-01-11 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/59345 | |
| * trans-array.c (gfc_conv_parameter_array): Temporary | |
| arrays generated for expressions do not need to be repacked. | |
| 2019-01-10 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/86322 | |
| * decl.c (top_var_list): Set locus of expr. | |
| (gfc_match_data): Detect pointer on non-rightmost part-refs. | |
| 2019-01-09 Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/88376 | |
| * resolve.c (is_illegal_recursion): Remove an assert(). | |
| 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> | |
| PR other/16615 | |
| * expr.c: Change "can not" to "cannot". | |
| 2019-01-09 Sandra Loosemore <sandra@codesourcery.com> | |
| PR other/16615 | |
| * class.c: Mechanically replace "can not" with "cannot". | |
| * decl.c: Likewise. | |
| * expr.c: Likewise. | |
| * gfc-internals.texi: Likewise. | |
| * intrinsic.texi: Likewise. | |
| * invoke.texi: Likewise. | |
| * io.c: Likewise. | |
| * match.c: Likewise. | |
| * parse.c: Likewise. | |
| * primary.c: Likewise. | |
| * resolve.c: Likewise. | |
| * symbol.c: Likewise. | |
| * trans-array.c: Likewise. | |
| * trans-decl.c: Likewise. | |
| * trans-intrinsic.c: Likewise. | |
| * trans-stmt.c: Likewise. | |
| 2019-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/68426 | |
| * simplify.c (gfc_simplify_spread): Also simplify if the | |
| type of source is an EXPR_STRUCTURE. | |
| 2019-01-08 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/88047 | |
| * class.c (gfc_find_vtab): For polymorphic typespecs, the components of | |
| the class container may not be available (in case of invalid code). | |
| 2019-01-08 Richard Biener <rguenther@suse.de> | |
| PR fortran/88611 | |
| * trans-expr.c (gfc_conv_initializer): For ISOCBINDING_NULL_* | |
| directly build the expected GENERIC tree. | |
| 2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| Harald Anlauf <anlauf@gmx.de> | |
| Tobias Burnus <burnus@gcc.gnu.org> | |
| PR fortran/45424 | |
| * check.c (gfc_check_is_contiguous): New function. | |
| * expr.c (gfc_is_not_contiguous): New function. | |
| * gfortran.h (gfc_isym_id): Add GFC_ISYM_IS_CONTIGUOUS. | |
| Add prototype for gfc_is_not_contiguous. | |
| * intrinsic.c (do_ts29113_check): Add GFC_ISYM_IS_CONTIGUOUS. | |
| (add_function): Add is_contiguous. | |
| * intrinsic.h: Add prototypes for gfc_check_is_contiguous, | |
| gfc_simplify_is_contiguous and gfc_resolve_is_contiguous. | |
| * intrinsic.texi: Add IS_CONTIGUOUS. | |
| * iresolve.c (gfc_resolve_is_contiguous): New function. | |
| * simplify.c (gfc_simplify_is_contiguous): New function. | |
| * trans-decl.c (gfor_fncecl_is_contiguous0): New variable. | |
| (gfc_build_intrinsic_function_decl): Add it. | |
| * trans-intrinsic.c (gfc_conv_intrinsic_is_contiguous): New | |
| function. | |
| (gfc_conv_intrinsic_function): Handle GFC_ISYM_IS_CONTIGUOUS. | |
| 2019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/88658 | |
| * gfortran.h: Add macro gfc_real_4_kind | |
| * simplify.c (simplify_min_max): Special case for the types of | |
| AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of | |
| their arguments. | |
| 2019-01-05 Janus Weil <janus@gcc.gnu.org> | |
| PR fortran/88009 | |
| * class.c (gfc_find_derived_vtab): Mark the _final component as | |
| artificial. | |
| (find_intrinsic_vtab): Ditto. Also add an extra check to avoid | |
| dereferencing a null pointer and adjust indentation. | |
| * resolve.c (resolve_fl_variable): Add extra check to avoid | |
| dereferencing a null pointer. Move variable declarations to local scope. | |
| (resolve_fl_procedure): Add extra check to avoid dereferencing a null | |
| pointer. | |
| * symbol.c (check_conflict): Suppress errors for artificial symbols. | |
| 2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org> | |
| * parse.c (decode_statement): Suppress "Unclassifiable statement" | |
| error if previous error messages were emittes. | |
| 2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| PR fortran/82743 | |
| * primary.c (gfc_convert_to_structure_constructor): If a character | |
| in a constructor is too long, add a warning with | |
| -Wcharacter-truncation. | |
| 2019-01-01 Jakub Jelinek <jakub@redhat.com> | |
| Update copyright years. | |
| * gfortranspec.c (lang_specific_driver): Update copyright notice | |
| dates. | |
| * gfc-internals.texi: Bump @copying's copyright year. | |
| * gfortran.texi: Ditto. | |
| * intrinsic.texi: Ditto. | |
| * invoke.texi: Ditto. | |
| Copyright (C) 2019 Free Software Foundation, Inc. | |
| Copying and distribution of this file, with or without modification, | |
| are permitted in any medium without royalty provided the copyright | |
| notice and this notice are preserved. |