X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Ffortran%2FChangeLog;h=6fd97b61ce0568e709d70bdd73f0b7179230f0db;hb=ca8ecd919453664b1312e6c7d236e404731d8bb0;hp=3b5028cd0c2bce527c6a4baf03f11328f78151f0;hpb=c280838969d504e909e1f1f4e19642e91fab982f;p=gcc.git diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3b5028cd0c2..6fd97b61ce0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,781 @@ +2019-06-18 Thomas Schwinge + + PR fortran/85221 + * trans-decl.c (add_attributes_to_decl): Handle OpenACC 'declare' + directive. + +2019-06-16 Thomas Koenig + + * dump_parse_tree (debug): Add verison for formal arglist. + Do not crash when a gfc_expr is NULL. + +2019-06-15 Steven G. Kargl + + * decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived + type. + +2019-06-14 Steven G. Kargl + + * arith.c (arith_power): Rework overflow of an integer to an integer + exponent. + +2019-06-14 Harald Anlauf + + 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 + + PR fortran/89646 + * dependency.c (gfc_check_argument_var_dependency): Suppress spurious + warnings by comparing variable names. + +2019-06-13 Steven G. Kargl + + 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 + + PR fortran/89344 + * expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable + in SELECT TYPE construct. + +2019-06-13 Steven G. Kargl + + 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 + + * 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 + + * gfortran.h (gfc_free_dt_list): Remove prototype. + +2019-06-12 Steven G. Kargl + + 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 + + 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 + Tomáš Trnka + + 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 + + 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 + + * gfc-internals.texi (Translating to GENERIC): New chapter. + +2019-05-30 Marek Polacek + + * lang.opt (ftail-call-workaround): Fix a typo. + +2019-05-30 Jakub Jelinek + + * lang.opt (ftail-call-workaround=): Fix a typo - lenghts to lengths. + +2019-05-29 Thomas Koenig + + 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 + + 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 + + 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 + + * 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 + Mark Eggleston + + 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 + + PR libfortran/90038 + * intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new + wait=.false. implementation. + +2019-05-20 Mark Eggleston + + * 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 + + 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 + + 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 + + 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 + + * gfortranspec.c (append_arg): Spell out the word "argument." + +2019-05-16 Jakub Jelinek + + 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 + + * parse.c (gfc_parse_file): Remove translation string markers. + +2019-05-12 Janne Blomqvist + + * 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 + + 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 + + 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 + + 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 + + PR fortran/90290 + * match.c (gfc_match_stopcode): Check F2008 condition on stop code. + +2019-05-01 Andrew Benson + + * module.c (write_module): Initialize module_column before writing + module to ensure line break occurs at correct column. + +2019-05-01 Dominique d'Humieres + + 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 + + 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 + + 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 + + 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 + + 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 + + PR fortran/79842 + * module.c (gfc_use_module): use complete sentences. + +2019-04-11 Thomas Koenig + + 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 + + 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 + + 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 + + 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 + + PR fortran/68567 + * expr.c (gfc_reduce_init_expr): Add extra check to avoid + dereferencing a null pointer. + +2019-04-03 Dominique d'Humieres + + PR fortran/89375 + * expr.c (comp_pointer): Remove redundant condition. + +2019-03-31 Harald Anlauf + + 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 + + * dump-parse-tree.c (debug): Add for symbol_attribute *, + symbol_attribute and gfc_ref * arguments. + +2019-03-30 Paul Thomas + + 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 + + PR fortran/85537 + * expr.c (gfc_check_assign_symbol): Reject internal and dummy procedures + in procedure pointer initialization. + +2019-03-27 Paul Thomas + + 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 + + * intrinsic.texi (MINLOC): Fix typo in BACK argument documentation. + (MAXLOC): Likewise. + +2019-03-24 Thomas Koenig + + 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 + + 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 + + PR fortran/71861 + * symbol.c (check_conflict): ABSTRACT attribute conflicts with + INTRINSIC attribute. + +2019-03-18 Thomas Koenig + + PR fortran/68009 + * iresolve.c: Include trans.h. + (gfc_resolve_fe_runtine_error): Set backend_decl on + resolved_sym. + +2019-03-17 Thomas Koenig + + 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 + + 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 + + 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 + + PR fortran/60091 + * expr.c (gfc_check_pointer_assign): Correct and improve error + messages for invalid pointer assignments. + +2019-03-14 Thomas Koenig + + * gfortran.texi: Document Q edit descriptor under + "Extensions not implemented in GNU Fortran". + +2019-03-13 Harald Anlauf + + 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 + + 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 + + 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 + + PR fortran/87673 + * match.c (gfc_match_type_spec): Remove call to + gfc_resolve_expr for character length. + +2019-03-12 Martin Liska + + * 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 + + 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 + + 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 + + * 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 + + 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 + + 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 + + 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 + + PR fortran/84504 + * expr.c (gfc_check_assign_symbol): Deal with procedure pointers to + pointer-valued functions. + +2019-03-09 Thomas König + + 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 + + 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 + + PR fortran/71203 + * expr.c (simplify_const_ref): Avoid null pointer dereference. + +2019-03-03 Harald Anlauf + Steven G. Kargl + + PR fortran/77583 + * symbol.c (check_conflict): Check for valid procedure name + passed to error reporting routine. + +2019-03-03 Thomas Koenig + + PR fortran/72714 + * resolve.c (resolve_allocate_expr): Add some tests for coarrays. + +2019-03-02 Harald Anlauf + + 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 + Cesar Philippidis + + 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 + + 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 + + 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 Jakub Jelinek + + 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 + + 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 + + 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 + + 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 + + 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 PR fortran/89385