| 2020-12-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/97612 |
| * primary.c (build_actual_constructor): Missing allocatable |
| components are set unallocated using EXPR_NULL. Then missing |
| components are tested for a default initializer. |
| |
| 2020-12-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93833 |
| * trans-array.c (get_array_ctor_var_strlen): If the character |
| length backend_decl cannot be found, convert the expression and |
| use the string length. Clear up some minor white space issues |
| in the rest of the file. |
| |
| 2020-12-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/97694 |
| PR fortran/97723 |
| * check.c (allocatable_check): Select rank temporaries are |
| permitted even though they are treated as associate variables. |
| * resolve.c (gfc_resolve_code): Break on select rank as well as |
| select type so that the block os resolved. |
| * trans-stmt.c (trans_associate_var): Class associate variables |
| that are optional dummies must use the backend_decl. |
| |
| 2020-12-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98022 |
| * data.c (gfc_assign_data_value): Throw an error for inquiry |
| references. Follow with corrected code that would provide the |
| expected result and provides clean error recovery. |
| |
| 2020-12-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/83118 |
| * trans-array.c (gfc_alloc_allocatable_for_assignment): Make |
| sure that class expressions are captured for dummy arguments by |
| use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is |
| used. |
| * trans-expr.c (gfc_get_class_from_gfc_expr): New function. |
| (gfc_get_class_from_expr): If a constant expression is |
| encountered, return NULL_TREE; |
| (gfc_trans_assignment_1): Deallocate rhs allocatable components |
| after passing derived type function results to class lhs. |
| * trans.h : Add prototype for gfc_get_class_from_gfc_expr. |
| |
| 2020-12-25 Harald Anlauf <anlauf@gmx.de> |
| |
| * data.c (gfc_assign_data_value): Restrict use of |
| create_character_initializer to constant initializers. |
| * trans-expr.c (gfc_conv_initializer): Ensure that character |
| initializer is constant, otherwise fall through to get the same |
| error handling as for non-character cases. |
| |
| 2020-12-20 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL |
| on variables. |
| |
| 2020-12-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/83118 |
| PR fortran/96012 |
| * resolve.c (resolve_ordinary_assign): Generate a vtable if |
| necessary for scalar non-polymorphic rhs's to unlimited lhs's. |
| * trans-array.c (get_class_info_from_ss): New function. |
| (gfc_trans_allocate_array_storage): Defer obtaining class |
| element type until all sources of class exprs are tried. Use |
| class API rather than TREE_OPERAND. Look for class expressions |
| in ss->info by calling get_class_info_from_ss. After, obtain |
| the element size for class descriptors. Where the element type |
| is unknown, cast the data as character(len=size) to overcome |
| unlimited polymorphic problems. |
| (gfc_conv_ss_descriptor): Do not fix class variable refs. |
| (build_class_array_ref, structure_alloc_comps): Replace code |
| replicating the new function gfc_resize_class_size_with_len. |
| (gfc_alloc_allocatable_for_assignment): Obtain element size |
| for lhs in cases of deferred characters and class enitities. |
| Move code for the element size of rhs to start of block. Clean |
| up extraction of class parameters throughout this function. |
| After the shape check test whether or not the lhs and rhs |
| element sizes are the same. Use earlier evaluation of |
| 'cond_null'. Reallocation of lhs only to happen if size changes |
| or element size changes. |
| * trans-expr.c (gfc_resize_class_size_with_len): New function. |
| (gfc_get_class_from_expr): If a constant expression is |
| encountered, return NULL_TREE; |
| (trans_scalar_class_assign): New function. |
| (gfc_conv_procedure_call): Ensure the vtable is present for |
| passing a non-class actual to an unlimited formal. |
| (trans_class_vptr_len_assignment): For expressions of type |
| BT_CLASS, extract the class expression if necessary. Use a |
| statement block outside the loop body. Ensure that 'rhs' is |
| of the correct type. Obtain rhs vptr in all circumstances. |
| (gfc_trans_scalar_assign): Call trans_scalar_class_assign to |
| make maximum use of the vptr copy in place of assignment. |
| (trans_class_assignment): Actually do reallocation if needed. |
| (gfc_trans_assignment_1): Simplify some of the logic with |
| 'realloc_flag'. Set 'vptr_copy' for all array assignments to |
| unlimited polymorphic lhs. |
| * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_ |
| with_len to correct span for unlimited polymorphic decls. |
| * trans.h : Add prototype for gfc_resize_class_size_with_len. |
| |
| 2020-12-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/92587 |
| * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ... |
| * resolve.c (gfc_resolve_code): ... to here. |
| |
| 2020-12-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98307 |
| * trans-stmt.c (check_forall_dependencies): Extend dependency |
| check to allocatable components of derived types. |
| |
| 2020-12-16 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98284 |
| * resolve.c (check_data_variable): Reject DATA elements with the |
| ALLOCATABLE attribute. |
| |
| 2020-12-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/90207 |
| * invoke.texi: Document -fdebug-aux-vars. |
| * lang.opt: Add -fdebug-aux-vars. |
| * trans.c (MAX_PREFIX_LEN): New macro. |
| (create_var_debug_raw): New function. |
| (gfc_create_var_np): Call create_var_debug_raw if |
| flag_debug_aux_vars is set. |
| |
| 2020-12-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * dump-parse-tree.c (show_array_ref): Also show coarrays. |
| (debug): Implement for array reference. |
| |
| 2020-12-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98022 |
| * data.c (gfc_assign_data_value): Handle inquiry references in |
| the data statement object list. |
| |
| 2020-12-08 Tobias Burnus <tobias@codesourcery.com> |
| |
| * dump-parse-tree.c (show_omp_clauses, show_omp_node, |
| show_code_node): Handle OMP SCAN. |
| * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN. |
| (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX. |
| (enum gfc_exec_op): Add EXEC_OMP_SCAN. |
| * match.h (gfc_match_omp_scan): New prototype. |
| * openmp.c (gfc_match_omp_scan): New. |
| (gfc_match_omp_taskgroup): Cleanup. |
| (resolve_omp_clauses, gfc_resolve_omp_do_blocks, |
| omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'. |
| * parse.c (decode_omp_directive, next_statement, |
| gfc_ascii_statement): Likewise. |
| * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN. |
| * st.c (gfc_free_statement): Likewise. |
| * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do, |
| gfc_split_omp_clauses): Handle 'omp scan'. |
| |
| 2020-12-05 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98016 |
| * resolve.c (resolve_symbol): Set formal_arg_flag before |
| resolving an array spec and restore value afterwards. |
| |
| 2020-12-03 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95342 |
| * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference. |
| (gfc_match_subroutine): Likewise. |
| |
| 2020-11-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/98011 |
| * scanner.c (skip_free_comments, skip_fixed_comments): If only |
| -fopenacc but not -fopenmp is used, ignore OpenMP's conditional |
| compilation sentinels. Fix indentation, use 'else if' for readability. |
| |
| 2020-11-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/98010 |
| PR fortran/98013 |
| * options.c (gfc_post_options): Also imply recursive with |
| -fopenacc. |
| * trans-decl.c (gfc_generate_function_code): Simplify condition. |
| |
| 2020-11-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'. |
| |
| 2020-11-29 Harald Anlauf <anlauf@gmx.de> |
| |
| * expr.c (simplify_parameter_variable): Fix up character length |
| after copying an array-valued expression. |
| |
| 2020-11-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/97454 |
| * trans-decl.c (gfc_get_extern_function_decl): Add argument |
| fnspec. |
| * trans-intrinsic.c (MAX_SPEC_ARG): Define. |
| (intrinsic_fnspec): New function. |
| (ADD_CHAR): Define. |
| (specific_intrinsic_symbol): Adjust comment. Pass |
| fn spec to gfc_get_extern_function_decl. |
| (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT |
| and SUM intrnisic. Add FIXME for cshift et al. |
| * trans-types.c (gfc_get_function_type): Add fnspec argument, |
| handle it. |
| * trans-types.h (gfc_get_function_type): Add optinal fnspec |
| argument. |
| * trans.h (gfc_get_extern_function_decl): Likewise. |
| |
| 2020-11-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/85796 |
| * resolve.c (traverse_data_list): Fix copy&paste errors; catch |
| step=0 in implied do loop. |
| |
| 2020-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/97911 |
| * Make-lang.in (fortran.serial): Change from goal to a variable. |
| (.PHONY): Drop fortran.serial and fortran.prev. |
| (f951$(exeext)): Depend on $(fortran.serial) rather than |
| fortran.serial. |
| |
| 2020-11-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * Make-lang.in (fortran.serial): New goal. |
| (.PHONY): Add fortran.serial fortran.prev. |
| (f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS. |
| |
| 2020-11-17 Harald Anlauf <anlauf@gmx.de> |
| |
| * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual |
| code. |
| |
| 2020-11-16 Harald Anlauf <anlauf@gmx.de> |
| |
| * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime |
| checking code for status of argument. |
| |
| 2020-11-13 Gergö Barany <gergo@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * lang.opt (fopenacc-kernels): Add. |
| |
| 2020-11-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): |
| Define. |
| (gfc_init_builtin_functions): Add alloc_size and warn_unused_result |
| attributes to __builtin_GOMP_alloc. |
| * types.def (BT_PTRMODE): New primitive type. |
| (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function |
| types. |
| |
| 2020-11-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97782 |
| * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do, |
| gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections, |
| gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections |
| gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams |
| gfc_trans_omp_target, gfc_trans_omp_target_data, |
| gfc_trans_omp_workshare): Use code->loc instead of input_location |
| when building the OMP_/OACC_ construct. |
| |
| 2020-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/97768 |
| * misc.c (gfc_typename): Use ex->value.character.length only if |
| ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead |
| of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print * |
| instead of length. Otherwise if character length is non-constant, |
| print just CHARACTER or CHARACTER(KIND=N). |
| |
| 2020-11-10 Tobias Burnus <tobias@codesourcery.com> |
| |
| * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums. |
| * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK, |
| OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums. |
| * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION |
| and OMP_CLAUSE_TASK_REDUCTION. |
| (gfc_match_omp_clause_reduction): Extend reduction handling; |
| moved from ... |
| (gfc_match_omp_clauses): ... here. Add calls to it. |
| (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES): |
| Add OMP_CLAUSE_IN_REDUCTION. |
| (gfc_match_omp_taskgroup): Add task_reduction matching. |
| (resolve_omp_clauses): Update for new reduction clause changes; |
| remove removed nonmonotonic-schedule restrictions. |
| (gfc_resolve_omp_parallel_blocks): Add new enums to switch. |
| * trans-openmp.c (gfc_omp_clause_default_ctor, |
| gfc_trans_omp_reduction_list, gfc_trans_omp_clauses, |
| gfc_split_omp_clauses): Handle updated reduction clause. |
| |
| 2020-11-10 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/95847 |
| * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location |
| of an external procedure. |
| (build_entry_thunks, generate_coarray_init, create_main_function, |
| gfc_generate_function_code): Use fndecl's location in BIND_EXPR. |
| |
| 2020-11-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/90111 |
| * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ... |
| (case_omp_decl): ... here. |
| (verify_st_order): Update comment. |
| |
| 2020-11-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel): |
| Remove. |
| (resolve_oacc_loop_blocks): Don't call the former. |
| |
| 2020-11-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'. |
| |
| 2020-11-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97652 |
| * module.c (mio_symbol): Fix symbol name for pdt_type. |
| |
| 2020-11-03 Nathan Sidwell <nathan@acm.org> |
| |
| * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording |
| them. |
| (gfc_cpp_init): Likewise for target. |
| |
| 2020-11-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED. |
| * gfortran.h (ext_attr_id_t): Ditto. |
| * gfortran.texi (GCC$ ATTRIBUTES): Document it. |
| * resolve.c (resolve_variable, resolve_function, |
| resolve_call, resolve_values): Show -Wdeprecated-declarations warning. |
| * trans-decl.c (add_attributes_to_decl): Skip those |
| with no middle_end_name. |
| |
| 2020-11-03 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR fortran/92793 |
| * trans-openmp.c (gfc_trans_omp_clauses): More precise location |
| information for OpenACC 'gang', 'worker', 'vector' clauses with |
| argument. |
| |
| 2020-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR fortran/92793 |
| * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'. |
| (gfc_restore_backend_locus): Adjust. |
| |
| 2020-11-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97655 |
| * openmp.c (gfc_match_omp_atomic): Fix mem-order handling; |
| reject specifying update + capture together. |
| |
| 2020-10-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses. |
| (show_omp_node): Call it for atomic. |
| * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET, |
| remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL. |
| (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by |
| OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED. |
| (gfc_omp_clauses): Add capture and atomic_op. |
| (gfc_code): remove omp_atomic. |
| * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses. |
| (gfc_match_omp_clauses): Match them. |
| (OMP_ATOMIC_CLAUSES): Add. |
| (gfc_match_omp_flush): Update for 'last' to 'unset' change. |
| (gfc_match_omp_oacc_atomic): Removed and placed content .. |
| (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses. |
| (gfc_match_oacc_atomic): Match directly here. |
| (resolve_omp_atomic, gfc_resolve_omp_directive): Update. |
| * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes. |
| * resolve.c (gfc_resolve_blocks): Update assert. |
| * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC. |
| * trans-openmp.c (gfc_trans_omp_atomic): Update. |
| (gfc_trans_omp_flush): Update for 'last' to 'unset' change. |
| |
| 2020-10-30 Jan Hubicka <jh@suse.cz> |
| |
| * trans-types.c: Include alias.h |
| (gfc_get_array_type_bounds): Set typeless storage. |
| |
| 2020-10-27 Harald Anlauf <anlauf@gmx.de> |
| |
| * resolve.c (gfc_impure_variable): A dummy argument with the VALUE |
| attribute may be redefined without making a procedure impure. |
| |
| 2020-10-27 Richard Biener <rguenther@suse.de> |
| |
| * trans-array.c (gfc_get_descriptor_field): New helper. |
| (gfc_conv_descriptor_data_get): Use it - drop strange |
| REFERENCE_TYPE handling and make sure we don't trigger it. |
| (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field. |
| (gfc_conv_descriptor_data_set): Likewise. |
| (gfc_conv_descriptor_offset): Likewise. |
| (gfc_conv_descriptor_dtype): Likewise. |
| (gfc_conv_descriptor_span): Likewise. |
| (gfc_get_descriptor_dimension): Likewise. |
| (gfc_conv_descriptor_token): Likewise. |
| (gfc_conv_descriptor_subfield): New helper. |
| (gfc_conv_descriptor_stride): Use it. |
| (gfc_conv_descriptor_lbound): Likewise. |
| (gfc_conv_descriptor_ubound): Likewise. |
| |
| 2020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/97454 |
| * gfortran.h (gfc_symbol): Add pass_as_value flag. |
| (gfc_copy_formal_args_intr): Add optional argument |
| copy_type. |
| (gfc_get_intrinsic_function_symbol): Add prototype. |
| (gfc_find_intrinsic_symbol): Add prototype. |
| * intrinsic.c (gfc_get_intrinsic_function_symbol): New function. |
| (gfc_find_intrinsic_symbol): New function. |
| * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case |
| where the type needs to be copied from the actual argument. |
| * trans-intrinsic.c (remove_empty_actual_arguments): New function. |
| (specific_intrinsic_symbol): New function. |
| (gfc_conv_intrinsic_funcall): Use it. |
| (strip_kind_from_actual): Adjust so that the expression pointer |
| is set to NULL. |
| (gfc_conv_intrinsic_minmaxloc): Likewise. |
| (gfc_conv_intrinsic_minmaxval): Adjust removal of dim. |
| * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do |
| not pass by reference. |
| |
| 2020-10-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (enum gfc_omp_memorder): Add. |
| (gfc_omp_clauses): Use it. |
| * openmp.c (gfc_match_omp_flush): Match memorder clauses. |
| * trans-openmp.c (gfc_trans_omp_flush): Handle them. |
| (gfc_trans_omp_directive): Update call. |
| |
| 2020-10-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/45516 |
| * class.c: Add _deallocate to the vtable documentation |
| comment. |
| |
| 2020-10-16 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95979 |
| * expr.c (gfc_check_init_expr): Fix check of return code from |
| gfc_intrinsic_func_interface. |
| * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt |
| of simplification of elemental intrinsics with array arguments. |
| * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument |
| for simplification of elemental use of INDEX. |
| |
| 2020-10-15 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls. |
| |
| 2020-10-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97390 |
| * scanner.c (load_line): Fix line-truncation warning for !$acc |
| and !gcc$ in free-form source code. |
| |
| 2020-10-14 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95614 |
| * decl.c (gfc_get_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * decl.c (gfc_bind_idents): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.c : Rename match_common_name to gfc_match_common_name. |
| * match.c (gfc_match_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.h : Rename match_common_name to gfc_match_common_name. |
| * resolve.c (resolve_common_vars): Check each symbol in a |
| common block has a global symbol. If there is a global symbol |
| issue an error if the symbol type is a module or a program. |
| |
| 2020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/96099 |
| * decl.c (gfc_match_implicit): Check for numeric and logical |
| types. |
| |
| 2020-10-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/47469 |
| * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection |
| of pointer and allocatable functions. |
| |
| 2020-10-04 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/97272 |
| * trans-intrinsic.c (strip_kind_from_actual): Helper function for |
| removal of KIND argument. |
| (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it |
| is treated elsewhere. |
| |
| 2020-10-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify |
| fnspec. |
| (gfc_build_intrinsic_function_decls): Update fnspecs. |
| (gfc_build_builtin_function_decls): Update fnspecs. |
| * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs. |
| * trans-types.c (create_fn_spec): Update fnspecs. |
| |
| 2020-09-30 Jan Hubicka <jh@suse.cz> |
| |
| * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots |
| to spec strings so they match the number of parameters; do not use |
| R and W for non-pointer parameters. Drop pointless specifier on |
| caf_stop_numeric and caf_get_team. |
| |
| 2020-09-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so |
| length of spec string matches number of arguments. |
| |
| 2020-09-30 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97242 |
| * expr.c (gfc_is_not_contiguous): Fix check. |
| (gfc_check_pointer_assign): Use it. |
| |
| 2020-09-30 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/97045 |
| * trans-array.c (gfc_conv_array_ref): Make sure that the class |
| decl is passed to build_array_ref in the case of unlimited |
| polymorphic entities. |
| * trans-expr.c (gfc_conv_derived_to_class): Ensure that array |
| refs do not preceed the _len component. Free the _len expr. |
| * trans-stmt.c (trans_associate_var): Reset 'need_len_assign' |
| for polymorphic scalars. |
| * trans.c (gfc_build_array_ref): When the vptr size is used for |
| span, multiply by the _len field of unlimited polymorphic |
| entities, when non-zero. |
| |
| 2020-09-30 Tom de Vries <tdevries@suse.de> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Update |
| targetm.libc_has_function call. |
| |
| 2020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Revert: |
| 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95614 |
| * decl.c (gfc_get_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * decl.c (gfc_bind_idents): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.c : Rename match_common_name to gfc_match_common_name. |
| * match.c (gfc_match_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.h : Rename match_common_name to gfc_match_common_name. |
| * resolve.c (resolve_common_vars): Check each symbol in a |
| common block has a global symbol. If there is a global symbol |
| issue an error if the symbol type is known as is not a common |
| block name. |
| |
| 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95614 |
| * decl.c (gfc_get_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * decl.c (gfc_bind_idents): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.c : Rename match_common_name to gfc_match_common_name. |
| * match.c (gfc_match_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.h : Rename match_common_name to gfc_match_common_name. |
| * resolve.c (resolve_common_vars): Check each symbol in a |
| common block has a global symbol. If there is a global symbol |
| issue an error if the symbol type is known as is not a common |
| block name. |
| |
| 2020-09-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96495 |
| * trans-expr.c (gfc_conv_procedure_call): Take the deallocation |
| of allocatable result components of a scalar result outside the |
| scalarization loop. Find and use the stored result. |
| |
| 2020-09-21 Harald Anlauf <anlauf@gmx.de> |
| Paul Thomas <pault@gcc.gnu.org> |
| |
| * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of |
| FROMPOS, LEN and TOPOS arguments to fit a C int. |
| * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline |
| expansion of MVBITS intrinsic elemental subroutine and add code |
| for runtime argument checking. |
| (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but |
| defer handling to gfc_trans_call. |
| * trans-stmt.c (replace_ss): |
| (gfc_trans_call): Adjust to handle inline expansion, scalarization |
| of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits. |
| * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for |
| gfc_conv_intrinsic_mvbits. |
| |
| 2020-09-19 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * interface.c (gfc_compare_actual_formal): Add assertion after |
| main processing loop to silence maybe-uninitialized error. |
| |
| 2020-09-19 Harald Anlauf <anlauf@gmx.de> |
| |
| * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE |
| procedure prefix for -std=f2018. |
| |
| 2020-09-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/96041 |
| PR fortran/93423 |
| * decl.c (gfc_match_submod_proc): Avoid later double-free |
| in the error case. |
| |
| 2020-09-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97061 |
| * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private. |
| |
| 2020-09-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/96668 |
| * trans.h (gfc_omp_finish_clause): Add bool openacc arg. |
| * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use |
| GOMP_MAP_ALWAYS_POINTER with PSET for pointers. |
| (gfc_trans_omp_clauses): Like the latter and also if the always |
| modifier is used. |
| |
| 2020-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/95109 |
| PR fortran/94690 |
| * resolve.c (gfc_resolve_code): Also call |
| gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. |
| * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. |
| (gfc_resolve_do_iterator): Remove special code for SIMD, which is |
| not needed. |
| * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, |
| call simd not do processing function. |
| |
| 2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * intrinsic.texi: Fix description of FINDLOC result. |
| |
| 2020-09-07 Harald Anlauf <anlauf@gmx.de> |
| |
| * trans-intrinsic.c (build_round_expr): Use temporary with |
| appropriate kind for conversion before rounding to nearest |
| integer when the result precision is 128 bits. |
| |
| 2020-09-07 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/96896 |
| * resolve.c (get_temp_from_expr): Also reset proc_pointer + |
| use_assoc attribute. |
| (resolve_ptr_fcn_assign): Use information from the LHS. |
| |
| 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_get_derived_type): Fix argument types. |
| |
| 2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * resolve.c (resolve_select_type): Provide a formal arg list. |
| |
| 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_get_ppc_type): Add comment. |
| |
| 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| * trans-types.c (gfc_get_ppc_type): Fix function arg types. |
| |
| 2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR fortran/96947 |
| * trans-stmt.c (gfc_trans_fail_image): caf_fail_image |
| expects no argument. |
| |
| 2020-09-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/96859 |
| * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits, |
| change also '2' to '0' and '3' to '1' rather than just handling '4' |
| through '7'. |
| |
| 2020-09-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95398 |
| * resolve.c (resolve_select_type): Add check for BT_CLASS |
| type before using the CLASS_DATA macro which will have a |
| NULL pointer to derive components if it isn't BT_CLASS. |
| |
| 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/96728 |
| * module.c (module_peek_char): Peek ahead function. |
| (parse_integer): Add code for parsing signed integers. |
| (parse_atom): Add code to handle signed integers. |
| (peek_atom): Add code to handle signed integers. |
| |
| 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/96727 |
| * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case. |
| |
| 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/96726 |
| * expr.c (check_references): Change different relational operator |
| to less-than operator to avoid infinite loop. |
| |
| 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/95352 |
| * simplify.c (simplify_bound_dim): Add check for NULL pointer |
| before trying to access structure member. |
| |
| 2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/94110 |
| * interface.c (gfc_compare_actual_formal): Add code to also raise |
| the actual argument cannot be an assumed-size array error when the |
| dummy arguments are deferred-shape or assumed-rank pointer. |
| |
| 2020-08-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94672 |
| * trans-array.c (gfc_trans_g77_array): Check against the parm decl and |
| set the nonparm decl used for the is-present check to NULL if absent. |
| |
| 2020-08-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96624 |
| * simplify.c (gfc_simplify_reshape): Detect zero shape and |
| clear index if found. |
| |
| 2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95882 |
| * decl.c (char_len_param_value): Check gfc_seen_div0 and |
| if it is set return MATCH_ERROR. |
| |
| 2020-08-27 Martin Liska <mliska@suse.cz> |
| |
| * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector |
| growth function to true. |
| |
| 2020-08-26 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (enum gfc_omp_device_type): New. |
| (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it. |
| * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST, |
| AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY. |
| (attr_bits, mio_symbol_attribute): Handle it. |
| (load_commons, write_common_0): Handle omp_device_type flag. |
| * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE |
| (OMP_DECLARE_TARGET_CLAUSES): Likewise. |
| (gfc_match_omp_clauses): Match 'device_type'. |
| (gfc_match_omp_declare_target): Handle it. |
| * trans-common.c (build_common_decl): Write device-type clause. |
| * trans-decl.c (add_attributes_to_decl): Likewise. |
| |
| 2020-08-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96737 |
| * trans-types.c (gfc_get_derived_type): Derived types that are |
| used in submodules are not compatible with TYPE_CANONICAL from |
| any of the global namespaces. |
| |
| 2020-08-20 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96100 |
| PR fortran/96101 |
| * trans-array.c (get_array_charlen): Tidy up the evaluation of |
| the string length for array constructors. Avoid trailing array |
| references. Ensure string lengths of deferred length components |
| are set. For parentheses operator apply string length to both |
| the primary expression and the enclosed expression. |
| |
| 2020-08-20 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/94958 |
| * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable. |
| |
| 2020-08-20 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing |
| to avoid creating spurious symbols. |
| |
| 2020-08-18 Harald Anlauf <anlauf@gmx.de> |
| |
| * check.c (check_rest): Reject MIN/MAX character arguments of |
| different kind. |
| * simplify.c (min_max_choose): The simplification result shall |
| have the highest kind value of the arguments. |
| * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and |
| kind of intermediate by looking at all arguments, not the result. |
| |
| 2020-08-17 Martin Liska <mliska@suse.cz> |
| |
| * openmp.c (resolve_omp_clauses): Add static assert |
| for OMP_LIST_NUM and size of clause_names array. |
| Remove check that is always true. |
| |
| 2020-08-17 Martin Liska <mliska@suse.cz> |
| |
| * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause |
| names. |
| |
| 2020-08-13 Andre Vehreschild <vehre@gcc.gnu.org> |
| |
| PR fortran/93671 |
| * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to |
| components; get the caf_token correctly for allocated scalar components. |
| |
| 2020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com> |
| |
| PR fortran/96595 |
| * invoke.texi: Fix typos. |
| |
| 2020-08-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h: Add OMP_LIST_NONTEMPORAL. |
| * dump-parse-tree.c (show_omp_clauses): Dump it |
| * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL. |
| (OMP_SIMD_CLAUSES): Add it. |
| (gfc_match_omp_clauses): Match nontemporal clause. |
| * trans-openmp.c (gfc_trans_omp_clauses): Process |
| nontemporal clause. |
| |
| 2020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96556 |
| * frontend-passes.c (doloop_contained_function_call): |
| Do not dereference a NULL pointer for value.function.esym. |
| |
| 2020-08-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96312 |
| * trans-expr.c (fcncall_realloc_result): Only compare shapes if |
| lhs was allocated.. |
| |
| 2020-08-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96102 |
| * resolve.c (check_host_association): Replace the gcc_assert |
| with an error for internal procedures. |
| |
| 2020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96469 |
| * frontend-passes.c (doloop_contained_function_call): New |
| function. |
| (doloop_contained_procedure_code): New function. |
| (CHECK_INQ): Macro for inquire checks. |
| (doloop_code): Invoke doloop_contained_procedure_code and |
| doloop_contained_function_call if appropriate. |
| (do_intent): Likewise. |
| |
| 2020-08-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (resolve_omp_do): Detect not perfectly |
| nested loop with innermost collapse. |
| |
| 2020-08-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'. |
| |
| 2020-08-03 Julian Brown <julian@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release |
| mappings for array descriptors. |
| |
| 2020-08-03 Martin Jambor <mjambor@suse.cz> |
| |
| * f95-lang.c (gfc_init_builtin_functions): Remove processing of |
| hsa-builtins.def. |
| |
| 2020-08-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfc-internals.texi: Fix typos. |
| * gfortran.texi: Likewise. |
| * intrinsic.texi: Likewise. |
| * invoke.texi: Likewise. |
| |
| 2020-08-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR target/96320 |
| * interface.c (gfc_check_dummy_characteristics): If a module |
| procedure arrives with assumed shape in the interface and |
| deferred shape in the procedure itself, update the latter and |
| copy the lower bounds. |
| |
| 2020-08-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96325 |
| * primary.c (gfc_match_varspec): In the case that a component |
| reference is added to an intrinsic type component, emit the |
| error message in this function. |
| |
| 2020-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent). |
| * gfortran.h (struct gfc_omp_clauses): Add order_concurrent. |
| * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES): |
| Add OMP_CLAUSE_ORDER. |
| * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): |
| Handle order(concurrent) clause. |
| |
| 2020-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (resolve_omp_clauses): Permit 'omp target data' without |
| map if use_device_{addr,ptr} is present. |
| |
| 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/96319 |
| * intrinsic.c (gfc_convert_type_warn): Add check for |
| LOGICAL type so that warnings are not output. |
| |
| 2020-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| * module.c (mio_symbol_attribute): Fix indent of previous |
| commit. |
| |
| 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/53298 |
| * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set |
| call gfc_get_scalar_ss. |
| |
| 2020-07-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES. |
| (enum gfc_omp_requires_kind): New. |
| (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL. |
| (struct gfc_namespace): Add omp_requires and omp_target_seen. |
| (gfc_omp_requires_add_clause, |
| (gfc_check_omp_requires): New. |
| * match.h (gfc_match_omp_requires): New. |
| * module.c (enum ab_attribute, attr_bits): Add omp requires clauses. |
| (mio_symbol_attribute): Read/write them. |
| * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause, |
| gfc_match_omp_requires): New. |
| (gfc_match_omp_oacc_atomic): Use requires's default mem-order. |
| * parse.c (decode_omp_directive): Match requires, set omp_target_seen. |
| (gfc_ascii_statement): Handle ST_OMP_REQUIRES. |
| * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL. |
| |
| 2020-07-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_resolve_omp_directive): Remove NULL check |
| for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL. |
| |
| 2020-07-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional. |
| * openmp.c (gfc_match_omp_clauses): Handle 'conditional:' |
| modifier of 'lastprivate'. |
| * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert |
| on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_. |
| (gfc_trans_omp_variable_list): Handle lastprivate_conditional. |
| |
| 2020-07-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind. |
| |
| 2020-07-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.texi (Standards): Update URL; state that OpenMP 4.5 |
| is supported and 5.0 is partially. |
| * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0; |
| (OMP_LIB): Add missing derived type and new named constants. |
| |
| 2020-07-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD. |
| * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF. |
| (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'. |
| * dump-parse-tree.c (show_omp_clauses): Likewise. |
| * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel, |
| (gfc_split_omp_clauses): Likewise. |
| |
| 2020-07-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_match_omp_critical): Fix handling hints; permit |
| hint clause without named critical. |
| (resolve_omp_clauses): Require nonnegative constant integer |
| for the hint clause. |
| (gfc_resolve_omp_directive): Check for no name but |
| nonzero value for hint clause. |
| * parse.c (parse_omp_structured_block): Fix same-name check |
| for critical. |
| * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly. |
| |
| 2020-07-21 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/89574 |
| * trans-decl.c (gfc_get_extern_function_decl): Check whether a |
| symbol belongs to a different module. |
| |
| 2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96220 |
| * dump-parse-tree.c (get_c_type_name): Always use the entries from |
| c_interop_kinds_table to find the correct C type. |
| |
| 2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96018 |
| * frontend-passes.c (gfc_check_externals): Adjust formatting. |
| (implicit_pure_call): New function. |
| (implicit_pure_expr): New function. |
| (gfc_fix_implicit_pure): New function. |
| * gfortran.h (gfc_fix_implicit_pure): New prototype. |
| * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure. |
| |
| 2020-07-18 David Edelsohn <dje.gcc@gmail.com> |
| |
| * check.c (gfc_invalid_boz): Mark hint for translation using _(). |
| |
| 2020-07-16 Julian Brown <julian@codesourcery.com> |
| Thomas Schwinge <thomas@codesourcery.com> |
| |
| * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC |
| attach/detach handling for arrays with descriptors. |
| |
| 2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95612 |
| * expr.c (gfc_check_pointer_assigb): Output an error if |
| rvalue is a zero sized array or output an error if rvalue |
| doesn't have a symbol tree. |
| |
| 2020-07-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_match_omp_clauses): Match also derived-type |
| component refs in OMP_CLAUSE_MAP. |
| (resolve_omp_clauses): Resolve those. |
| * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses): |
| Handle OpenMP structure-element mapping. |
| (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive, |
| (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update |
| add openacc=true in gfc_trans_omp_clauses call. |
| |
| 2020-07-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/67311 |
| * trans-openmp.c (gfc_has_alloc_comps): Return false also for |
| pointers to arrays. |
| |
| 2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/96038 |
| * decl.c (add_init_expr_sym): For a symbol that is a |
| parameter accept an initialisation if it does not have a |
| value otherwise output a error and reject. |
| |
| 2020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/45337 |
| * resolve.c (resolve_fl_variable): Remove type and intent |
| checks from the check for dummy. |
| |
| 2020-07-13 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95981 |
| * check.c (dim_rank_check): Allow NULL references in call to |
| gfc_find_array_ref and return false if no reference is found. |
| |
| 2020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96073 |
| * frontend-passes.c (check_externals_procedure): Add locus |
| information for new_sym. |
| * interface.c (gfc_check_dummy_characteristics): Do not warn |
| about INTENT for artificially generated variables. |
| |
| 2020-07-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95980 |
| * class.c (gfc_add_component_ref, gfc_build_class_symbol): |
| Add checks for NULL pointer dereference. |
| * primary.c (gfc_variable_attr): Likewise. |
| * resolve.c (resolve_variable, resolve_assoc_var) |
| (resolve_fl_var_and_proc, resolve_fl_variable_derived) |
| (resolve_symbol): Likewise. |
| |
| 2020-07-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/96086 |
| * match.c (gfc_match_select_rank): Catch NULL pointer |
| dereference. |
| * resolve.c (resolve_assoc_var): Catch NULL pointer dereference |
| that may occur after an illegal declaration. |
| |
| 2020-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for |
| derived type members which themselves have derived types. |
| |
| 2020-07-08 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/96085 |
| * resolve.c (gfc_resolve_code): Check whether assign target is a |
| parameter. |
| |
| 2020-07-06 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95980 |
| * match.c (copy_ts_from_selector_to_associate, build_class_sym): |
| Distinguish between unlimited polymorphic and ordinary variables |
| to avoid NULL pointer dereference. |
| * resolve.c (resolve_select_type): |
| Distinguish between unlimited polymorphic and ordinary variables |
| to avoid NULL pointer dereference. |
| |
| 2020-07-06 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95709 |
| * resolve.c (gfc_resolve_code): Check for valid arguments to |
| assigned GOTO. |
| |
| 2020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/27318 |
| * frontend-passes.c (check_against_globals): New function. |
| (gfc_check_externals): Split; also invoke check_against_globals |
| via gfc_traverse_ns. |
| (gfc_check_externals0): Recursive part formerly in |
| gfc_check_externals. |
| * resolve.c (resolve_global_procedure): Set sym->error on |
| interface mismatch. |
| * symbol.c (ambiguous_symbol): Check for, and set sym->error. |
| |
| 2020-07-02 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93423 |
| * resolve.c (resolve_symbol): Avoid NULL pointer dereference. |
| |
| 2020-07-02 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93337 |
| * class.c (gfc_find_derived_vtab): Punt if name is not set. |
| |
| 2020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/52279 |
| * check.c (gfc_invalid_boz): Change array declaration for |
| hint into a pointer. |
| |
| 2020-07-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95584 |
| * interface.c (generic_correspondence): Only use the pointer |
| to a symbol if exists. |
| |
| 2020-07-01 David Edelsohn <dje.gcc@gmail.com> |
| |
| * check.c (gfc_invalid_boz): Fix bootstrap. Revert |
| Mark hint for translation using _(). |
| |
| 2020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/52279 |
| * arith.c (reduce_binary_aa): Mark for translation the string |
| parameter to gfc_check_conformance with G_(). |
| * check.c (gfc_invalid_boz): Mark hint for translation using |
| _(). (gfc_check_achar): Mark for translation the message |
| parameter to gfc_invalid_boz using G_(). (gfc_check_char): |
| Mark for translation the message parameter to gfc_invalid_boz |
| using G_(). (gfc_check_complex): Mark for translation the |
| message parameter to gfc_invalid_boz using G_(). |
| (gfc_check_float): Mark for translation the message |
| parameter to gfc_invalid_boz using G_(). (check_rest): Mark |
| for translation the string parameter to gfc_check_conformance |
| with _(). (gfc_check_minloc_maxloc): Mark for translation |
| the string parameter to gfc_check_conformance with _(). |
| (gfc_check_findloc): Mark for translation the string parameter |
| to gfc_check_conformance with _(). (check_reduction): Mark |
| for translation the string parameter to gfc_check_conformance |
| with _(). (gfc_check_pack): Mark for translation the string |
| parameter to gfc_check_conformance with _(). |
| * decl.c (match_old_style_init): Mark for translation the |
| message parameter to gfc_invalid_boz using G_(). |
| * expr.c (gfc_check_assign): Mark for translation the string |
| parameter to gfc_check_conformance with _(). |
| * intrinsic.c (check_specific): Mark for translation the string |
| parameter to gfc_check_conformance with _(). |
| (gfc_check_intrinsic_standard): Mark symstd_msg strings for |
| translation using G_(). No need to mark symstd_msg for |
| translation in call to gfc_warning or when setting symstd. |
| * io.c (check_open_constraints): Mark strings for translation |
| using G_() in all calls to warn_or_error. (match_io_element): |
| Mark for translation the message parameter to gfc_invalid_boz |
| using G_(). |
| * primary.c (match_boz_constant): Mark for translation the |
| message parameter to gfc_invalid_boz using G_(). |
| * resolve.c (resolve_elemental_actual): Mark for translation |
| the string parameter to gfc_check_conformance with _(). |
| (resolve_operator): Mark for translation the string parameter |
| to gfc_check_conformance with _(). Mark translation strings |
| assigned to msg using G_() for use in a call to cfg_warning. |
| |
| 2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95446 |
| * resolve.c (resolve_elemental_actual): Add code to check for |
| non-optional argument of the same rank. Revise warning message |
| to refer to the Fortran 2018 standard. |
| |
| 2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95829 |
| * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead |
| of "*)". |
| |
| 2020-06-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/88379 |
| * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference. |
| |
| 2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95355 |
| * gfortran.h (gfc_typename): Add optional argument for_hash. |
| * misc.c (gfc_typename): When for_hash is true, just retur |
| CHARACTER(kind). |
| * class.c (gfc_intrinsic_hash_value): Call gfc_typename with |
| for_hash = true. |
| |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95978 |
| * decl.c (gfc_match_data): Avoid NULL pointer dereference. |
| |
| 2020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95743 |
| * trans-decl.c (gfc_generate_function_code): Do not generate |
| recursion check for compiler-generated procedures. |
| |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/71706 |
| * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in |
| bounds-checking code. |
| |
| 2020-06-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95340 |
| * match.c (gfc_match_select_rank): Do not dereference NULL pointer. |
| |
| 2020-06-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95880 |
| * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it, |
| otherwise fall back to sym->name. |
| |
| 2020-06-27 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95881 |
| * resolve.c (resolve_symbol): Avoid NULL pointer dereference. |
| |
| 2020-06-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95828 |
| * match.c (select_rank_set_tmp): Enlarge internal buffer used in |
| generating a mangled name. |
| * resolve.c (resolve_select_rank): Likewise. |
| |
| 2020-06-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95826 |
| * decl.c (gfc_match_decl_type_spec): Replace a fixed size |
| buffer by a pointer and reallocate if necessary. |
| |
| 2020-06-25 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/95837 |
| * resolve.c (gfc_resolve_substring_charlen): Remove |
| bogus ts.kind setting for the expression. |
| |
| 2020-06-25 Tobias Burnus <tobias@codesourcery.com> |
| Kwok Cheung Yeung <kcy@codesourery.com> |
| |
| PR fortran/95869 |
| * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block. |
| |
| 2020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com> |
| |
| * trans-openmp.c (gfc_split_omp_clauses): Add if clause |
| to target and simd sub-constructs. |
| |
| 2020-06-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95827 |
| * iresolve.c (gfc_get_string): Enlarge internal buffer used in |
| generating the mangled name. |
| |
| 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95812 |
| * dependency.c (ref_same_as_full_array): Handle case of AR_FULL |
| vs. AR_FULL. |
| |
| 2020-06-23 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95586 |
| * decl.c (gfc_match_implicit): Only perform else branch if |
| the type spect is not BT_DERIVED. |
| |
| 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95708 |
| * intrinsic.c (add_functions): Replace CLASS_INQUIRY with |
| CLASS_TRANSFORMATIONAL for intrinsic num_images. |
| (make_generic): Replace ACTUAL_NO with ACTUAL_YES for |
| intrinsic team_number. |
| * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived |
| exists before using it. |
| |
| 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95585 |
| * check.c (gfc_check_reshape): Add check for a value when |
| the symbol has an attribute flavor FL_PARAMETER. |
| |
| 2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/42693 |
| * arith.c (gfc_arith_error): Enclose strings in G_() instead |
| of _(). |
| |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95707 |
| * gfortran.h (gfc_common_head): Enlarge buffer. |
| * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary |
| buffers, and add check on length on mangled name to prevent |
| overflow. |
| |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95688 |
| * iresolve.c (gfc_get_string): Enlarge static buffer size. |
| |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95687 |
| * class.c (get_unique_type_string): Return a string with dynamic |
| length. |
| (get_unique_hashed_string, gfc_hash_value): Use dynamic result |
| from get_unique_type_string instead of static buffer. |
| |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95689 |
| * interface.c (check_sym_interfaces): Enlarge temporary buffer, |
| and add check on length on mangled name to prevent overflow. |
| |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95587 |
| * match.c (gfc_match_equivalence): Check constraints on |
| EQUIVALENCE objects also for CLASS variables. |
| |
| 2020-06-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (resolve_omp_clauses): Reject vars with |
| allocatable components in OpenMP map clauses. |
| |
| 2020-06-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| * parse.c (decode_oacc_directive): Permit 'acc routine' also |
| inside pure procedures. |
| * openmp.c (gfc_match_oacc_routine): Inside pure procedures |
| do not permit gang, worker or vector clauses. |
| |
| 2020-06-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| * parse.c (decode_omp_directive): Remove "or ELEMENTAL" |
| from "in PURE" error message also for -fopenmp-simd. |
| |
| 2020-06-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| * parse.c (decode_omp_directive): Remove "or ELEMENTAL" |
| from "in PURE" error message. |
| |
| 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/42122 |
| * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is |
| empty, just output "empty". |
| |
| 2020-06-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95088 |
| * class.c (get_unique_type_string): Replace use of fixed size |
| buffer by internally passing a pointer to strings. |
| |
| 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * check.c (gfc_check_random_seed): Always use locations |
| from get and put arguments for error messages. |
| |
| 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94109 |
| * class.c (finalize_component): Return early if finalization has |
| already happened for expression and component within namespace. |
| * gfortran.h (gfc_was_finalized): New type. |
| (gfc_namespace): Add member was_finalzed. |
| (gfc_expr): Remove finalized. |
| * symbol.c (gfc_free_namespace): Free was_finalized. |
| |
| 2020-06-11 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/95611 |
| * decl.c (access_attr_decl): Use correct symbol in error message. |
| |
| 2020-06-11 Steven G. Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95544 |
| * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg. |
| (gfc_check_associated, gfc_check_kind, gfc_check_merge) |
| (gfc_check_shape, gfc_check_size, gfc_check_spread) |
| (gfc_check_transfer): Adjust. |
| (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument. |
| * gfortran.h: Declare gfc_invalid_null_arg (). |
| * intrinsic.c (check_arglist): Check for NULL() argument. |
| |
| 2020-06-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95503 |
| * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs |
| of pointer assignment if lhs cannot be simply contiguous. |
| |
| 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/95331 |
| * trans-array.c (gfc_conv_array_ref): For class array dummy |
| arguments use the transformed descriptor in sym->backend_decl |
| instead of the original descriptor. |
| |
| 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/52351 |
| PR fortran/85868 |
| * trans-array.c (gfc_conv_expr_descriptor): Enable the |
| creation of a new descriptor with the correct one based |
| indexing for array sections. Rework array descriptor |
| indexing offset calculation. |
| |
| 2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/94022 |
| * trans-expr.c (gfc_conv_procedure_call): In the case of |
| assumed-size arrays ensure that the reference is to a full array. |
| |
| 2020-06-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95091 |
| * class.c (gfc_hash_value): Add cast. |
| |
| 2020-06-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95091 |
| * class.c (get_unique_type_string, gfc_hash_value): Enlarge |
| buffers, and check whether the strings returned by |
| get_unique_type_string() fit. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95530 |
| PR fortran/95537 |
| * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance |
| string copy to detect buffer overflow. |
| * gfortran.h (gfc_common_head): Enlarge buffer. |
| * trans-common.c (finish_equivalences): Enhance string copy to |
| detect buffer overflow. |
| |
| 2020-06-05 Tom Tromey <tromey@adacore.com> |
| |
| PR fortran/95509 |
| * misc.c (gfc_closest_fuzzy_match): Update cutoff value |
| computation. |
| |
| 2020-06-04 Steven G. Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95500 |
| * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL |
| pointer. |
| |
| 2020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/95214 |
| PR fortran/66833 |
| PR fortran/67938 |
| * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to |
| character dummy arguments list of possible attributes. |
| |
| 2020-06-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine. |
| * trans-openmp.c (gfc_omp_predetermined_mapping): New. |
| * trans.h (gfc_omp_predetermined_mapping): Declare. |
| |
| 2020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94361 |
| * class.c (finalize_component): Use expr->finalized instead of |
| comp->finalized. |
| * gfortran.h (gfc_component): Remove finalized member. |
| (gfc_expr): Add it here instead. |
| |
| 2020-05-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95373 |
| * primary.c (is_inquiry_ref): Move validity check of inquiry |
| references against selected Fortran standard from here... |
| (gfc_match_varspec) ...to here. |
| |
| 2020-05-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * class.c (get_unique_type_string): Use buffer overrun check. |
| |
| 2020-05-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * class.c (get_unique_type_string): Enlarge temporary for |
| name-mangling. Use strncpy to prevent buffer overrun. |
| (get_unique_hashed_string): Enlarge temporary. |
| (gfc_hash_value): Enlarge temporary for name-mangling. |
| |
| 2020-05-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95373 |
| * primary.c (is_inquiry_ref): Check validity of inquiry |
| references against selected Fortran standard. |
| |
| 2020-05-28 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/94397 |
| * match.c (gfc_match_type_spec): New variable ok initialised |
| to true. Set ok with the return value of gfc_reduce_init_expr |
| called only if the expression is not EXPR_CONSTANT and is not |
| EXPR_VARIABLE. Add !ok to the check for type not being integer |
| or the rank being greater than zero. |
| |
| 2020-05-27 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * iresolve.c (gfc_get_string): Enlarge temporary for |
| name-mangling. |
| |
| 2020-05-27 Tobias Burnus <tobias@codesourcery.com> |
| Mark Eggleston <markeggleston@gnu.gcc.org> |
| |
| PR fortran/50392 |
| * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block |
| delimiters. Add auxiliary variables if a label is assigned to |
| a return variable. (gfc_gat_fake_result): If the symbol has an |
| assign attribute set declaration from the symbol's backend |
| declaration. |
| |
| 2020-05-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95089 |
| * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold |
| mangled name "_caf_symbol". |
| |
| 2020-05-26 Alexandre Oliva <oliva@adacore.com> |
| |
| * options.c (gfc_get_option_string): Drop auxbase, add |
| dumpbase_ext. |
| |
| 2020-05-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95106 |
| * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries |
| for name-mangling. |
| |
| 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR libfortran/95191 |
| * libgfortran.h (libgfortran_error_codes): Add |
| LIBERROR_BAD_WAIT_ID. |
| |
| 2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/39695 |
| * resolve.c (resolve_fl_procedure): Set name depending on |
| whether the result attribute is set. For PROCEDURE/RESULT |
| conflict use the name in sym->ns->proc_name->name. |
| * symbol.c (gfc_add_type): Add check for function and result |
| attributes use sym->ns->proc_name->name if both are set. |
| Where the symbol cannot have a type use the name in |
| sym->ns->proc_name->name. |
| |
| 2020-05-18 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95053 |
| * arith.c (gfc_divide): Revert hunk introduced by patch for |
| PR93499. |
| * decl.c (variable_decl): Generate error for array shape not being |
| an INTEGER constant. |
| (gfc_get_pdt_instance): Generate error if KIND or LEN expressions |
| in declaration of a PDT instance do not simplify to INTEGER |
| constants. |
| |
| 2020-05-15 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94690 |
| * openmp.c (resolve_omp_do): Permit more clauses for SIMD |
| iteration variables. |
| |
| 2020-05-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * trans-openmp.c: Include function.h. |
| (gfc_trans_omp_target): Set cfun->has_omp_target. |
| |
| 2020-05-13 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93497 |
| * decl.c (char_len_param_value): Check whether character |
| length expression is of type EXPR_OP and if so simplify it. |
| * resolve.c (resolve_charlen): Reject length if it has a |
| rank. |
| |
| 2020-05-13 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94690 |
| * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE. |
| (gfc_resolve_do_iterator): Skip the private handling for SIMD as |
| that is handled by ME code. |
| * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate |
| for dovar_found == 0, unless !simple. |
| |
| 2020-05-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95053 |
| * arith.c (gfc_divide): Do not error out if operand 2 is |
| non-numeric. Defer checks to later stage. |
| |
| 2020-05-11 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94672 |
| * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument. |
| * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly |
| and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved |
| descriptor). |
| * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0' |
| variable to NULL if 'arg' is not present. |
| * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking |
| 'arg.0' instead of the true PARM_DECL. |
| (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL. |
| |
| 2020-05-11 Janus Weil <janus@gcc.gnu.org> |
| Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/59107 |
| * gfortran.h: Rename field resolved as resolve_symbol_called |
| and assign two 2 bits instead of 1. |
| * interface.c (check_dtio_interface1): Use new field name. |
| (gfc_find_typebound_dtio_proc): Use new field name. |
| * resolve.c (gfc_resolve_intrinsic): Replace check of the formal |
| field with resolve_symbol_called is at least 2, if it is not |
| set the field to 2. (resolve_typebound_procedure): Use new field |
| name. (resolve_symbol): Use new field name and check whether it |
| is at least 1, if it is not set the field to 1. |
| |
| 2020-05-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93499 |
| * arith.c (gfc_divide): Catch division by zero. |
| (eval_intrinsic_f3): Safeguard for NULL operands. |
| |
| 2020-05-05 Steve Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93366 |
| * check.c (gfc_check_associated, invalid_null_arg): Factorize |
| check for presence of invalid NULL() argument. |
| (gfc_check_kind, gfc_check_merge, gfc_check_shape) |
| (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this |
| check for presence of invalid NULL() arguments. |
| |
| 2020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| PR fortran/94769 |
| * io.c (check_io_constraints): Initialize local variable num to |
| -1 and assert that it receives a meaningful value by function |
| compare_to_allowed_values. |
| |
| 2020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93956 |
| PR fortran/94788 |
| * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956. |
| * interface.c: Likewise. |
| |
| 2020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94578 |
| * trans-expr.c (arrayfunc_assign_needs_temporary): If the |
| LHS is a subref pointer, we also need a temporary. |
| |
| 2020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93956 |
| * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer |
| when a function returns a pointer. |
| * interface.c (gfc_set_subref_array_pointer_arg): New function. |
| (gfc_procedure_use): Call it. |
| |
| 2020-04-22 Fritz Reese <foreese@gcc.gnu.org> |
| |
| * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host- |
| precision floating point literal based on an invalid macro. |
| |
| 2020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/90350 |
| * simplify.c (simplify_bound): In the case of assumed-size arrays |
| check if the reference is to a full array. |
| |
| 2020-04-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94709 |
| * scanner.c (load_line): In fixed form, also treat 'C' as comment and |
| 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp, |
| '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab> |
| and truncation warnings. |
| |
| 2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup. |
| |
| 2020-04-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93364 |
| * array.c (gfc_set_array_spec): Check for sum of rank and corank |
| not exceeding GFC_MAX_DIMENSIONS. |
| |
| 2020-04-20 Steve Kargl <kargl@gcc.gnu.org> |
| Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/91800 |
| * decl.c (variable_decl): Reject Hollerith constants as type |
| initializer. |
| |
| 2020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93500 |
| * resolve.c (resolve_operator): If both operands are |
| NULL, return false. |
| * simplify.c (simplify_bound): If a division by zero |
| was seen during bound simplification, free the |
| corresponcing expression and return &gfc_bad_expr. |
| |
| 2020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94090 |
| * gfortran.dg (gfc_compare_interfaces): Add |
| optional argument bad_result_characteristics. |
| * interface.c (gfc_check_result_characteristics): Fix |
| whitespace. |
| (gfc_compare_interfaces): Handle new argument; return |
| true if function return values are wrong. |
| * resolve.c (resolve_global_procedure): Hard error if |
| the return value of a function is wrong. |
| |
| 2020-04-15 Fritz Reese <foreese@gcc.gnu.org> |
| Linus Koenig <link@sig-st.de> |
| |
| PR fortran/94192 |
| * simplify.c (simplify_bound): Simplify condition for error check. |
| |
| 2020-04-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| * module.c (gfc_match_use): Fix name-conflict check for use-associating |
| the same symbol again in a submodule. |
| |
| 2020-04-13 Linus Koenig <link@sig-st.de> |
| |
| PR fortran/94192 |
| * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if |
| pointer is found to not have an assumed rank or a deferred shape. |
| * simplify.c (simplify_bound): If an error has been issued for a |
| given pointer, one should not attempt to find its bounds. |
| |
| 2020-04-09 Fritz Reese <foreese@gcc.gnu.org> |
| |
| PR fortran/87923 |
| * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add |
| locus parameter. |
| (gfc_resolve_dt): Add code parameter. |
| * io.c (async_io_dt, check_char_variable, is_char_type): Removed. |
| (resolve_tag_format): Add locus to error message regarding |
| zero-sized array in FORMAT tag. |
| (check_open_constraints, check_close_constraints): New functions |
| called at resolution time. |
| (gfc_match_open, gfc_match_close, match_io): Move checks which don't |
| affect the match result to new functions check_open_constraints, |
| check_close_constraints, check_io_constraints. |
| (gfc_resolve_open, gfc_resolve_close): Call new functions |
| check_open_constraints, check_close_constraints after all tags have |
| been independently resolved. Remove duplicate constraints which are |
| already verified by resolve_tag. Explicitly pass locus to all error |
| reports. |
| (compare_to_allowed_values): Add locus parameter and provide |
| explicit locus all error reports. |
| (match_open_element, match_close_element, match_file_element, |
| match_dt_element, match_inquire_element): Remove redundant special |
| cases for ASYNCHRONOUS and IOMSG tags. |
| (gfc_resolve_dt): Remove redundant special case for format |
| expression. Call check_io_constraints, forwarding an I/O list as |
| the io_code parameter if present. |
| (check_io_constraints): Change return type to bool. Pass explicit |
| locus to error reports. Move generic checks after tag-specific |
| checks, since errors are no longer buffered. Move simplification of |
| format string to match_io. Remove redundant checks which are |
| verified by resolve_tag. Remove usage of async_io_dt flag and |
| explicitly mark symbols used in asynchronous I/O with the |
| asynchronous attribute. |
| * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks |
| for async_io_dt flag. This is now done in io.c. |
| (check_io_constraints). |
| (gfc_resolve_code): Pass code locus to gfc_resolve_open, |
| gfc_resolve_close, gfc_resolve_dt. |
| |
| 2020-04-07 Fritz Reese <foreese@gcc.gnu.org> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93871 |
| * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D, |
| GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND, |
| GFC_ISYM_TAND): New. |
| * intrinsic.c (add_functions): Remove check for flag_dec_math. |
| Give degree trig functions simplification and name resolution |
| functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()). |
| (do_simplify): Remove special casing of degree trig functions. |
| * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind, |
| gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand, |
| gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new |
| prototypes. |
| (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan, |
| resolve_atrigd): Remove prototypes of deleted functions. |
| * iresolve.c (is_trig_resolved, copy_replace_function_shallow, |
| gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call, |
| gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions. |
| (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions. |
| * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind, |
| gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd, |
| gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New |
| functions. |
| (gfc_simplify_atan2): Fix error message. |
| (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd, |
| radians_f): Delete functions. |
| * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand. |
| (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan, |
| gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions. |
| (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN, |
| COTAND, ATAN2D. |
| * trigd_fe.inc: New file. Included by simplify.c to implement |
| simplify_sind, simplify_cosd, simplify_tand with code common to the |
| libgfortran implementation. |
| |
| 2020-04-06 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93686 |
| * decl.c (gfc_match_data): Handle data matching for derived type |
| pointers. |
| |
| 2020-04-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (gfc_resolve_formal_arglist): Add prototype. |
| * interface.c (check_dtio_interface1): Call it. |
| * resolve.c (gfc_resolve_formal_arglist): Renamed from |
| resolve_formal_arglist, removed static. |
| (find_arglists, resolve_types): Update calls. |
| |
| 2020-04-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93522 |
| * match.c (gfc_match_select_rank): Fix error cleanup. |
| |
| 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93498 |
| * check.c (gfc_check_findloc): If the kinds of the arguments |
| differ goto label "incompat". |
| |
| 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/94030 |
| * resolve.c (resolve_equivalence): Correct formatting |
| around the label "identical_types". Instead of using |
| gfc_resolve_array_spec use is_non_constants_shape_array |
| to determine whether the array can be used in a in an |
| equivalence statement. |
| |
| 2020-04-01 Mark Eggleston <mark.eggleston@codethink.com> |
| |
| PR fortran/94386 |
| expr.c (simplify_parameter_variable): Restore code deleted |
| in PR94246. |
| |
| 2020-03-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/94246 |
| * arith.c : Remove trailing white space. |
| * expr.c (scalarize_intrinsic_call): Remove the error checking. |
| Make a copy of the expression to be simplified and only replace |
| the original if the simplification succeeds. |
| |
| 2020-03-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94348 |
| * decl.c (gfc_match_submod_proc): Add result var to the |
| proc's namespace. |
| |
| 2020-03-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93957 |
| * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept |
| nonallocatable, nonpointer deferred-rank arrays. |
| |
| 2020-03-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93363 |
| * resolve.c (resolve_assoc_var): Reject association to DT and |
| function name. |
| |
| 2020-03-25 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93484 |
| * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with |
| gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR. |
| |
| 2020-03-23 Mark Eggleston <mark.eggleston@codethink.com> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93600 |
| * expr.c (simplify_parameter_variable): Check whether the ref |
| chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry |
| boolean. When an empty array has been identified and a new |
| new EXPR_ARRAY expression has been created only return that |
| expression if inquiry is not set. This allows the new |
| expression to drop through to be simplified into a |
| EXPR_CONSTANT representing %kind or %len. |
| * matc.c (gfc_match_assignment): If lvalue doesn't have a |
| symtree free both lvalue and rvalue expressions and return |
| an error. |
| * resolv.c (gfc_resolve_ref): Ensure that code to handle |
| INQUIRY_LEN is only performed for arrays with deferred types. |
| |
| 2020-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * class.c (generate_finalization_wrapper): Fix up duplicated word |
| issue in a comment. |
| * trans-types.c (gfc_get_nodesc_array_type): Likewise. |
| |
| 2020-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * array.c (gfc_check_iter_variable): Fix up duplicated word issue |
| in a comment. |
| * arith.c (gfc_arith_concat): Likewise. |
| * resolve.c (gfc_resolve_ref): Likewise. |
| * frontend-passes.c (matmul_lhs_realloc): Likewise. |
| * module.c (gfc_match_submodule, load_needed): Likewise. |
| * trans-expr.c (gfc_init_se): Likewise. |
| |
| 2020-03-15 Lewis Hyatt <lhyatt@gmail.com> |
| |
| * lang.opt: Avoid redundancy in the help text. |
| |
| 2020-03-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR middle-end/94120 |
| * openmp.c (gfc_match_oacc_declare): Accept function-result |
| variables; reject variables declared in a different scoping unit. |
| |
| 2020-03-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93581 |
| * resolve.c (gfc_resolve_ref): Modify array refs to be elements |
| if the ref chain ends in INQUIRY_LEN. |
| * trans-array.c (gfc_get_dataptr_offset): Provide the offsets |
| for INQUIRY_RE and INQUIRY_IM. |
| |
| 2020-03-05 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93792 |
| * decl.c (variable_decl): If param and initializer check |
| for BOZ, if found, output an error, set m to MATCH_ERROR |
| and goto cleanup. |
| |
| 2020-03-02 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93486 |
| * module.c: Increase size of variables used to read module names |
| when loading interfaces from module files to permit cases where |
| the name is the concatenation of a module and submodule name. |
| * gfortran.dg/pr93486.f90: New test. |
| |
| 2020-03-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92976 |
| * match.c (select_type_set_tmp): If the selector array spec has |
| explicit bounds, make the temporary's bounds deferred. |
| |
| 2020-03-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92959 |
| * trans-intrinsic.c (gfc_conv_associated): Eliminate |
| 'nonzero_charlen' and move the chunk to evaluate zero character |
| length until after the argument evaluation so that the string |
| length can be used. |
| |
| 2020-02-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92785 |
| * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non- |
| variable expressions to be unity lbound based. |
| |
| 2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| * simplify.c (degrees_f): Remove unused code. |
| |
| 2020-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/93864 |
| * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter. |
| * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp, |
| gfc_check_pdt_dummy): Fix comment typo paramter -> parameter. |
| |
| 2020-02-24 Mark Eggleston <mark.eggleston@codethink.com> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93835 |
| * decl.c (gfc_match_data) : Check whether the data expression |
| is a derived type and is a constructor. If a BOZ constant |
| is encountered in the constructor output an error and return |
| MATCH_ERROR. |
| |
| 2020-02-24 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93604 |
| * decl.c (gfc_match_data) : Check whether the data expression |
| is a derived type and is a constructor. If a BOZ constant |
| is encountered in the constructor output an error and return |
| MATCH_ERROR. |
| |
| 2020-02-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93552 |
| * match.c (match_exit_cycle): With OpenACC, check the kernels loop |
| directive and tile clause as well. |
| |
| 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93889 |
| * interface.c (compare_parameter): Fix error message. |
| |
| 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93890 |
| * interface.c: Replace "can not" by "cannot" and remove trailing |
| space. |
| |
| 2020-02-20 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93825 |
| * openmp.c (resolve_oacc_loop_blocks): Move call to |
| resolve_oacc_nested_loops from here ... |
| (resolve_oacc_loop): ... to here. |
| |
| 2020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/93714 |
| * expr.c (gfc_check_pointer_assign): Move check for |
| matching character length to after checking the lvalue |
| attributes for target or pointer. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93601 |
| * match.c (gfc_match_assignment) : Reject assignment if |
| the lhs stype is BT_CLASS and the rhs type is BT_BOZ. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93603 |
| * match.c (gfc_match_associate) : If target expression |
| has the type BT_BOZ output an error and goto |
| assocListError. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/93580 |
| * primary.c (gfc_match_varspec): If the symbol following % |
| is re or im and the primary expression type is not BT_COMPLEX |
| issue an error. If the symbol is len and the primary |
| expression type is not BT_CHARACTER is an error. |
| |
| 2020-02-10 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/83113 |
| * array.c: Do not attempt to set the array spec for a submodule |
| function symbol (as it has already been set in the corresponding |
| module procedure interface). |
| * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or |
| DIMENSION attributes in declarations of a submodule function. |
| * gfortran.h: Add a macro that tests for a module procedure in a |
| submodule. |
| * gfortran.dg/pr83113.f90: New test. |
| |
| 2020-02-03 Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| |
| * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711. |
| * intrinsic.texi: Update mentions of OpenACC version to 2.6. |
| * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC. |
| * invoke.texi: Remove experimental disclamer for OpenACC. |
| |
| 2020-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93541 |
| * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): |
| Add undocumented parameters from omp_lib.f90.in. |
| |
| 2020-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93427 |
| * resolve.c (resolve_assoc_var): Remove too strict check. |
| * gfortran.dg/associate_51.f90: Update test case. |
| |
| 2020-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/92305 |
| * trans-types.c (gfc_get_function_type): Also push boolean_type_node |
| types for non-character scalar VALUE optional dummy arguments. |
| * trans-decl.c (create_function_arglist): Skip those in |
| hidden_typelist. Formatting fix. |
| |
| 2020-01-31 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93462 |
| * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set |
| in_omp_atomic to true prevent front-end optimization. |
| |
| 2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| PR fortran/87103 |
| * expr.c (gfc_check_conformance): Check vsnprintf for truncation. |
| * iresolve.c (gfc_get_string): Likewise. |
| * symbol.c (gfc_new_symbol): Remove check for maximum symbol |
| name length. Remove redundant 0 setting of new calloc()ed |
| gfc_symbol. |
| |
| 2020-01-30 Paul Thomas <pault@gcc.gnu.org> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/92123 |
| * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for |
| CFI descs. |
| (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR" |
| for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}. |
| (convert_CFI_desc): Handle references to CFI descriptors. |
| |
| 2020-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/93463 |
| * openmp.c (oacc_code_to_statement): Handle |
| EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. |
| |
| 2020-01-28 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93461 |
| * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to |
| GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, |
| plus the "." between module and submodule names. |
| * gfortran.dg/pr93461.f90: New test. |
| |
| 2020-01-28 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93473 |
| * parse.c: Increase length of char variables to allow them to hold |
| a concatenated module + submodule name. |
| * gfortran.dg/pr93473.f90: New test. |
| |
| 2020-01-28 Julian Brown <julian@codesourcery.com> |
| |
| PR fortran/93025 |
| * openmp.c (resolve_omp_clauses): Check array references for contiguity. |
| |
| 2020-01-28 Julian Brown <julian@codesourcery.com> |
| |
| * gfortran.h (gfc_symbol): Add comp_mark bitfield. |
| * openmp.c (resolve_omp_clauses): Disallow mixed component and |
| full-derived-type accesses to the same variable within a single |
| directive. |
| |
| 2020-01-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93464 |
| * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when |
| DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not |
| GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars. |
| |
| 2020-01-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.texi (Runtime): Remove tailing '.' in @menu. |
| |
| 2020-01-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/85781 |
| * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings |
| of Bind(C) procedures. |
| |
| 2020-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. |
| * trans-openmp.c (gfc_trans_omp_target) |
| <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first. |
| |
| PR fortran/93329 |
| * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* |
| cases. |
| |
| 2020-01-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93309 |
| * interface.c (gfc_procedure_use): Also check parent namespace for |
| 'implict none (external)'. |
| * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export |
| to parent namespace's setting. |
| |
| 2020-01-19 Thomas König <tkoenig@gcc.gnu.org> |
| |
| PR fortran/44960 |
| * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR. |
| * resolve.c (resolve_function): Issue error when a |
| function call contains a reference. |
| |
| 2020-01-17 Mark Eggleston <mark.eggleston@codethink.com> |
| |
| PR fortran/93236 |
| * resolve.c (resolve_types): Declare boolean recursive and set with the |
| value of the recursive attribute of namespace proc_name symbol |
| structure if it exists. Call gfc_save_all if both flag_automatic and |
| recursive are false or ns->save_all is true. |
| |
| 2020-01-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93253 |
| * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz |
| in the error message. |
| * gfortran.texi (BOZ literal constants): List another missing |
| extension and refer to -fallow-invalid-boz. |
| * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text |
| as it is not covered by the previous wording. |
| * primary.c (match_boz_constant): Tweak wording such that it is |
| clear how to fix the nonstandard use. |
| |
| 2020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/65428 |
| * array.c (empty_constructor): New variable. |
| (empty_ts): New variable. |
| (expand_constructor): Save typespec in empty_ts. |
| Unset empty_constructor if there is an element. |
| (gfc_expand_constructor): Initialize empty_constructor |
| and empty_ts. If there was no explicit constructor |
| type and the constructor is empty, take the type from |
| empty_ts. |
| |
| 2020-01-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/84135 |
| * array.c (gfc_set_array_spec): Fix shifting of codimensions |
| when adding a dimension. |
| * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. |
| |
| 2020-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/93162 |
| * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type |
| before testing u.ar.type == AR_FULL. |
| |
| 2020-01-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/91640 |
| * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable |
| arguments to contiguous dummy args. Avoid re-checking whether fsym is |
| NULL. |
| |
| 2020-01-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * trans-openmp.c (gfc_omp_check_optional_argument): Always return a |
| Boolean expression; handle unallocated/disassociated actual arguments |
| as absent if passed to nonallocatable/nonpointer dummy array arguments. |
| (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer. |
| (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated |
| array-data variable if the argument is absent. Simplify code as |
| 'present' is now a Boolean expression. |
| |
| 2020-01-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/92994 |
| * primary.c (gfc_match_rvalue): Add some flavor checks |
| gfc_matching_procptr_assignment. |
| * resolve.c (resolve_assoc_var): Add more checks for invalid targets. |
| |
| 2020-01-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/68020 |
| * array.c (gfc_match_array_spec): Fix implied-type matching |
| for rank > 2. |
| |
| 2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93113 |
| * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch |
| for ref types. |
| |
| 2020-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) 2020 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. |