2017-08-11 Thomas Koenig * invoke.texi: Actually commit change about -Ofast. 2017-08-11 Thomas Koenig PR fortran/60355 * resolve.c (resolve_symbol): Adjust (and reformat) comment. Perform check if a BIND(C) is declared at module level regardless of whether it is typed implicitly or not. 2017-08-10 Fritz Reese * options.c (set_dec_flags): Only set legacy standards when value is not zero. 2017-08-10 Fritz Reese * options.c (set_dec_flags, gfc_post_options): Only set flag_d_lines with -fdec when not set by user. 2017-08-10 Fritz Reese * decl.c (attr_seen): New static variable. * decl.c (variable_decl): Match %FILL in STRUCTURE body. * gfortran.texi: Update documentation. 2017-08-08 Martin Liska * trans-types.c: Include header files. 2017-08-07 Thomas Koenig PR fortran/68829 PR fortran/81701 * options.c: Make -Ofast honor -fmax-stack-var-size. * invoke.texi: Document change. 2017-08-01 Thomas König PR fortran/79312 * intrisic.c (gfc_convert_type_warn): Only set typespec for empty array constructors which don't have it already. 2017-08-01 Thomas Koenig PR fortran/45435 * lang.opt (fc-prototypes): Add option. * gfortran.h (gfc_typespec): Add interop_kind to struct. (gfc_dump_c_prototypes): Add prototype. * decl.c (gfc_match_kind_spec): Copy symbol used for kind to typespec. * parse.c (gfc_parse_file): Call gfc_dump_prototypes. * dump-parse-tree.c (gfc_dump_c_prototypes): New function. (type_return): New enum. (get_c_type_name): New function. (write_decl): New function. (write_type): New function. (write_variable): New function. (write_proc): New function. (write_interop_decl): New function. * invoke.texi: Document -fc-prototypes. 2017-08-01 Dominique d'Humieres PR fortran/53542 * expr.c (gfc_check_init_expr): Use the renamed name. 2017-07-31 Jakub Jelinek * check.c (gfc_check_num_images): Fix a pasto. 2017-07-29 Jakub Jelinek * trans-decl.c (gfc_trans_use_stmts): Pass false as new argument to the imported_module_or_decl debug hook. 2017-07-28 Trevor Saunders * resolve.c (find_reachable_labels): Adjust. 2017-07-25 Jakub Jelinek * ioparm.def: Use 1U << 31 instead of 1 << 31 as flags2 mask. 2017-07-24 Thomas Koenig * dump-parse-tree.c (show_symbol): Show binding label if present. 2017-07-24 Thomas Koenig Mikael Morin PR fortran/66102 * fortran/trans-array.c (gfc_conv_resolve_dependencies): Break if dependency has been found. 2017-07-23 Alexander Monakov * interface.c (pair_cmp): Fix gfc_symbol comparison. Adjust comment. 2017-07-18 Nathan Sidwell * trans.c (gfc_build_array_ref): Use TYPE_MAX_VALUE. 2017-07-09 Dominique d'Humieres PR fortran/81341 * class.c (class_array_ref_detected): Remove a redundant condition. 2017-07-06 Harald Anlauf PR fortran/70071 * array.c (gfc_ref_dimen_size): Handle bad subscript triplets. 2017-07-03 Dominique d'Humieres PR fortran/79866 * resolve.c (resolve_symbol): Fix typo. 2017-07-03 Dominique d'Humieres PR fortran/79843 * symbol.c (check_conflict): Add missing "conflicts". 2017-06-29 Cesar Philippidis PR fortran/77765 * openmp.c (gfc_match_oacc_routine): Check if proc_name exist before comparing the routine name against it. 2017-06-27 Jerry DeLisle PR fortran/80164 * trans-stmt.c (gfc_trans_call): If no code expr, use code->loc as warning/error locus. 2017-06-24 Jerry DeLisle PR fortran/81160 * arith.c (wprecision_int_real): Set return value before mpz_clear and then return after it. 2017-06-15 Janus Weil PR fortran/80983 * trans-expr.c (gfc_conv_procedure_call): Deallocate the result of scalar allocatable procedure-pointer components. 2017-06-10 Thomas Koenig PR fortran/80988 * frontend-passes.c (traverse_io_block): Also check for variables occurring as indices multiple time in a single implied DO loop. 2017-06-05 Janus Weil PR fortran/70601 * trans-expr.c (gfc_conv_procedure_call): Fix detection of allocatable function results. 2017-06-05 Nicolas Koenig PR fortran/35339 * frontend-passes.c (traverse_io_block): New function. (simplify_io_impl_do): New function. (optimize_namespace): Invoke gfc_code_walker with simplify_io_impl_do. 2017-06-02 Jakub Jelinek PR fortran/80918 * openmp.c (resolve_omp_clauses): Fix a typo. 2017-05-30 David Malcolm * error.c (gfc_format_decoder): Update for new bool and const char ** params. 2017-05-29 Thomas Koenig PR fortran/37131 * frontend-passes.c (check_conjg_transpose_variable): Add prototype. (has_dimen_vector_ref): Likewise (matmul_temp_args): New function. Add prototype. (optimize_namespace): Call matmul_temp_args. 2017-05-28 Thomas Koenig * frontend-passes.c (matmul_lhs_realloc): Correct allocation size for case A1B2. 2017-05-25 Thomas Koenig * dump-parse-tree.c (show_expr): Also replace with dumpfile for showing values for forgotten case. 2017-05-24 Thomas Koenig * dump-parse-tree.c (show_expr): Replace stdout with dumpfile for showing values. 2017-05-24 Thomas Koenig PR fortran/66094 * frontend-passes.c (matrix_case): Add A2TB2. (inline_limit_check): Handle MATMUL(TRANSPOSE(A),B) (inline_matmul_assign): Likewise. 2017-05-23 Thomas Schwinge * openmp.c (OACC_KERNELS_CLAUSES): Add "OMP_CLAUSE_NUM_GANGS", "OMP_CLAUSE_NUM_WORKERS", "OMP_CLAUSE_VECTOR_LENGTH". 2017-05-22 Janus Weil PR fortran/80766 * resolve.c (resolve_fl_derived): Make sure that vtype symbols are properly resolved. 2017-05-19 Paul Thomas PR fortran/80333 * trans-io.c (nml_get_addr_expr): If we are dealing with class type data set tmp tree to get that address. (transfer_namelist_element): Set the array spec to point to the the class data. 2017-05-19 David Malcolm PR fortran/79852 * bbt.c (insert): Remove trailing exclamation mark from message. * decl.c (gfc_match_final_decl): Likewise. * dump-parse-tree.c (show_expr): Likewise. * module.c (gfc_use_module): Likewise. * primary.c (build_actual_constructor): Likewise. (gfc_convert_to_structure_constructor): Likewise. 2017-05-19 Thomas Schwinge * gfortran.h (enum gfc_omp_default_sharing): Add "OMP_DEFAULT_PRESENT". * dump-parse-tree.c (show_omp_clauses): Handle it. * openmp.c (gfc_match_omp_clauses): Likewise. * trans-openmp.c (gfc_trans_omp_clauses): Likewise. 2017-05-18 Fritz Reese PR fortran/79968 * decl.c (match_attr_spec, gfc_match_automatic, gfc_match_static, gfc_match_structure_decl): Unify diagnostic errors regarding -fdec options. * io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto. 2017-05-17 Jerry DeLisle PR fortran/80741 * trans-io.c (transfer_namelist_element): Change check from NULL_TREE to null_pointer_node. 2017-05-17 Fritz Reese PR fortran/80668 * expr.c (component_initializer): Don't generate initializers for pointer components. * invoke.texi (-finit-derived): Document. 2017-05-16 Paul Thomas PR fortran/80554 * decl.c (build_sym): In a submodule allow overriding of host associated symbols from the ancestor module with a new declaration. 2017-05-15 Steven G. Kargl PR fortran/80674 * trans-stmt.c (gfc_trans_integer_select): Remove redundant condition. 2017-05-15 Steven G. Kargl PR fortran/80752 * expr.c (gfc_generate_initializer): If type conversion fails, check for error and return NULL. 2017-05-14 Nicolas Koenig PR fortran/80442 * array.c (gfc_ref_dimen_size): Simplify stride expression * data.c (gfc_advance_section): Simplify start, end and stride expressions (gfc_advance_section): Simplify start and end expressions (gfc_get_section_index): Simplify start expression 2017-05-13 Jerry DeLisle * io.c (gfc_resolve_dt): Fix returns to bool type. 2017-05-11 Jerry DeLisle PR fortran/78659 * io.c (dtio_procs_present): Add new function to check for DTIO procedures relative to I/O statement READ or WRITE. (gfc_resolve_dt): Add namelist checks using the new function. * resolve.c (dtio_procs_present): Remove function and related namelist checks. (resolve_fl_namelist): Add check specific to Fortran 95 restriction on namelist objects. 2017-05-11 Nathan Sidwell * trans-decl.c: Include dumpfile.h not tree-dump.h, 2017-05-09 Janus Weil PR fortran/79311 * resolve.c (gfc_resolve_finalizers): Ensure that derived-type components have a their finalizers resolved, also if the superordinate type itself has a finalizer. 2017-05-08 Thomas Koenig PR fortran/79930 * frontend-passes.c (matmul_to_var_expr): New function, add prototype. (matmul_to_var_code): Likewise. (optimize_namespace): Use them from gfc_code_walker. 2017-05-05 David Malcolm * cpp.c (cb_cpp_error): Replace report_diagnostic with diagnostic_report_diagnostic. * error.c (gfc_warning): Likewise. (gfc_warning_now_at): Likewise. (gfc_warning_now): Likewise. (gfc_warning_internal): Likewise. (gfc_error_now): Likewise. (gfc_fatal_error): Likewise. (gfc_error_opt): Likewise. (gfc_internal_error): Likewise. 2017-05-01 Thomas Koenig PR fortran/37131 * frontend-passes.c (inline_matmul_assign): Also check bounds for allocatable lhs and matrix-vector-multiplication. 2017-04-23 Jerry DeLisle PR fortran/80484 * io.c (format_lex): Check for '/' and set token to FMT_SLASH. (check_format): Move FMT_DT checking code to data_desc section. * module.c (gfc_match_use): Include the case of INTERFACE_DTIO. 2017-04-22 Janus Weil PR fortran/80121 * trans-types.c (gfc_conv_procedure_call): Deallocate the components of allocatable intent(out) arguments. 2017-04-21 Janus Weil PR fortran/80392 * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when building a derived type that includes a procedure pointer component with a polymorphic result. 2017-04-17 Paul Thomas PR fortran/80440 * module.c (find_symtree_for_symbol): Delete. (read_module): Remove the call to the above. 2017-04-14 Janus Weil PR fortran/80361 * class.c (generate_finalization_wrapper): Give the finalization wrapper the recursive attribute. 2017-04-10 Nicolas Koenig Paul Thomas PR fortran/69498 * module.c (gfc_match_submodule): Add error if function is called in the wrong state. 2017-04-10 Janus Weil PR fortran/80046 * expr.c (gfc_check_pointer_assign): Check if procedure pointer components in a pointer assignment need an explicit interface. 2017-03-18 Nicolas Koenig PR fortran/69498 * symbol.c (gfc_delete_symtree): If there is a period in the name, ignore everything before it. 2017-03-28 Janus Weil PR fortran/78661 * trans-io.c (transfer_namelist_element): Perform a polymorphic call to a DTIO procedure if necessary. 2017-03-25 Paul Thomas PR fortran/80156 PR fortran/79382 * decl.c (access_attr_decl): Remove the error for an absent generic DTIO interface and ensure that symbol has the flavor FL_PROCEDURE. 2017-03-22 Dominique d'Humieres PR fortran/79838 * module.c: Remove trailing period. 2017-03-22 Dominique d'Humieres PR fortran/79602 * decl.c: Replace '%s' with %qs. * expr.c: Likewise. * interface.c: Likewise. * match.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. PR fortran/79844 PR fortran/80011 * io.c: Remove trailing spaces. * match.c: Likewise. * openmp.c: Likewise. * resolve.c: Likewise. * trans-intrinsic.c: Likewise. PR fortran/79853 * expr.c: Remove a double spaces. PR fortran/79859 * primary.c: Remove spurious quotes around %qs. 2017-03-22 Thomas Koenig PR fortran/80142 * frontend-passes.c (combine_array_constructor): Take location of new expression from constructor expression instead of constructor. 2017-03-20 Nicolas Koenig PR fortran/39239 * symbol.c (check_conflict): Report an error if an EQUIVALENCE object is BIND(C) 2017-03-18 Nicolas Koenig PR fortran/69498 * decl.c (add_hidden_procptr_result): Fixed Refs count of the created "ppr@" symbol. 2017-03-18 Paul Thomas PR fortran/79676 * module.c (mio_symbol_attribute): Remove reset of the flag 'no_module_procedures'. (check_for_module_procedures): New function. Move declaration of 'no_module_procedures' to above it. (gfc_dump_module): Traverse namespace calling new function. 2017-03-18 Paul Thomas PR fortran/71838 * symbol.c (check_conflict): A dummy procedure in a submodule, module procedure is not an error. (gfc_add_flavor): Ditto. 2017-03-17 Jerry DeLisle PR fortran/79841 * openmp.c (check_symbol_not_pointer): Adjust diagnostics. 2017-03-16 Jakub Jelinek PR fortran/80010 * parse.c (gfc_ascii_statement): Use !$ACC for ST_OACC_ATOMIC and ST_OACC_END_ATOMIC, instead of !ACC. * trans-decl.c (finish_oacc_declare): Use !$ACC instead of $!ACC. * openmp.c (gfc_match_oacc_declare, gfc_match_oacc_wait, gfc_resolve_oacc_declare): Likewise. PR fortran/79886 * error.c (gfc_format_decoder): Rename plus argument to set_locus, remove ATTRIBUTE_UNUSED from all arguments, call default_tree_printer if not a Fortran specific spec. * trans-io.c: Include options.h. (gfc_build_st_parameter): Temporarily disable -Wpadded around layout of artificial IO data structures. 2017-03-15 David Malcolm PR fortran/79860 * resolve.c (resolve_contained_fntype): Make error messages more amenable to translation. 2017-03-06 Richard Biener PR fortran/79894 * trans.c (gfc_add_modify_loc): Weaken assert. 2017-03-05 Andre Vehreschild , Alessandro Fanfarillo * check.c (positive_check): Add new function checking constant for being greater then zero. (gfc_check_image_status): Add checking of image_status arguments. (gfc_check_failed_or_stopped_images): Same but for failed_- and stopped_images function. * dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE. * gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST. (enum gfc_isym_id): Added new intrinsic symbols. (enum gfc_exec_op): Added EXEC_FAIL_IMAGE. * gfortran.texi: Added description for the new API functions. Updated coverage of gfortran of TS18508. * intrinsic.c (add_functions): Added symbols to resolve new intrinsic functions. * intrinsic.h: Added prototypes. * iresolve.c (gfc_resolve_failed_images): Resolve the failed_images intrinsic. (gfc_resolve_image_status): Same for image_status. (gfc_resolve_stopped_images): Same for stopped_images. * libgfortran.h: Added prototypes. * match.c (gfc_match_if): Added matching of FAIL IMAGE statement. (gfc_match_fail_image): Match a FAIL IMAGE statement. * match.h: Added prototype. * parse.c (decode_statement): Added matching for FAIL IMAGE. (next_statement): Same. (gfc_ascii_statement): Same. * resolve.c: Same. * simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY= single a constant result can be returne.d (gfc_simplify_image_status): For COARRAY=single the result is constant. * st.c (gfc_free_statement): Added FAIL_IMAGE handling. * trans-decl.c (gfc_build_builtin_function_decls): Added decls of the new intrinsics. * trans-expr.c (gfc_conv_procedure_call): This is first time all arguments of a function are optional, which is now handled here correctly. * trans-intrinsic.c (conv_intrinsic_image_status): Translate image_status. (gfc_conv_intrinsic_function): Add support for image_status. (gfc_is_intrinsic_libcall): Add support for the remaining new intrinsics. * trans-stmt.c (gfc_trans_fail_image): Trans a fail image. * trans-stmt.h: Add the prototype for the above. * trans.c (trans_code): Dispatch for fail_image. * trans.h: Add the trees for the new intrinsics. 2017-03-03 Jerry DeLisle PR fortran/79841 * openmp.c (check_symbol_not_pointer): Adjust diagnostic. 2017-02-28 Paul Thomas PR fortran/79739 * resolve.c (resolve_fl_procedure): Deal with the case where 'submodule_name' is NULL so that gfc_error does not ICE. Reformat the error message to make it more consistent. 2017-02-28 Jakub Jelinek * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". * scanner.c (gfc_next_char_literal): Likewise. * match.c (match_exit_cycle): Likewise. 2017-02-26 Thomas Koenig PR fortran/51119 * options.c (gfc_post_options): Set default limit for matmul inlining to 30. * invoke.texi: Document change. 2017-02-25 Dominique d'Humieres PR fortran/79601 * interface.c (check_dtio_arg_TKR_intent): Change 'intent' to 'INTENT'. 2017-02-25 Dominique d'Humieres PR fortran/79597 * interface.c (gfc_match_end_interface): Remove spurious comma and space, replace 'got %s' with 'got %qs'. 2017-02-20 Paul Thomas PR fortran/79599 * interface.c (check_dtio_arg_TKR_intent): Supply 'must' missing from error message. 2017-02-20 Paul Thomas PR fortran/79523 * interface.c (gfc_find_typebound_dtio_proc): Guard test for flavor attribute by checking that symbol is resolved. 2017-02-16 Paul Thomas PR fortran/79382 * decl.c (access_attr_decl): Test for presence of generic DTIO interface and emit error if not present. 2017-02-20 Paul Thomas PR fortran/79434 * parse.c (check_component, parse_union): Whitespace. (set_syms_host_assoc): For a derived type, check if the module in which it was declared is one of the submodule ancestors. If it is, make the components public. Otherwise, reset attribute 'host_assoc' and set 'use-assoc' so that encapsulation is preserved. 2017-02-19 Paul Thomas PR fortran/79447 * decl.c (gfc_set_constant_character_len): Whitespace. (gfc_match_end): Catch case where a procedure is contained in a module procedure and ensure that 'end procedure' is the correct termination. 2017-02-19 Paul Thomas PR fortran/79402 * resolve.c (fixup_unique_dummy): New function. (gfc_resolve_expr): Call it for dummy variables with a unique symtree name. 2017-02-19 Andre Vehreschild PR fortran/79229 * trans-expr.c (gfc_trans_assignment_1): Deref indirect refs when compiling with -fcheck=mem to check the pointer and not the data. 2017-02-19 Andre Vehreschild PR fortran/79335 * trans-array.c (duplicate_allocatable_coarray): Ensure attributes passed are properly initialized. (structure_alloc_comps): Same. * trans-expr.c (gfc_trans_structure_assign): Same. 2017-02-13 Jakub Jelinek * trans-expr.c (gfc_conv_substring): Add missing space in diagnostics. 2017-02-12 Thomas Koenig PR fortran/65542 * intrinsic.c (gfc_intrinsic_func_interface): Return an error for -std=f95 for disallowed transformational functions in initialization expressions. 2017-02-09 Cesar Philippidis Joseph Myers * openmp.c (resolve_omp_clauses): Error on directives containing both tile and collapse clauses. (resolve_oacc_loop_blocks): Represent '*' tile arguments as zero. * trans-openmp.c (gfc_trans_omp_do): Lower tiled loops like collapsed loops. 2017-02-07 Steven G. Kargl * trans-types.c (gfc_get_int_kind_from_width_isofortranen): Choose REAL type with the widest precision if two (or more) have the same storage size. 2017-02-05 Andre Vehreschild PR fortran/79344 * trans-stmt.c (gfc_trans_allocate): Only deallocate the components of the temporary, when a new object was created for the temporary. Not when it is just an alias to an existing object. 2017-02-05 Andre Vehreschild PR fortran/79335 * trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's attributes before using them. 2017-02-05 Andre Vehreschild PR fortran/78958 * trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len component of unlimited polymorphic objects when source-allocating. 2017-02-05 Andre Vehreschild PR fortran/79230 * trans-array.c (structure_alloc_comps): Ignore pointer components when freeing structures. 2017-01-25 Maxim Ostapenko PR lto/79061 * f95-lang.c (gfc_create_decls): Include stringpool.h. Pass main_input_filename to build_translation_unit_decl. 2017-01-23 Thomas Koenig * arith.c (arith_power): If simplifying integer power expression to zero, warn if -Winteger-division is given. 2017-01-22 Jakub Jelinek PR fortran/79154 * parse.c (matchs, matcho, matchds, matchdo): Replace return st; with { ret = st; goto finish; }. (decode_omp_directive): Allow declare simd, declare target and simd directives in PURE/ELEMENTAL procedures. Only call gfc_unset_implicit_pure on successful match of other procedures. 2017-01-21 Gerald Pfeifer * gfc-internals.texi (Symbol Versioning): Change references to www.akkadia.org to https. 2017-01-21 Jakub Jelinek * gfortran.h (gfc_extract_int): Change return type to bool. Add int argument with = 0. * decl.c (gfc_match_kind_spec): Adjust gfc_extract_int caller, pass 1 as new last argument to it, don't emit gfc_error. (match_char_kind): Likewise. (gfc_match_decl_type_spec): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). (gfc_match_derived_decl, match_binding_attributes): Likewise. (gfc_match_structure_decl): Don't sprintf back to name, call get_struct_decl directly with gfc_dt_upper_string (name) result. * trans-stmt.c (gfc_trans_allocate): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). * module.c (gfc_dt_lower_string, gfc_dt_upper_string, gfc_match_use, gfc_match_submodule, find_true_name, mio_pool_string, mio_symtree_ref, mio_expr, mio_omp_udr_expr, load_generic_interfaces, load_omp_udrs, load_needed, read_module, dump_module, create_intrinsic_function, import_iso_c_binding_module, create_int_parameter, create_int_parameter_array, create_derived_type, use_iso_fortran_env_module): Likewise. * error.c (gfc_diagnostic_starter, gfc_diagnostic_start_span): Use pp_verbatim (context->printer, "%s", x) instead of pp_verbatim (context->printer, x). * match.c (gfc_match_small_int): Adjust gfc_extract_int caller, pass 1 as new last argument to it, don't emit gfc_error. (gfc_match_small_int_expr): Likewise. * iresolve.c (gfc_get_string): Optimize format "%s" case. (resolve_bound): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). (resolve_transformational): Formatting fix. (gfc_resolve_char_achar): Change name argument to bool is_achar, use a single format string and if is_achar add "a" before "char". (gfc_resolve_achar, gfc_resolve_char): Adjust callers. * expr.c (gfc_extract_int): Change return type to bool, return true if some error occurred. Add REPORT_ERROR argument, if non-zero call either gfc_error or gfc_error_now depending on its sign. * arith.c (arith_power): Adjust gfc_extract_int caller. * symbol.c (gfc_add_component): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). (gfc_new_symtree, gfc_delete_symtree, gfc_get_uop, gfc_new_symbol, gfc_get_gsymbol, generate_isocbinding_symbol): Likewise. * openmp.c (gfc_match_omp_clauses): Adjust gfc_extract_int caller, pass -1 as new last argument to it, don't emit gfc_error_now. (gfc_match_omp_declare_reduction): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). * check.c (kind_check): Adjust gfc_extract_int caller. * intrinsic.c (add_sym, find_sym, make_alias): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). * simplify.c (get_kind, gfc_simplify_btest, gfc_simplify_maskr, gfc_simplify_maskl, gfc_simplify_poppar, gfc_simplify_repeat, gfc_simplify_selected_int_kind, gfc_simplify_selected_real_kind): Adjust gfc_extract_int callers. * trans-decl.c (gfc_find_module): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). * matchexp.c (expression_syntax): Add const. * primary.c (match_kind_param, match_hollerith_constant, match_string_constant): Adjust gfc_extract_int callers. (match_keyword_arg): Use gfc_get_string ("%s", x) instead of gfc_get_string (x). * frontend-passes.c (optimize_minmaxloc): Likewise. 2017-01-19 Andre Vehreschild PR fortran/70696 * trans-decl.c (gfc_build_qualified_array): Add static decl to parent function only, when the decl-context is not the translation unit. 2017-01-18 Louis Krupp PR fortran/50069 PR fortran/55086 * trans-expr.c (gfc_conv_variable): Don't treat temporary variables as function arguments. * trans-stmt.c (forall_make_variable_temp, generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp, gfc_trans_forall_1): Don't adjust offset of forall temporary for array sections, make forall temporaries work for substring expressions, improve test coverage by adding -ftest-forall-temp option to request usage of temporary array in forall code. * lang.opt: Add -ftest-forall-temp option. * invoke.texi: Add -ftest-forall-temp option. 2017-01-18 Andre Vehreschild * primary.c (caf_variable_attr): Improve figuring whether the current component is the last one refed. * trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls when allocating pointer or allocatable components. 2017-01-18 Andre Vehreschild * gfortran.texi: Add missing parameters to caf-API functions. Correct typos and clarify some descriptions. 2017-01-18 Andre Vehreschild PR fortran/70696 Missed some cases, here they are: * trans-decl.c (gfc_build_qualified_array): Add static tokens to the parent function's scope. * trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code. Remove unnecessary assert. 2017-01-13 Andre Vehreschild PR fortran/70697 * resolve.c (resolve_lock_unlock_event): Resolve the expression for event's until_count. 2017-01-13 Andre Vehreschild PR fortran/70696 * trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl is valid before accessing it. 2017-01-09 Jakub Jelinek PR translation/79019 PR translation/79020 * decl.c (attr_decl1): Fix spelling in translatable string. * intrinsic.texi: Fix spelling - invokation -> invocation. * lang.opt (faggressive-function-elimination, gfc_convert): Fix typos in descriptions. * openmp.c (resolve_omp_clauses): Add missing whitespace to translatable strings. 2017-01-08 Martin Sebor PR tree-optimization/78913 PR middle-end/77708 * trans-common.c (build_equiv_decl): Increase buffer size to avoid truncation for any argument. * trans-types.c (gfc_build_logical_type): Same. 2017-01-07 Andre Vehreschild PR fortran/78781 PR fortran/78935 * expr.c (gfc_check_pointer_assign): Return the same error message for rewritten coarray pointer assignments like for plain ones. * gfortran.h: Change prototype. * primary.c (caf_variable_attr): Set attributes used ones only only ones. Add setting of pointer_comp attribute. (gfc_caf_attr): Add setting of pointer_comp attribute. * trans-array.c (gfc_array_allocate): Add flag that the component to allocate is not an ultimate coarray component. Add allocation of pointer arrays. (structure_alloc_comps): Extend nullify to treat pointer components in coarrays correctly. Restructure nullify to remove redundant code. (gfc_nullify_alloc_comp): Allow setting caf_mode flags. * trans-array.h: Change prototype of gfc_nullify_alloc_comp (). * trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for derived type coarrays with pointer components. * trans-expr.c (gfc_trans_structure_assign): Also treat pointer components. (trans_caf_token_assign): Handle assignment of token of scalar pointer components. (gfc_trans_pointer_assignment): Call above routine. * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer components. (gfc_conv_intrinsic_caf_get): Likewise. (conv_caf_send): Likewise. * trans-stmt.c (gfc_trans_allocate): After allocating a derived type in a coarray pre-register the tokens. (gfc_trans_deallocate): Simply determining the coarray type (scalar or array) and deregistering it correctly. * trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the actual codim to allow lookup of array types in the cache. (gfc_build_array_type): Likewise. (gfc_get_array_descriptor_base): Likewise. (gfc_get_array_type_bounds): Likewise. (gfc_get_derived_type): Likewise. * trans-types.h: Likewise. * trans.c (gfc_deallocate_with_status): Enable deregistering of all kind of coarray components. (gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode instead of caf_deregister. 2017-01-06 Jakub Jelinek * simplify.c (simplify_transformation_to_array): Use GCC_DIAGNOSTIC_PUSH_IGNORED and GCC_DIAGNOSTIC_POP instead of #pragma GCC diagnostic {push,ignored,pop}. 2017-01-06 Alexandre Oliva * simplify.c (simplify_transformation_to_array): Silence array bounds warning. Fix whitespace. 2017-01-04 Alexandre Oliva * module.c (load_omp_udrs): Initialize name. 2017-01-02 Janne Blomqvist PR fortran/78534 * trans-expr.c (gfc_trans_string_copy): Rework string copy algorithm to avoid -Wstringop-overflow warning. 2017-01-01 Jakub Jelinek 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) 2017 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.