| 2023-12-28 Rimvydas Jasinskas <rimvydas.jas@gmail.com> | |
| PR fortran/81615 | |
| * invoke.texi: Add Developer Options section. Move '-fdump-*' | |
| to it. Add small examples about changed '-save-temps' behavior. | |
| 2023-12-20 Rimvydas Jasinskas <rimvydas.jas@gmail.com> | |
| PR fortran/81615 | |
| * lang-specs.h (F951_CPP_OPTIONS): Do not hardcode ".f90" extension | |
| (F951_CPP_EXTENSION): Use .fi/.fii for fixed/free form sources | |
| * options.cc (form_from_filename): Handle the new extensions | |
| 2023-12-19 Sandra Loosemore <sandra@codesourcery.com> | |
| * gfortran.h: Include omp-selectors.h. | |
| (enum gfc_omp_trait_property_kind): Delete, and replace all | |
| references with equivalent omp_tp_type enumerators. | |
| (struct gfc_omp_trait_property): Update for omp_tp_type. | |
| (struct gfc_omp_selector): Replace string name with new enumerator. | |
| (struct gfc_omp_set_selector): Likewise. | |
| * openmp.cc (gfc_free_omp_trait_property_list): Update for | |
| omp_tp_type. | |
| (omp_construct_selectors): Delete. | |
| (omp_device_selectors): Delete. | |
| (omp_implementation_selectors): Delete. | |
| (omp_user_selectors): Delete. | |
| (gfc_ignore_trait_property_extension): New. | |
| (gfc_ignore_trait_property_extension_list): New. | |
| (gfc_match_omp_selector): Adjust for new representations and simplify | |
| dispatch logic. Uniformly warn instead of sometimes error when an | |
| unknown selector is found. | |
| (gfc_match_omp_context_selector): Adjust for new representations. | |
| Adjust error messages for extraneous/incorrect score. | |
| (gfc_match_omp_context_selector_specification): Likewise. | |
| * trans-openmp.cc (gfc_trans_omp_declare_variant): Adjust for | |
| new representations. | |
| 2023-12-19 Sandra Loosemore <sandra@codesourcery.com> | |
| * trans-openmp.cc (gfc_trans_omp_declare_varaint): Adjust for | |
| new namelist property representation. | |
| 2023-12-19 Sandra Loosemore <sandra@codesourcery.com> | |
| * trans-openmp.cc (gfc_trans_omp_declare_variant): Use new | |
| constructors. | |
| 2023-12-18 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/96580 | |
| * check.cc (array_size_check): New helper function. | |
| (gfc_check_date_and_time): Use it for checking minimum size of | |
| VALUES argument. Update kind check to Fortran 2018. | |
| * intrinsic.texi: Fix documentation of DATE_AND_TIME. | |
| 2023-12-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/97592 | |
| * trans-expr.cc (gfc_conv_procedure_call): For a contiguous dummy | |
| with the TARGET attribute, the effective argument may still be | |
| contiguous even if the actual argument is not simply-contiguous. | |
| Allow packing to be decided at runtime by _gfortran_internal_pack. | |
| 2023-12-16 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/112459 | |
| * trans-array.cc (gfc_trans_array_constructor_value): Replace | |
| gfc_notification_std with explicit logical expression that | |
| selects F2003/2008 and excludes -std=default/gnu. | |
| * trans-expr.cc (gfc_conv_expr): Ditto. | |
| 2023-12-16 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/112834 | |
| PR fortran/111853 | |
| * match.cc (build_associate_name): Fix whitespace issues. | |
| (select_type_set_tmp): If the selector is of unknown type, go | |
| the SELECT TYPE selector to see if this is a function and, if | |
| the result is available, use its typespec. | |
| * parse.cc (parse_associate): Again, use the function result if | |
| the type of the selector result is unknown. | |
| * trans-stmt.cc (trans_associate_var): The expression has to be | |
| of type class, for class_target to be true. Convert and fix | |
| class functions. Pass the fixed expression. | |
| * resolve.cc (gfc_expression_rank): Avoid null dereference. | |
| 2023-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/112783 | |
| * intrinsic.texi: Fix where no COMPLEX allowed. | |
| * invoke.texi: Clarify -fdev-math. | |
| 2023-12-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/112873 | |
| * gfortran.texi: Update to reflect the changes. | |
| * intrinsic.cc (add_functions): Update the standard that the | |
| various degree trigonometric functions have been described in. | |
| (gfc_check_intrinsic_standard): Add an error string for F2023. | |
| * intrinsic.texi: Update accordingly. | |
| 2023-12-13 Julian Brown <julian@codesourcery.com> | |
| * dependency.cc (gfc_omp_expr_prefix_same): New function. | |
| * dependency.h (gfc_omp_expr_prefix_same): Add prototype. | |
| * gfortran.h (gfc_omp_namelist): Add "duplicate_of" field to "u2" | |
| union. | |
| * trans-openmp.cc (dependency.h): Include. | |
| (gfc_trans_omp_array_section): Adjust mapping node arrangement for | |
| array descriptors. Use GOMP_MAP_TO_PSET or | |
| GOMP_MAP_RELEASE/GOMP_MAP_DELETE with the OMP_CLAUSE_RELEASE_DESCRIPTOR | |
| flag set. | |
| (gfc_symbol_rooted_namelist): New function. | |
| (gfc_trans_omp_clauses): Check subcomponent and subarray/element | |
| accesses elsewhere in the clause list for pointers to derived types or | |
| array descriptors, and adjust or drop mapping nodes appropriately. | |
| Adjust for changes to mapping node arrangement. | |
| (gfc_trans_oacc_executable_directive): Pass code op through. | |
| 2023-12-13 Julian Brown <julian@codesourcery.com> | |
| * trans-openmp.cc (gfc_trans_omp_array_section): Add OPENMP parameter. | |
| Use GOMP_MAP_ATTACH_DETACH instead of GOMP_MAP_ALWAYS_POINTER for | |
| derived type components. | |
| (gfc_trans_omp_clauses): Update calls to gfc_trans_omp_array_section. | |
| 2023-12-11 Thomas Schwinge <thomas@codesourcery.com> | |
| * trans-openmp.cc (gfc_omp_call_is_alloc): Resolve ICE. | |
| 2023-12-11 Tobias Burnus <tobias@codesourcery.com> | |
| * gfortran.h (enum gfc_omp_requires_kind): Add | |
| OMP_REQ_ATOMIC_MEM_ORDER_ACQUIRE and OMP_REQ_ATOMIC_MEM_ORDER_RELEASE. | |
| (gfc_namespace): Add a 7th bit to omp_requires. | |
| * module.cc (enum ab_attribute): Add AB_OMP_REQ_MEM_ORDER_ACQUIRE | |
| and AB_OMP_REQ_MEM_ORDER_RELEASE | |
| (mio_symbol_attribute): Handle it. | |
| * openmp.cc (gfc_omp_requires_add_clause): Update for acquire/release. | |
| (gfc_match_omp_requires): Likewise. | |
| (gfc_match_omp_atomic): Handle them for atomic_default_mem_order. | |
| * parse.cc: Likewise. | |
| 2023-12-11 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-openmp.cc (gfc_omp_call_add_alloc, | |
| gfc_omp_call_is_alloc): Set 'fn spec'. | |
| 2023-12-10 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/111503 | |
| * expr.cc (gfc_is_simply_contiguous): Determine characteristics of | |
| NULL() from optional MOLD argument, otherwise treat as contiguous. | |
| * primary.cc (gfc_variable_attr): Derive attributes of NULL(MOLD) | |
| from MOLD. | |
| 2023-12-10 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/105543 | |
| * resolve.cc (resolve_symbol): For a CLASS-valued function having a | |
| RESULT clause, ensure that attr.class_ok is set for its symbol as | |
| well as for its resolved result variable. | |
| 2023-12-08 Tobias Burnus <tobias@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_node): Handle EXEC_OMP_ALLOCATE | |
| and EXEC_OMP_ALLOCATORS. | |
| * f95-lang.cc (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): | |
| Add 'ECF_LEAF | ECF_MALLOC' to existing 'ECF_NOTHROW'. | |
| (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST): Define. | |
| * gfortran.h (gfc_omp_clauses): Add contained_in_target_construct. | |
| * invoke.texi (-fopenacc, -fopenmp): Update based on C version. | |
| (-fopenmp-simd): New, based on C version. | |
| (-fopenmp-allocators): New. | |
| * lang.opt (fopenmp-allocators): Add. | |
| * openmp.cc (resolve_omp_clauses): For allocators/allocate directive, | |
| add target and no dynamic_allocators diagnostic and more invalid | |
| diagnostic. | |
| * parse.cc (decode_omp_directive): Set contains_teams_construct. | |
| * trans-array.h (gfc_array_allocate): Update prototype. | |
| (gfc_conv_descriptor_version): New prototype. | |
| * trans-decl.cc (gfc_init_default_dt): Fix comment. | |
| * trans-array.cc (gfc_conv_descriptor_version): New. | |
| (gfc_array_allocate): Support GOMP_alloc allocation. | |
| (gfc_alloc_allocatable_for_assignment, structure_alloc_comps): | |
| Handle GOMP_free/omp_realloc as needed. | |
| * trans-expr.cc (gfc_conv_procedure_call): Likewise. | |
| (alloc_scalar_allocatable_for_assignment): Likewise. | |
| * trans-intrinsic.cc (conv_intrinsic_move_alloc): Likewise. | |
| * trans-openmp.cc (gfc_trans_omp_allocators, | |
| gfc_trans_omp_directive): Handle allocators/allocate directive. | |
| (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New. | |
| * trans-stmt.h (gfc_trans_allocate): Update prototype. | |
| * trans-stmt.cc (gfc_trans_allocate): Support GOMP_alloc. | |
| * trans-types.cc (gfc_get_dtype_rank_type): Set version field. | |
| * trans.cc (gfc_allocate_using_malloc, gfc_allocate_allocatable): | |
| Update to handle GOMP_alloc. | |
| (gfc_deallocate_with_status, gfc_deallocate_scalar_with_status): | |
| Handle GOMP_free. | |
| (trans_code): Update call. | |
| * trans.h (gfc_allocate_allocatable, gfc_allocate_using_malloc): | |
| Update prototype. | |
| (gfc_omp_call_add_alloc, gfc_omp_call_is_alloc): New prototype. | |
| * types.def (BT_FN_PTR_PTR_SIZE_PTRMODE_PTRMODE): New. | |
| 2023-12-06 David Malcolm <dmalcolm@redhat.com> | |
| * error.cc (gfc_diagnostic_starter): Make diagnostic_info param | |
| const. | |
| (gfc_diagnostic_finalizer): Likewise. | |
| 2023-12-05 Harald Anlauf <anlauf@gmx.de> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/100988 | |
| * gfortran.h (IS_PROC_POINTER): New macro. | |
| * trans-types.cc (gfc_sym_type): Use macro in determination if the | |
| restrict qualifier can be used for a dummy variable. Fix logic to | |
| allow the restrict qualifier also for optional arguments, and to | |
| not apply it to pointer or proc_pointer arguments. | |
| 2023-12-05 Richard Sandiford <richard.sandiford@arm.com> | |
| * f95-lang.cc (gfc_gnu_attribute_table): Add extra braces to work | |
| around PR 16333 in older compilers. | |
| 2023-12-02 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/93762 | |
| PR fortran/100651 | |
| * trans-array.cc (gfc_trans_deferred_array): Add presence check | |
| for optional deferred-length character dummy arguments. | |
| * trans-expr.cc (gfc_conv_missing_dummy): The character length for | |
| deferred-length dummy arguments is passed by reference, so that | |
| its value can be returned. Adjust handling for optional dummies. | |
| 2023-12-02 Richard Sandiford <richard.sandiford@arm.com> | |
| * f95-lang.cc: Include attribs.h. | |
| (gfc_attribute_table): Change to an array of scoped_attribute_specs | |
| pointers, using... | |
| (gfc_gnu_attributes, gfc_gnu_attribute_table): ...these new globals. | |
| 2023-12-01 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/112772 | |
| * trans-expr.cc (gfc_conv_class_to_class): Make copy-out conditional | |
| on the presence of an OPTIONAL CLASS argument passed to an OPTIONAL | |
| CLASS dummy. | |
| 2023-11-30 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/112764 | |
| * primary.cc (gfc_variable_attr): Set TARGET attribute of associating | |
| entity dependent on TARGET or POINTER attribute of selector. | |
| 2023-11-28 Andrew Jenner <andrew@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/110415 | |
| * trans-expr.cc (trans_class_vptr_len_assignment): Add | |
| from_vptrp parameter. Populate it. Don't check for DECL_P | |
| when deciding whether to create temporary. | |
| (trans_class_pointer_fcn, gfc_trans_pointer_assignment): Add | |
| NULL argument to trans_class_vptr_len_assignment calls. | |
| (trans_class_assignment): Get rhs_vptr from | |
| trans_class_vptr_len_assignment and use it for determining size | |
| for allocation/reallocation. Use return value from realloc. | |
| 2023-11-26 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/111880 | |
| * resolve.cc (resolve_common_vars): Do not call gfc_add_in_common | |
| for symbols that are USE associated or used in a submodule. | |
| 2023-11-24 Tobias Burnus <tobias@codesourcery.com> | |
| * lang.opt (Wopenmp): Add, enabled by dafault and documented in C. | |
| * openmp.cc (gfc_match_omp_declare_target, resolve_positive_int_expr, | |
| resolve_nonnegative_int_expr, resolve_omp_clauses, | |
| gfc_resolve_omp_do_blocks): Use OPT_Wopenmp with gfc_warning{,_now}. | |
| 2023-11-24 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.cc (gfc_match_omp_depobj): Accept optionally an argument | |
| to the destroy clause. | |
| 2023-11-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/112609 | |
| * check.cc (gfc_check_system_clock): Add checks on integer arguments | |
| to SYSTEM_CLOCK specific to F2023. | |
| * error.cc (notify_std_msg): Adjust to handle new features added | |
| in F2023. | |
| * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023_DEL, | |
| remove obsolete option GFC_STD_F2008_TS and fix enumeration values. | |
| * libgfortran.h (GFC_STD_F2023_DEL): Add and use in GFC_STD_OPT_F23. | |
| * options.cc (set_default_std_flags): Add GFC_STD_F2023_DEL. | |
| 2023-11-17 Tobias Burnus <tobias@codesourcery.com> | |
| * gfortran.texi (_gfortran_set_options): Document GFC_STD_F2023. | |
| * invoke.texi (std,pedantic,Wampersand,Wtabs): Add -std=2023. | |
| * lang.opt (std=f2023): Add. | |
| * libgfortran.h (GFC_STD_F2023, GFC_STD_OPT_F23): Add. | |
| * options.cc (set_default_std_flags): Add GFC_STD_F2023. | |
| (gfc_init_options): Set max_continue_free to 1,000,000. | |
| (gfc_post_options): Set flag_free_line_length if unset. | |
| (gfc_handle_option): Add OPT_std_f2023, set max_continue_free = 255 | |
| for -std=f2003, f2008 and f2018. | |
| 2023-11-14 David Malcolm <dmalcolm@redhat.com> | |
| * error.cc (gfc_diagnostics_init): Use diagnostic_start_span. | |
| 2023-11-07 Joseph Myers <joseph@codesourcery.com> | |
| * gfortran.h (gfc_real_info): Refer to C23 instead of C2X in | |
| comment. | |
| 2023-11-06 Martin Jambor <mjambor@suse.cz> | |
| * trans-decl.cc (gfc_build_builtin_function_decls): Fix fnspec of | |
| generate_error. | |
| 2023-11-04 David Malcolm <dmalcolm@redhat.com> | |
| * cpp.cc: Update for changes to diagnostic_context. | |
| * error.cc: Likewise. | |
| * options.cc: Likewise. | |
| 2023-11-03 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/97245 | |
| * match.cc (gfc_match_call): If a procedure pointer has already been | |
| resolved, do not create a new symbol in a procedure reference of | |
| the same name shadowing the first one if it is host-associated. | |
| 2023-11-03 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/92887 | |
| * trans-expr.cc (conv_cond_temp): Helper function for creation of a | |
| conditional temporary. | |
| (gfc_conv_procedure_call): Handle passing of allocatable or pointer | |
| actual argument to dummy with OPTIONAL + VALUE attribute. Actual | |
| arguments that are not allocated or associated are treated as not | |
| present. | |
| 2023-11-03 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/98498 | |
| * interface.cc (upoly_ok): Defined operators using unlimited | |
| polymorphic formal arguments must not override the intrinsic | |
| operator use. | |
| 2023-11-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/112316 | |
| * parse.cc (parse_associate): Remove condition that caused this | |
| regression. | |
| 2023-10-30 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/104555 | |
| * resolve.cc (resolve_select_type): If the selector expression | |
| has no class component references and the expression is a | |
| derived type, copy the typespec of the symbol to that of the | |
| expression. | |
| 2023-10-27 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/104649 | |
| * decl.cc (gfc_match_formal_arglist): Handle conflicting declarations | |
| of a MODULE PROCEDURE when one of the declarations is an alternate | |
| return. | |
| 2023-10-27 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/104625 | |
| * expr.cc (gfc_check_vardef_context): Check that the target | |
| does have a vector index before emitting the specific error. | |
| * match.cc (copy_ts_from_selector_to_associate): Ensure that | |
| class valued operator expressions set the selector rank and | |
| use the rank to provide the associate variable with an | |
| appropriate array spec. | |
| * resolve.cc (resolve_operator): Reduce stacked parentheses to | |
| a single pair. | |
| (fixup_array_ref): Extract selector symbol from parentheses. | |
| 2023-10-26 Paul-Antoine Arras <pa@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| * interface.cc (gfc_compare_types): Return true if one type is C_PTR | |
| and the other is a compatible INTEGER(8). | |
| * misc.cc (gfc_typename): Handle the case where an INTEGER(8) actually | |
| holds a TYPE(C_PTR). | |
| 2023-10-25 Thomas Schwinge <thomas@codesourcery.com> | |
| * openmp.cc (omp_mask2): Split 'OMP_CLAUSE_HOST_SELF' into | |
| 'OMP_CLAUSE_SELF', 'OMP_CLAUSE_HOST'. | |
| (gfc_match_omp_clauses, OACC_UPDATE_CLAUSES): Adjust. | |
| 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com> | |
| * gfortran.h (typedef struct gfc_omp_clauses): Add self_expr field. | |
| * openmp.cc (enum omp_mask2): Add OMP_CLAUSE_SELF. | |
| (gfc_match_omp_clauses): Add handling for OMP_CLAUSE_SELF. | |
| (OACC_PARALLEL_CLAUSES): Add OMP_CLAUSE_SELF. | |
| (OACC_KERNELS_CLAUSES): Likewise. | |
| (OACC_SERIAL_CLAUSES): Likewise. | |
| (resolve_omp_clauses): Add handling for omp_clauses->self_expr. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Add handling of | |
| clauses->self_expr and building of OMP_CLAUSE_SELF tree clause. | |
| (gfc_split_omp_clauses): Add handling of self_expr field copy. | |
| 2023-10-25 Thomas Schwinge <thomas@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_clauses): Group handling of 'if' | |
| clause without and with modifier. | |
| * frontend-passes.cc (gfc_code_walker): Likewise. | |
| * gfortran.h (gfc_omp_clauses): Likewise. | |
| * openmp.cc (gfc_free_omp_clauses): Likewise. | |
| 2023-10-18 Tobias Burnus <tobias@codesourcery.com> | |
| * intrinsic.texi (signal): Add 'intrinsic :: signal, sleep' to | |
| the example to make it safer. | |
| 2023-10-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/111837 | |
| * frontend-passes.cc (traverse_io_block): Dependency check of loop | |
| nest shall be triangular, not banded. | |
| 2023-10-17 Tobias Burnus <tobias@codesourcery.com> | |
| * intrinsic.texi (signal): Mention that the argument | |
| passed to the signal handler procedure is passed by reference. | |
| Extend example. | |
| 2023-10-15 Tobias Burnus <tobias@codesourcery.com> | |
| * scanner.cc (skip_free_comments, skip_fixed_comments): Remove | |
| leftover 'OpenACC' from comments about OpenMP's conditional | |
| compilation sentinel. | |
| 2023-10-14 Tobias Burnus <tobias@codesourcery.com> | |
| * gfortran.h (ext_attr_t): Add omp_allocate flag. | |
| * match.cc (gfc_free_omp_namelist): Void deleting same | |
| u2.allocator multiple times now that a sequence can use | |
| the same one. | |
| * openmp.cc (gfc_match_omp_clauses, gfc_match_omp_allocate): Use | |
| same allocator expr multiple times. | |
| (is_predefined_allocator): Make static. | |
| (gfc_resolve_omp_allocate): Update/extend restriction checks; | |
| remove sorry message. | |
| (resolve_omp_clauses): Reject corarrays in allocate/allocators | |
| directive. | |
| * parse.cc (check_omp_allocate_stmt): Permit procedure pointers | |
| here (rejected later) for less misleading diagnostic. | |
| * trans-array.cc (gfc_trans_auto_array_allocation): Propagate | |
| size for GOMP_alloc and location to which it should be added to. | |
| * trans-decl.cc (gfc_trans_deferred_vars): Handle 'omp allocate' | |
| for stack variables; sorry for static variables/common blocks. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Evaluate 'allocate' | |
| clause's allocator only once; fix adding expressions to the | |
| block. | |
| (gfc_trans_omp_single): Pass a block to gfc_trans_omp_clauses. | |
| 2023-10-13 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104351 | |
| * decl.cc (get_proc_name): Extend name conflict detection between | |
| internal procedure and previous declaration also to derived type. | |
| 2023-10-13 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110957 | |
| * invoke.texi: Update documentation to reflect '-ffpe-trap=none'. | |
| * options.cc (gfc_handle_fpe_option): Fix mixup up of error messages | |
| for options -ffpe-trap and -ffpe-summary. Accept '-ffpe-trap=none' | |
| to clear FPU traps previously set on command line. | |
| 2023-10-13 Richard Biener <rguenther@suse.de> | |
| PR tree-optimization/111779 | |
| * trans-expr.cc (gfc_trans_assignment_1): Initialize | |
| lhs_caf_attr and rhs_caf_attr codimension flag to avoid | |
| false positive -Wuninitialized. | |
| 2023-10-12 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/67740 | |
| * trans-expr.cc (gfc_trans_pointer_assignment): Set the hidden | |
| string length component for pointer assignment to character | |
| pointer components. | |
| 2023-10-08 Tobias Burnus <tobias@codesourcery.com> | |
| * parse.cc (parse_omp_structured_block): Make the user code end | |
| up inside of BLOCK construct for strictly structured blocks; | |
| fix fallout for 'section' and 'teams'. | |
| * openmp.cc (resolve_omp_target): Fix changed BLOCK handling | |
| for teams in target checking. | |
| 2023-10-04 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/37336 | |
| PR fortran/111674 | |
| * trans-expr.cc (gfc_trans_scalar_assign): Finalize components | |
| on deallocation if derived type is not finalizable. | |
| 2023-10-03 David Malcolm <dmalcolm@redhat.com> | |
| * error.cc (gfc_format_decoder): Update for "m_" prefixes to | |
| text_info fields. | |
| 2023-10-02 David Malcolm <dmalcolm@redhat.com> | |
| * error.cc (gfc_diagnostics_init): Update for change to start_span. | |
| 2023-10-02 David Malcolm <dmalcolm@redhat.com> | |
| * error.cc (gfc_diagnostic_starter): Update for reorganization of | |
| source-printing fields of diagnostic_context. | |
| (gfc_diagnostics_init): Likewise. | |
| (gfc_diagnostics_finish): Likewise. | |
| 2023-09-29 Andre Vehreschild <vehre@gcc.gnu.org> | |
| PR fortran/37336 | |
| * trans-array.cc (structure_alloc_comps): Deref coarray. | |
| (gfc_trans_deferred_array): Add freeing of components after | |
| check for allocated coarray. | |
| 2023-09-24 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/68155 | |
| PR fortran/111271 | |
| * decl.cc (fix_initializer_charlen): New function broken out of | |
| add_init_expr_to_sym. | |
| (add_init_expr_to_sym, build_struct): Call the new function. | |
| * trans-expr.cc (gfc_conv_intrinsic_to_class): Remove repeated | |
| condition. | |
| 2023-09-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/95710 | |
| * class.cc (gfc_build_class_symbol): Do not try to build class | |
| container for invalid typespec. | |
| * resolve.cc (resolve_fl_var_and_proc): Prevent NULL pointer | |
| dereference. | |
| (resolve_symbol): Likewise. | |
| 2023-09-19 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/70231 | |
| * trans-array.cc (trans_array_constructor): In absence of a typespec, | |
| use string length determined by get_array_ctor_strlen() to reasonably | |
| initialize auxiliary variable for bounds-checking. | |
| 2023-09-15 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/30802 | |
| * trans-array.cc (trans_array_bound_check): Add optional argument | |
| COMPNAME for explicit specification of array component name. | |
| (array_bound_check_elemental): Helper function for generating | |
| bounds-checking code for elemental dimensions. | |
| (gfc_conv_expr_descriptor): Use bounds-checking also for elemental | |
| dimensions, i.e. those not handled by the scalarizer. | |
| 2023-09-15 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/108957 | |
| * gfortran.h (gfc_symbol): Add comment documenting reference counting. | |
| * parse.cc (parse_interface): Remove reference count incrementation. | |
| 2023-09-12 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/110996 | |
| * gfortran.h (gfc_release_symbol): Set return type to bool. | |
| * symbol.cc (gfc_release_symbol): Ditto. Return whether symbol was | |
| freed. | |
| (delete_symbol_from_ns): New, outline code from... | |
| (gfc_restore_last_undo_checkpoint): ... here. Delete new symbols | |
| from two more namespaces. | |
| 2023-09-09 Mikael Morin <mikael@gcc.gnu.org> | |
| * bbt.cc (delete_treap): Add argument REMOVED, set it to the removed | |
| element from the tree. Change NULL to nullptr. | |
| (gfc_delete_bbt): Return the removed element from the tree. | |
| * gfortran.h (gfc_delete_symtree): Remove prototype. | |
| (gfc_delete_bbt): Set return type to pointer. | |
| * symbol.cc (gfc_delete_symtree): Make static. Get the element to be | |
| freed from the result of gfc_delete_bbt. Remove the preliminary walk to | |
| get it. | |
| 2023-09-01 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/31059 | |
| * trans-array.cc (gfc_conv_ss_startstride): For array bounds checking, | |
| consider also array constructors in expressions, and use their shape. | |
| 2023-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
| * gfortran.texi: Likewise. | |
| 2023-08-30 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/48776 | |
| * gfortran.h (gfc_drop_interface_elements_before): New prototype. | |
| (gfc_current_interface_head): Return a reference to the pointer. | |
| * interface.cc (gfc_current_interface_head): Ditto. | |
| (free_interface_elements_until): New function, generalizing | |
| gfc_free_interface. | |
| (gfc_free_interface): Use free_interface_elements_until. | |
| (gfc_drop_interface_elements_before): New function. | |
| * parse.cc | |
| (current_interface_ptr, previous_interface_head): New static variables. | |
| (current_interface_valid_p, get_current_interface_ptr): New functions. | |
| (decode_statement): Initialize previous_interface_head. | |
| (reject_statement): Restore current interface pointer to point to | |
| previous_interface_head. | |
| 2023-08-26 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/92586 | |
| * trans-expr.cc (gfc_trans_arrayfunc_assign): Supply a missing | |
| dereference for the call to gfc_deallocate_alloc_comp_no_caf. | |
| 2023-08-25 Sandra Loosemore <sandra@codesourcery.com> | |
| * gfortran.h (struct gfc_namespace): Add omp_structured_block bit. | |
| * openmp.cc: Include omp-api.h. | |
| (resolve_omp_clauses): Consolidate inscan reduction clause conflict | |
| checking here. | |
| (find_nested_loop_in_chain): New. | |
| (find_nested_loop_in_block): New. | |
| (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse properly. | |
| Handle imperfectly-nested loops when looking for nested omp scan. | |
| Refactor to move inscan reduction clause conflict checking to | |
| resolve_omp_clauses. | |
| (gfc_resolve_do_iterator): Handle imperfectly-nested loops. | |
| (struct icode_error_state): New. | |
| (icode_code_error_callback): New. | |
| (icode_expr_error_callback): New. | |
| (diagnose_intervening_code_errors_1): New. | |
| (diagnose_intervening_code_errors): New. | |
| (make_structured_block): New. | |
| (restructure_intervening_code): New. | |
| (is_outer_iteration_variable): Do not assume loops are perfectly | |
| nested. | |
| (check_nested_loop_in_chain): New. | |
| (check_nested_loop_in_block_state): New. | |
| (check_nested_loop_in_block_symbol): New. | |
| (check_nested_loop_in_block): New. | |
| (expr_uses_intervening_var): New. | |
| (is_intervening_var): New. | |
| (expr_is_invariant): Do not assume loops are perfectly nested. | |
| (resolve_omp_do): Handle imperfectly-nested loops. | |
| * trans-stmt.cc (gfc_trans_block_construct): Generate | |
| OMP_STRUCTURED_BLOCK if magic bit is set on block namespace. | |
| 2023-08-25 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/35095 | |
| * data.cc (get_array_index): Add bounds-checking code and return error | |
| status. Overindexing will be allowed as an extension for -std=legacy | |
| and generate an error in standard-conforming mode. | |
| (gfc_assign_data_value): Use error status from get_array_index for | |
| graceful error recovery. | |
| 2023-08-25 Uros Bizjak <ubizjak@gmail.com> | |
| * match.cc (gfc_match_equivalence): Rename TRUE/FALSE to true/false. | |
| * module.cc (check_access): Ditto. | |
| * primary.cc (match_real_constant): Ditto. | |
| * trans-array.cc (gfc_trans_allocate_array_storage): Ditto. | |
| (get_array_ctor_strlen): Ditto. | |
| * trans-common.cc (find_equivalence): Ditto. | |
| (add_equivalences): Ditto. | |
| 2023-08-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/32986 | |
| * resolve.cc (is_non_constant_shape_array): Add forward declaration. | |
| (resolve_common_vars): Diagnose automatic array object in COMMON. | |
| (resolve_symbol): Prevent confusing follow-on error. | |
| 2023-08-22 Tobias Burnus <tobias@codesourcery.com> | |
| * gfortran.h (enum gfc_omp_defaultmap_category): | |
| Add OMP_DEFAULTMAP_CAT_ALL. | |
| * openmp.cc (gfc_match_omp_clauses): Parse | |
| 'all' as category. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Handle it. | |
| 2023-08-22 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/49588 | |
| * data.cc (gfc_advance_section): Derive next index set and next offset | |
| into DATA variable also for array references using vector sections. | |
| Use auxiliary array to keep track of offsets into indexing vectors. | |
| (gfc_get_section_index): Set up initial indices also for DATA variables | |
| with array references using vector sections. | |
| * data.h (gfc_get_section_index): Adjust prototype. | |
| (gfc_advance_section): Likewise. | |
| * resolve.cc (check_data_variable): Pass vector offsets. | |
| 2023-08-16 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110360 | |
| * trans-expr.cc (conv_scalar_char_value): Use gfc_replace_expr to | |
| avoid leaking replaced gfc_expr. | |
| 2023-08-15 Martin Jambor <mjambor@suse.cz> | |
| Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110677 | |
| * resolve.cc (resolve_structure_cons): Check comp->ts is character | |
| type before accessing stuff through comp->ts.u.cl. | |
| 2023-08-15 Chung-Lin Tang <cltang@codesourcery.com> | |
| Thomas Schwinge <thomas@codesourcery.com> | |
| * openmp.cc (OACC_DATA_CLAUSES): Add OMP_CLAUSE_DEFAULT. | |
| 2023-08-14 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/110360 | |
| PR fortran/110419 | |
| * trans-types.cc (gfc_sym_type): Use a bare character type for length | |
| one value character dummy arguments. | |
| * trans-expr.cc (gfc_conv_string_parameter): Handle single character | |
| case. | |
| (gfc_conv_procedure_call): Don't exclude interoperable kinds | |
| from single character handling. For single character dummy arguments, | |
| extend the existing handling of non-constant expressions to constant | |
| expressions. | |
| 2023-08-14 Mikael Morin <mikael@gcc.gnu.org> | |
| * gfortran.h (gfc_length_one_character_type_p): New inline | |
| function. | |
| * check.cc (is_c_interoperable): Use | |
| gfc_length_one_character_type_p. | |
| * decl.cc (verify_bind_c_sym): Same. | |
| * trans-expr.cc (gfc_conv_procedure_call): Same. | |
| 2023-08-09 Steve Kargl <sgk@troutmask.apl.washington.edu> | |
| PR fortran/109684 | |
| * resolve.cc (resolve_types): Exclude contained procedures with | |
| the artificial attribute from test for pureness. | |
| 2023-07-31 Chung-Lin Tang <cltang@codesourcery.com> | |
| * openmp.cc (resolve_omp_clauses): Add checking requiring | |
| OpenACC host_data construct to have an use_device clause. | |
| 2023-07-28 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110825 | |
| * gfortran.texi: Clarify argument passing convention. | |
| * trans-expr.cc (gfc_conv_procedure_call): Do not pass the character | |
| length as hidden argument when the declared dummy argument is | |
| assumed-type. | |
| 2023-07-27 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.cc (resolve_omp_target): Minor cleanup. | |
| * parse.cc (decode_omp_directive): Find TARGET statement | |
| also higher in the stack. | |
| 2023-07-26 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/68569 | |
| * resolve.cc (check_data_variable): Do not accept strings with | |
| deferred length or non-constant length in a DATA statement. | |
| Reject also substrings of string variables of non-constant length. | |
| 2023-07-25 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/110725 | |
| PR middle-end/71065 | |
| * gfortran.h (gfc_omp_clauses): Add target_first_st_is_teams. | |
| * parse.cc (parse_omp_structured_block): Set it if the first | |
| statement in the structured block of a TARGET is TEAMS or | |
| a combined/composite starting with TEAMS. | |
| * openmp.cc (resolve_omp_target): Also show an error for | |
| contains_teams_construct without target_first_st_is_teams. | |
| 2023-07-24 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/110725 | |
| PR middle-end/71065 | |
| * gfortran.h (gfc_omp_clauses): Add contains_teams_construct. | |
| * openmp.cc (resolve_omp_target): New; check for teams nesting. | |
| (gfc_resolve_omp_directive): Call it. | |
| * parse.cc (decode_omp_directive): Set contains_teams_construct | |
| on enclosing ST_OMP_TARGET. | |
| 2023-07-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
| * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): Only | |
| define it once. | |
| 2023-07-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
| * f95-lang.cc (gfc_init_builtin_functions): Add __builtin_iseqsig. | |
| * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): New | |
| function. | |
| (gfc_conv_ieee_arithmetic_function): Handle IEEE comparisons. | |
| 2023-07-19 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/107424 | |
| * trans-openmp.cc (gfc_nonrect_loop_expr): Accept all | |
| constant loop steps. | |
| (gfc_trans_omp_do): Likewise; use sign to determine | |
| loop direction. | |
| 2023-07-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/95947 | |
| PR fortran/110658 | |
| * trans-expr.cc (gfc_conv_procedure_call): For intrinsic procedures | |
| whose result characteristics depends on the first argument and which | |
| can be of type character, the character length will not be deferred. | |
| 2023-07-17 Tobias Burnus <tobias@codesoucery.com> | |
| Chung-Lin Tang <cltang@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Dump | |
| uses_allocators clause. | |
| * gfortran.h (gfc_free_omp_namelist): Add memspace_sym to u union | |
| and traits_sym to u2 union. | |
| (OMP_LIST_USES_ALLOCATORS): New enum value. | |
| (gfc_free_omp_namelist): Add 'bool free_mem_traits_space' arg. | |
| * match.cc (gfc_free_omp_namelist): Likewise. | |
| * openmp.cc (gfc_free_omp_clauses, gfc_match_omp_variable_list, | |
| gfc_match_omp_to_link, gfc_match_omp_doacross_sink, | |
| gfc_match_omp_clause_reduction, gfc_match_omp_allocate, | |
| gfc_match_omp_flush): Update call. | |
| (gfc_match_omp_clauses): Likewise. Parse uses_allocators clause. | |
| (gfc_match_omp_clause_uses_allocators): New. | |
| (enum omp_mask2): Add new OMP_CLAUSE_USES_ALLOCATORS. | |
| (OMP_TARGET_CLAUSES): Accept it. | |
| (resolve_omp_clauses): Resolve uses_allocators clause | |
| * st.cc (gfc_free_statement): Update gfc_free_omp_namelist call. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Handle | |
| OMP_LIST_USES_ALLOCATORS; fail with sorry unless predefined allocator. | |
| (gfc_split_omp_clauses): Handle uses_allocators. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/110618 | |
| * trans.h (gfc_deallocate_with_status): Add class container | |
| argument. | |
| (gfc_deallocate_scalar_with_status): Ditto. | |
| * trans.cc (gfc_deallocate_with_status): Add class container | |
| argument and pass it down to gfc_add_finalize_call. | |
| (gfc_deallocate_scalar_with_status): Same. | |
| * trans-array.cc (structure_alloc_comps): Update caller. | |
| * trans-stmt.cc (gfc_trans_deallocate): Ditto. | |
| * trans-expr.cc (gfc_conv_procedure_call): Ditto. Pass | |
| pre-evaluated class container argument if it's available. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/110618 | |
| * trans.h (gfc_add_finalizer_call): Add class container argument. | |
| * trans.cc (gfc_add_finalizer_call): Ditto. Pass down new | |
| argument to get_final_proc_ref, get_elem_size, get_var_desc, | |
| and get_vptr. | |
| (get_elem_size): Add class container argument. | |
| Use provided class container if it's available. | |
| (get_var_descr): Same. | |
| (get_vptr): Same. | |
| (get_final_proc_ref): Same. Add boolean telling the class | |
| container argument is used. Set it. Don't try to use | |
| final_wrapper if class container argument was used. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_var_descr): Factor scalar descriptor generation. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_vptr): New function. | |
| (gfc_add_finalizer_call): Move virtual table pointer evaluation | |
| to get_vptr. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_var_descr): Remove argument ts. Use var->ts | |
| instead. | |
| (gfc_add_finalizer_call): Update caller. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_add_finalizer_call): Inline definition of | |
| variable has_finalizer. Merge nested conditions. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_add_finalizer_call): Remove local variable | |
| final_expr. Pass down expr to get_final_proc_ref and move | |
| final procedure expression generation down to its one usage | |
| in get_final_proc_ref. | |
| (get_final_proc_ref): Add argument expr. Remove argument | |
| final_wrapper. Recreate final_wrapper from expr. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_add_finalizer_call): Remove local variable | |
| elem_size. Pass expression to get_elem_size and move the | |
| element size expression generation close to its usage there. | |
| (get_elem_size): Add argument expr, remove class_size argument | |
| and rebuild it from expr. Remove ts argument and use the | |
| type of expr instead. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_add_finalizer_call): Move pre and post code for | |
| the final procedure pointer expression to the outer block. | |
| Reuse the previously evaluated final procedure pointer | |
| expression. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_add_finalizer_call): Add post code for desc_se | |
| after the finalizer call. Add post code for final_se and | |
| size_se as well. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_build_final_call): Inline... | |
| (gfc_add_finalizer_call): ... to its one caller. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_var_descr): New function. | |
| (gfc_build_final_call): Outline the data reference descriptor | |
| evaluation code to get_var_descr. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_elem_size): New function. | |
| (gfc_build_final_call): Outline the element size evaluation | |
| to get_elem_size. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (get_final_proc_ref): New function. | |
| (gfc_build_final_call): Outline the pointer evaluation code | |
| to get_final_proc_ref. | |
| 2023-07-17 Mikael Morin <mikael@gcc.gnu.org> | |
| * trans.cc (gfc_build_final_call): Remove commented assertion. | |
| 2023-07-14 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/92178 | |
| * trans.h (gfc_reset_vptr): Add class_container argument. | |
| * trans-expr.cc (gfc_reset_vptr): Ditto. If a valid vptr can | |
| be obtained through class_container argument, bypass evaluation | |
| of e. | |
| (gfc_conv_procedure_call): Wrap the argument evaluation code | |
| in a conditional if the associated dummy is optional. Evaluate | |
| the data reference to a pointer now, and replace later | |
| references with usage of the pointer. | |
| 2023-07-14 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/92178 | |
| * trans.h (struct gfc_se): New field class_container. | |
| (struct gfc_ss_info): Ditto. | |
| (gfc_evaluate_data_ref_now): New prototype. | |
| * trans.cc (gfc_evaluate_data_ref_now): Implement it. | |
| * trans-array.cc (gfc_conv_ss_descriptor): Copy class_container | |
| field from gfc_se struct to gfc_ss_info struct. | |
| (gfc_conv_expr_descriptor): Copy class_container field from | |
| gfc_ss_info struct to gfc_se struct. | |
| * trans-expr.cc (gfc_conv_class_to_class): Use class container | |
| set in class_container field if available. | |
| (gfc_conv_variable): Set class_container field on encountering | |
| class variables or components, clear it on encountering | |
| non-class components. | |
| (gfc_conv_procedure_call): Evaluate data ref to a pointer now, | |
| and replace later references by usage of the pointer. | |
| 2023-07-14 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/92178 | |
| * trans-expr.cc (gfc_conv_procedure_call): Use a separate gfc_se | |
| struct, initalized from parmse, to generate the class wrapper. | |
| After the class wrapper code has been generated, copy it back | |
| depending on whether parameter deallocation code has been | |
| generated. | |
| 2023-07-13 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/106050 | |
| * symbol.cc (gfc_restore_last_undo_checkpoint): Release symbols | |
| in reverse order. | |
| 2023-07-12 Andre Vehreschild <vehre@gcc.gnu.org> | |
| PR fortran/102003 | |
| * expr.cc (find_inquiry_ref): Replace len of pdt_string by | |
| constant. | |
| (simplify_ref_chain): Ensure input to find_inquiry_ref is | |
| NULL. | |
| (gfc_match_init_expr): Prevent PDT analysis for function calls. | |
| (gfc_pdt_find_component_copy_initializer): Get the initializer | |
| value for given component. | |
| * gfortran.h (gfc_pdt_find_component_copy_initializer): New | |
| function. | |
| * simplify.cc (gfc_simplify_len): Replace len() of PDT with pdt | |
| component ref or constant. | |
| 2023-07-11 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110288 | |
| * symbol.cc (gfc_copy_formal_args_intr): When deriving the formal | |
| argument attributes from the actual ones for intrinsic procedure | |
| calls, take special care of CHARACTER arguments that we do not | |
| wrongly treat them formally as deferred-length. | |
| 2023-07-08 Steve Kargl <sgk@troutmask.apl.washington.edu> | |
| PR fortran/99139 | |
| PR fortran/99368 | |
| * match.cc (gfc_match_namelist): Check for host associated or | |
| defined types before applying default type. | |
| (gfc_match_select_rank): Apply default type to selector of | |
| unknown type if possible. | |
| * resolve.cc (resolve_fl_variable): Do not apply local default | |
| initialization to assumed rank entities. | |
| 2023-07-08 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/92178 | |
| * trans-expr.cc (gfc_conv_procedure_call): Check procedures for | |
| allocatable dummy arguments with INTENT(OUT) and move deallocation | |
| of actual arguments after evaluation of argument expressions before | |
| the procedure is executed. | |
| 2023-07-08 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110585 | |
| * arith.cc (gfc_compare_expr): Handle equality comparison of constant | |
| complex gfc_expr arguments. | |
| 2023-07-05 Robin Dapp <rdapp@ventanamicro.com> | |
| Juzhe-Zhong <juzhe.zhong@rivai.ai> | |
| * trans-types.cc (gfc_type_for_mode): Ditto. | |
| 2023-06-28 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110360 | |
| * trans-expr.cc (gfc_conv_procedure_call): For non-constant string | |
| argument passed to CHARACTER(LEN=1),VALUE dummy, ensure proper | |
| dereferencing and truncation of string to length 1. | |
| 2023-06-28 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/49213 | |
| * expr.cc (gfc_is_ptr_fcn): Remove reference to class_pointer. | |
| * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow | |
| associate names with pointer function targets to be used in | |
| variable definition context. | |
| * trans-decl.cc (get_symbol_decl): Remove extraneous line. | |
| * trans-expr.cc (alloc_scalar_allocatable_subcomponent): Obtain | |
| size of intrinsic and character expressions. | |
| (gfc_trans_subcomponent_assign): Expand assignment to class | |
| components to include intrinsic and character expressions. | |
| 2023-06-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110360 | |
| * trans-expr.cc (gfc_conv_procedure_call): Truncate constant string | |
| argument of length > 1 passed to scalar CHARACTER(1),VALUE dummy. | |
| 2023-06-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/110360 | |
| * trans-expr.cc (gfc_conv_procedure_call): Pass actual argument | |
| to scalar CHARACTER(1),VALUE dummy argument by value. | |
| 2023-06-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/87477 | |
| PR fortran/88688 | |
| PR fortran/94380 | |
| PR fortran/107900 | |
| PR fortran/110224 | |
| * decl.cc (char_len_param_value): Fix memory leak. | |
| (resolve_block_construct): Remove unnecessary static decls. | |
| * expr.cc (gfc_is_ptr_fcn): New function. | |
| (gfc_check_vardef_context): Use it to permit pointer function | |
| result selectors to be used for associate names in variable | |
| definition context. | |
| * gfortran.h: Prototype for gfc_is_ptr_fcn. | |
| * match.cc (build_associate_name): New function. | |
| (gfc_match_select_type): Use the new function to replace inline | |
| version and to build a new associate name for the case where | |
| the supplied associate name is already used for that purpose. | |
| * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow | |
| associate names with pointer function targets to be used in | |
| variable definition context. | |
| * trans-decl.cc (gfc_get_symbol_decl): Unlimited polymorphic | |
| variables need deferred initialisation of the vptr. | |
| (gfc_trans_deferred_vars): Do the vptr initialisation. | |
| * trans-stmt.cc (trans_associate_var): Ensure that a pointer | |
| associate name points to the target of the selector and not | |
| the selector itself. | |
| 2023-06-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/108961 | |
| * trans-expr.cc (gfc_conv_procedure_call): The hidden string | |
| length must not be passed to a formal arg of type(cptr). | |
| 2023-06-20 Tobias Burnus <tobias@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_namelist): Fix dump of the allocator | |
| modifier of OMP_LIST_ALLOCATE. | |
| 2023-06-20 Tobias Burnus <tobias@codesourcery.com> | |
| * match.cc (gfc_match_char): Match with '%S' a symbol | |
| with host_assoc = 1. | |
| 2023-06-19 Tobias Burnus <tobias@codesourcery.com> | |
| * intrinsic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): Also | |
| add references to the OpenMP 5.1 and 5.2 spec; add omp_initial_device | |
| and omp_invalid_device named constants. | |
| 2023-06-13 Harald Anlauf <anlauf@gmx.de> | |
| Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/86277 | |
| * trans-array.cc (gfc_trans_allocate_array_storage): When passing a | |
| zero-sized array with fixed (= non-dynamic) size, allocate temporary | |
| by the caller, not by the callee. | |
| 2023-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
| * f95-lang.cc (gfc_init_builtin_functions): Add fmax() and | |
| fmin() built-ins, and their variants. | |
| * mathbuiltins.def: Add FMAX and FMIN built-ins. | |
| * trans-intrinsic.cc (conv_intrinsic_ieee_minmax): New function. | |
| (gfc_conv_ieee_arithmetic_function): Handle IEEE_MIN_NUM and | |
| IEEE_MAX_NUM functions. | |
| 2023-06-09 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/96024 | |
| * primary.cc (gfc_convert_to_structure_constructor): Only do | |
| constant string ctor length verification and truncation/padding | |
| if constant length has INTEGER type. | |
| 2023-06-08 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/87477 | |
| PR fortran/99350 | |
| PR fortran/107821 | |
| PR fortran/109451 | |
| * decl.cc (char_len_param_value): Simplify a copy of the expr | |
| and replace the original if there is no error. | |
| * gfortran.h : Remove the redundant field 'rankguessed' from | |
| 'gfc_association_list'. | |
| * resolve.cc (resolve_assoc_var): Remove refs to 'rankguessed'. | |
| (resolve_variable): Associate names with constant or structure | |
| constructor targets cannot have array refs. | |
| * trans-array.cc (gfc_conv_expr_descriptor): Guard expression | |
| character length backend decl before using it. Suppress the | |
| assignment if lhs equals rhs. | |
| * trans-io.cc (gfc_trans_transfer): Scalarize transfer of | |
| associate variables pointing to a variable. Add comment. | |
| * trans-stmt.cc (trans_associate_var): Remove requirement that | |
| the character length be deferred before assigning the value | |
| returned by gfc_conv_expr_descriptor. Also, guard the backend | |
| decl before testing with VAR_P. | |
| 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_namelist): Display 'present' map | |
| modifier. | |
| (show_omp_clauses): Display 'present' motion modifier for 'to' | |
| and 'from' clauses. | |
| * gfortran.h (enum gfc_omp_map_op): Add entries with 'present' | |
| modifiers. | |
| (struct gfc_omp_namelist): Add 'present_modifer'. | |
| * openmp.cc (gfc_match_motion_var_list): New, handles optional | |
| 'present' modifier for to/from clauses. | |
| (gfc_match_omp_clauses): Call it for to/from clauses; parse 'present' | |
| in defaultmap and map clauses. | |
| (resolve_omp_clauses): Allow 'present' modifiers on 'target', | |
| 'target data', 'target enter' and 'target exit' directives. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Apply 'present' modifiers | |
| to tree node for 'map', 'to' and 'from' clauses. Apply 'present' for | |
| defaultmap. | |
| 2023-06-02 Steve Kargl <kargl@gcc.gnu.org> | |
| PR fortran/100607 | |
| * resolve.cc (resolve_select_rank): Remove duplicate error. | |
| (resolve_fl_var_and_proc): Prevent NULL pointer dereference and | |
| suppress error message for temporary. | |
| 2023-06-02 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/87477 | |
| * parse.cc (parse_associate): Replace the existing evaluation | |
| of the target rank with calls to gfc_resolve_ref and | |
| gfc_expression_rank. Identify untyped target function results | |
| with structure constructors by finding the appropriate derived | |
| type. | |
| * resolve.cc (resolve_symbol): Allow associate variables to be | |
| assumed shape. | |
| 2023-06-01 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/88552 | |
| * decl.cc (gfc_match_kind_spec): Use error path on missing right | |
| parenthesis. | |
| (gfc_match_decl_type_spec): Use error return when an error occurred | |
| during matching a KIND specifier. | |
| 2023-06-01 Tobias Burnus <tobias@codesourcery.com> | |
| * parse.cc (decode_omp_directive): Accept all pure directives | |
| inside a PURE procedures; handle 'error at(execution). | |
| 2023-05-26 Tobias Burnus <tobias@codesourcery.com> | |
| * dump-parse-tree.cc (show_omp_namelist): Update allocator, fix | |
| align dump. | |
| (show_omp_node, show_code_node): Handle EXEC_OMP_ALLOCATE. | |
| * gfortran.h (enum gfc_statement): Add ST_OMP_ALLOCATE and ..._EXEC. | |
| (enum gfc_exec_op): Add EXEC_OMP_ALLOCATE. | |
| (struct gfc_omp_namelist): Add 'allocator' to 'u2' union. | |
| (struct gfc_namespace): Add omp_allocate. | |
| (gfc_resolve_omp_allocate): New. | |
| * match.cc (gfc_free_omp_namelist): Free 'u2.allocator'. | |
| * match.h (gfc_match_omp_allocate, gfc_match_omp_allocators): New. | |
| * openmp.cc (gfc_omp_directives): Uncomment allocate/allocators. | |
| (gfc_match_omp_variable_list): Add bool arg for | |
| rejecting listening common-block vars separately. | |
| (gfc_match_omp_clauses): Update for u2.allocators. | |
| (OMP_ALLOCATORS_CLAUSES, gfc_match_omp_allocate, | |
| gfc_match_omp_allocators, is_predefined_allocator, | |
| gfc_resolve_omp_allocate): New. | |
| (resolve_omp_clauses): Update 'allocate' clause checks. | |
| (omp_code_to_statement, gfc_resolve_omp_directive): Handle | |
| OMP ALLOCATE/ALLOCATORS. | |
| * parse.cc (in_exec_part): New global var. | |
| (check_omp_allocate_stmt, parse_openmp_allocate_block): New. | |
| (decode_omp_directive, case_exec_markers, case_omp_decl, | |
| gfc_ascii_statement, parse_omp_structured_block): Handle | |
| OMP allocate/allocators. | |
| (verify_st_order, parse_executable): Set in_exec_part. | |
| * resolve.cc (gfc_resolve_blocks, resolve_codes): Handle | |
| allocate/allocators. | |
| * st.cc (gfc_free_statement): Likewise. | |
| * trans.cc (trans_code): Likewise. | |
| * trans-openmp.cc (gfc_trans_omp_directive): Likewise. | |
| (gfc_trans_omp_clauses, gfc_split_omp_clauses): Update for | |
| u2.allocator, fix for u.align. | |
| 2023-05-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104350 | |
| * simplify.cc (simplify_size): Reject DIM argument of intrinsic SIZE | |
| with error when out of valid range. | |
| 2023-05-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/103794 | |
| * check.cc (gfc_check_reshape): Expand constant arguments SHAPE and | |
| ORDER before checking. | |
| * gfortran.h (gfc_is_constant_array_expr): Add prototype. | |
| * iresolve.cc (gfc_resolve_reshape): Expand constant argument SHAPE. | |
| * simplify.cc (is_constant_array_expr): If array is determined to be | |
| constant, expand small array constructors if needed. | |
| (gfc_is_constant_array_expr): Wrapper for is_constant_array_expr. | |
| (gfc_simplify_reshape): Fix check for insufficient elements in SOURCE | |
| when no padding specified. | |
| 2023-05-23 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/103716 | |
| * resolve.cc (gfc_resolve_ref): Conversion of array_ref into an | |
| element should be done for all characters without a len expr, | |
| not just deferred lens, and for integer expressions. | |
| * trans-expr.cc (conv_inquiry): For len and kind inquiry refs, | |
| set the se string_length to NULL_TREE. | |
| 2023-05-23 Paul Thomas <pault@gcc.gnu.org> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/97122 | |
| * decl.cc (variable_decl): Clean up white space issues. | |
| (gfc_match_final_decl): Declaration of finalizable derived type | |
| is allowed in a submodule. | |
| 2023-05-19 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * expr.cc (gfc_get_corank): Use CLASS_DATA from gfortran.h. | |
| * resolve.cc (resolve_component): Same. | |
| (resolve_fl_derived0): Same. | |
| * simplify.cc (gfc_simplify_extends_type_of): Same. | |
| (simplify_cobound): Same. | |
| 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * trans-array.cc (is_pointer_array): Use _P() defines from tree.h. | |
| (gfc_conv_scalarized_array_ref): Ditto. | |
| (gfc_conv_array_ref): Ditto. | |
| * trans-decl.cc (gfc_finish_decl): Ditto. | |
| (gfc_get_symbol_decl): Ditto. | |
| * trans-expr.cc (gfc_trans_pointer_assignment): Ditto. | |
| (gfc_trans_arrayfunc_assign): Ditto. | |
| (gfc_trans_assignment_1): Ditto. | |
| * trans-intrinsic.cc (gfc_conv_intrinsic_minmax): Ditto. | |
| (conv_intrinsic_ieee_value): Ditto. | |
| * trans-io.cc (gfc_convert_array_to_string): Ditto. | |
| * trans-openmp.cc (gfc_omp_is_optional_argument): Ditto. | |
| (gfc_trans_omp_clauses): Ditto. | |
| * trans-stmt.cc (gfc_conv_label_variable): Ditto. | |
| * trans.cc (gfc_build_addr_expr): Ditto. | |
| (get_array_span): Ditto. | |
| 2023-05-18 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| PR fortran/78798 | |
| * array.cc (compare_bounds): Use narrower return type. | |
| (gfc_compare_array_spec): Likewise. | |
| (is_constant_element): Likewise. | |
| (gfc_constant_ac): Likewise. | |
| * check.cc (dim_rank_check): Likewise. | |
| * cpp.cc (gfc_cpp_init_options): Likewise. | |
| (dump_macro): Likewise. | |
| * cpp.h (gfc_cpp_handle_option): Likewise. | |
| * dependency.cc (gfc_ref_needs_temporary_p): Likewise. | |
| (gfc_check_argument_dependency): Likewise. | |
| (gfc_check_fncall_dependency): Likewise. | |
| (ref_same_as_full_array): Likewise. | |
| * dependency.h (gfc_check_fncall_dependency): Likewise. | |
| (gfc_dep_resolver): Likewise. | |
| (gfc_are_equivalenced_arrays): Likewise. | |
| * expr.cc (gfc_copy_ref): Likewise. | |
| (gfc_kind_max): Likewise. | |
| (numeric_type): Likewise. | |
| * gfortran.h (gfc_at_end): Likewise. | |
| (gfc_at_eof): Likewise. | |
| (gfc_at_bol): Likewise. | |
| (gfc_at_eol): Likewise. | |
| (gfc_define_undef_line): Likewise. | |
| (gfc_wide_is_printable): Likewise. | |
| (gfc_wide_is_digit): Likewise. | |
| (gfc_wide_fits_in_byte): Likewise. | |
| (gfc_find_sym_tree): Likewise. | |
| (gfc_generic_intrinsic): Likewise. | |
| (gfc_specific_intrinsic): Likewise. | |
| (gfc_intrinsic_actual_ok): Likewise. | |
| (gfc_has_vector_index): Likewise. | |
| (gfc_numeric_ts): Likewise. | |
| (gfc_impure_variable): Likewise. | |
| (gfc_pure): Likewise. | |
| (gfc_implicit_pure): Likewise. | |
| (gfc_elemental): Likewise. | |
| (gfc_pure_function): Likewise. | |
| (gfc_implicit_pure_function): Likewise. | |
| (gfc_compare_array_spec): Likewise. | |
| (gfc_constant_ac): Likewise. | |
| (gfc_expanded_ac): Likewise. | |
| (gfc_check_digit): Likewise. | |
| * intrinsic.cc (gfc_find_subroutine): Likewise. | |
| (gfc_generic_intrinsic): Likewise. | |
| (gfc_specific_intrinsic): Likewise. | |
| * io.cc (compare_to_allowed_values): Likewise. And remove | |
| unneeded forward declaration. | |
| * parse.cc: Likewise. | |
| * parse.h (gfc_check_do_variable): Likewise. | |
| * primary.cc (gfc_check_digit): Likewise. | |
| * resolve.cc (resolve_structure_cons): Likewise. | |
| (pure_stmt_function): Likewise. | |
| (gfc_pure_function): Likewise. | |
| (impure_stmt_fcn): Likewise. | |
| (resolve_forall_iterators): Likewise. | |
| (resolve_data): Likewise. | |
| (gfc_impure_variable): Likewise. | |
| (gfc_pure): Likewise. | |
| (gfc_unset_implicit_pure): Likewise. | |
| * scanner.cc (wide_is_ascii): Likewise. | |
| (gfc_wide_toupper): Likewise. | |
| (gfc_open_included_file): Likewise. | |
| (gfc_at_end): Likewise. | |
| (gfc_at_eof): Likewise. | |
| (gfc_at_bol): Likewise. | |
| (skip_comment_line): Likewise. | |
| (gfc_gobble_whitespace): Likewise. | |
| * symbol.cc (gfc_find_symtree_in_proc): Likewise. | |
| * trans-array.cc: Likewise. | |
| * trans-decl.cc (gfc_set_decl_assembler_name): Likewise. | |
| * trans-types.cc (gfc_get_element_type): Likewise. | |
| (gfc_add_field_to_struct): Likewise. | |
| * trans-types.h (gfc_copy_dt_decls_ifequal): Likewise. | |
| (gfc_return_by_reference): Likewise. | |
| (gfc_is_nodesc_array): Likewise. | |
| * trans.h (gfc_can_put_var_on_stack): Likewise. | |
| 2023-05-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/95374 | |
| PR fortran/104352 | |
| * decl.cc (add_init_expr_to_sym): Set shape of initializer also for | |
| zero-sized arrays, so that bounds violations can be detected later. | |
| 2023-05-17 Tobias Burnus <tobias@codesourcery.com> | |
| * trans-decl.cc (gfc_get_symbol_decl): Add attributes | |
| such as 'declare target' also to hidden artificial | |
| variable for deferred-length character variables. | |
| * trans-openmp.cc (gfc_trans_omp_array_section, | |
| gfc_trans_omp_clauses, gfc_trans_omp_target_exit_data): | |
| Improve mapping of array descriptors and deferred-length | |
| string variables. | |
| 2023-05-16 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/105152 | |
| PR fortran/100193 | |
| PR fortran/87496 | |
| PR fortran/103389 | |
| PR fortran/104429 | |
| PR fortran/82774 | |
| * interface.cc (gfc_compare_actual_formal): Emit an error if an | |
| unlimited polymorphic actual is not matched either to an | |
| unlimited or assumed type formal argument. | |
| * resolve.cc (resolve_ordinary_assign): Emit an error if the | |
| var expression of an ordinary assignment is a proc pointer | |
| component. | |
| * trans-array.cc (gfc_walk_array_ref): Provide assumed shape | |
| arrays coming from interface mapping with a viable arrayspec. | |
| * trans-expr.cc (gfc_conv_intrinsic_to_class): Tidy up flagging | |
| of unlimited polymorphic 'class_ts'. | |
| (gfc_conv_gfc_desc_to_cfi_desc): Assumed type is unlimited | |
| polymorphic and should accept any actual type. | |
| (gfc_conv_procedure_call): Replace dreadful kludge with a call | |
| to gfc_finalize_tree_expr. Avoid dereferencing a void pointer | |
| by giving it the pointer type of the actual argument. | |
| (alloc_scalar_allocatable_subcomponent): Shorten the function | |
| name and replace the symbol argument with the se string length. | |
| If a deferred length character length is either not present or | |
| is not a variable, give the typespec a variable and assign the | |
| string length to that. Use gfc_deferred_strlen to find the | |
| hidden string length component. | |
| (gfc_trans_subcomponent_assign): Convert the expression before | |
| the call to alloc_scalar_allocatable_subcomponent so that a | |
| good string length is provided. | |
| (gfc_trans_structure_assign): Remove the unneeded derived type | |
| symbol from calls to gfc_trans_subcomponent_assign. | |
| 2023-05-15 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109846 | |
| * expr.cc (gfc_check_vardef_context): Check appropriate pointer | |
| attribute for CLASS vs. non-CLASS function result in variable | |
| definition context. | |
| 2023-05-11 Xi Ruoyao <xry111@xry111.site> | |
| * Make-lang.in: Use grep instead of fgrep. | |
| 2023-05-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * dump-parse-tree.cc (gfc_debug_expr): Remove forward declaration. | |
| (debug): Add DEBUG_FUNCTION. | |
| (show_code_node): Remove erroneous whitespace. | |
| 2023-05-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| PR fortran/109624 | |
| * dump-parse-tree.cc (debug): New function for gfc_namespace. | |
| (gfc_debug_code): Delete forward declaration. | |
| (show_attr): Make sure to print balanced braces. | |
| 2023-05-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * resolve.cc (resolve_select_type): Fix coding style. | |
| 2023-05-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| * resolve.cc (resolve_select_type): Call free() unconditionally. | |
| 2023-05-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> | |
| PR fortran/68800 | |
| * expr.cc (find_array_section): Fix mpz memory leak. | |
| * simplify.cc (gfc_simplify_reshape): Fix mpz memory leaks in | |
| error paths. | |
| 2023-05-05 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109641 | |
| * arith.cc (eval_intrinsic): Check conformability of ranks of operands | |
| for intrinsic binary operators before performing type conversions. | |
| * gfortran.h (gfc_op_rank_conformable): Add prototype. | |
| * resolve.cc (resolve_operator): Check conformability of ranks of | |
| operands for intrinsic binary operators before performing type | |
| conversions. | |
| (gfc_op_rank_conformable): New helper function to compare ranks of | |
| operands of binary operator. | |
| 2023-05-04 Julian Brown <julian@codesourcery.com> | |
| PR fortran/109622 | |
| * openmp.cc (resolve_omp_clauses): Add diagnostic for | |
| non-pointer/non-allocatable attach/detach. | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Remove dereference for | |
| pointer-to-scalar derived type component attach/detach. Fix | |
| attach/detach handling for descriptors. | |
| 2023-04-28 Julian Brown <julian@codesourcery.com> | |
| PR fortran/109622 | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Attach/detach clause fixes. | |
| 2023-04-28 Tobias Burnus <tobias@codesourcery.com> | |
| * gfortran.texi: Fix typos. | |
| * decl.cc: Fix typos in comments and in a variable name. | |
| * arith.cc: Fix comment typos. | |
| * check.cc: Likewise. | |
| * class.cc: Likewise. | |
| * dependency.cc: Likewise. | |
| * expr.cc: Likewise. | |
| * frontend-passes.cc: Likewise. | |
| * gfortran.h: Likewise. | |
| * intrinsic.cc: Likewise. | |
| * iresolve.cc: Likewise. | |
| * match.cc: Likewise. | |
| * module.cc: Likewise. | |
| * primary.cc: Likewise. | |
| * resolve.cc: Likewise. | |
| * simplify.cc: Likewise. | |
| * trans-array.cc: Likewise. | |
| * trans-decl.cc: Likewise. | |
| * trans-expr.cc: Likewise. | |
| * trans-intrinsic.cc: Likewise. | |
| * trans-openmp.cc: Likewise. | |
| * trans-stmt.cc: Likewise. | |
| 2023-04-25 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.cc (gfc_resolve_omp_do_blocks): Handle zero | |
| or more than one exec statements before/after 'omp scan'. | |
| * trans-openmp.cc (gfc_trans_omp_do): Likewise. | |
| 2023-04-22 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/109500 | |
| * interface.cc (gfc_compare_actual_formal): Reject allocatable | |
| functions being used as actual argument for allocable dummy. | |
| 2023-04-14 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109511 | |
| * simplify.cc (gfc_simplify_set_exponent): Fix implementation of | |
| compile-time simplification of intrinsic SET_EXPONENT for argument | |
| X < 1 and for I < 0. | |
| 2023-04-14 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/104272 | |
| * gfortran.h : Add expr3_not_explicit bit field to gfc_code. | |
| * resolve.cc (resolve_allocate_expr): Set bit field when the | |
| default initializer is applied to expr3. | |
| * trans-stmt.cc (gfc_trans_allocate): If expr3_not_explicit is | |
| set, do not deallocate expr3. | |
| 2023-04-13 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109492 | |
| * trans-expr.cc (gfc_conv_power_op): Use absu_hwi and | |
| unsigned HOST_WIDE_INT for portability. | |
| 2023-04-12 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104312 | |
| * resolve.cc (resolve_entries): Handle functions with ENTRY and | |
| ALLOCATABLE results. | |
| * trans-expr.cc (gfc_conv_procedure_call): Functions with a result | |
| with the POINTER or ALLOCATABLE attribute shall not get any special | |
| treatment with -ff2c, as they cannot be written in Fortran 77. | |
| * trans-types.cc (gfc_return_by_reference): Likewise. | |
| (gfc_get_function_type): Likewise. | |
| 2023-04-12 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/61615 | |
| PR fortran/99982 | |
| * interface.cc (compare_parameter): Enable type and rank checks for | |
| arguments of derived type from the intrinsic module ISO_C_BINDING. | |
| 2023-04-08 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/87477 | |
| * iresolve.cc (gfc_resolve_adjustl, gfc_resolve_adjustr): if | |
| string length is deferred use the string typespec for result. | |
| * resolve.cc (resolve_assoc_var): Handle parentheses around the | |
| target expression. | |
| (resolve_block_construct): Remove unnecessary static decls. | |
| * trans-array.cc (gfc_conv_expr_descriptor): Guard string len | |
| expression in condition. Improve handling of string length and | |
| span, especially for substrings of the descriptor. | |
| (duplicate_allocatable): Make element type more explicit with | |
| 'eltype'. | |
| * trans-decl.cc (gfc_get_symbol_decl): Emit a fatal error with | |
| appropriate message instead of ICE if symbol type is unknown. | |
| (gfc_generate_function_code): Set current locus to proc_sym | |
| declared_at. | |
| * trans-expr.cc (gfc_get_expr_charlen): Retain last charlen in | |
| 'previous' and use if end expression in substring reference is | |
| null. | |
| (gfc_conv_string_length): Use gfc_conv_expr_descriptor if | |
| 'expr_flat' is an array. Add post block to catch deallocation | |
| of temporaries. | |
| (gfc_conv_procedure_call): Assign the parmse string length to | |
| the expression string length, if it is deferred. | |
| (gfc_trans_alloc_subarray_assign): If this is a deferred string | |
| length component, store the string length in the hidden comp. | |
| Update the typespec length accordingly. Generate a new type | |
| spec for the call to gfc_duplicate-allocatable in this case. | |
| * trans-io.cc (gfc_trans_transfer): Scalarize transfer of | |
| deferred character array components. | |
| 2023-04-04 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104349 | |
| * expr.cc (check_restricted): Adjust check for valid variables in | |
| restricted expressions: make no exception for module variables. | |
| 2023-04-01 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * dump-parse-tree.cc (get_c_type_name): Fix "long_long" | |
| type name to be "long long". | |
| 2023-03-30 Andrew Pinski <apinski@marvell.com> | |
| * dump-parse-tree.cc (get_c_type_name): Fix "long_long" | |
| type name to be "long long". Add a comment on why adding | |
| 2 to the name too. | |
| 2023-03-28 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/109314 | |
| * openmp.cc (gfc_omp_absent_contains_clause): Fix typo in diagnostics | |
| - composit -> composite. | |
| 2023-03-25 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104321 | |
| * trans-decl.cc (gfc_conv_cfi_to_gfc): Remove dead code. | |
| 2023-03-24 Harald Anlauf <anlauf@gmx.de> | |
| * expr.cc (free_expr0): Free also BOZ strings as part of an expression. | |
| 2023-03-24 Haochen Gui <guihaoc@gcc.gnu.org> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR target/103628 | |
| * target-memory.cc (gfc_interpret_float): Return FAIL when | |
| native_interpret_expr gets a NULL tree. | |
| * arith.cc (gfc_hollerith2real): Return NULL when | |
| gfc_interpret_float fails. | |
| * error.cc (gfc_buffered_p): Define. | |
| * gfortran.h (gfc_buffered_p): Declare. | |
| * intrinsic.cc: Add diagnostic.h to include list. | |
| (do_simplify): Save errorcount and check it at finish. Report a | |
| "Cannot simplify expression" error on a bad result if error count | |
| doesn't change and no other errors buffered. | |
| 2023-03-22 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/104572 | |
| * resolve.cc (gfc_resolve_finalizers): Argument of a FINAL subroutine | |
| cannot be an alternate return. | |
| 2023-03-21 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/99036 | |
| * decl.cc (gfc_match_modproc): Reject MODULE PROCEDURE if not in a | |
| generic module interface. | |
| 2023-03-21 Arsen Arsenović <arsen@aarsen.me> | |
| * invoke.texi: Remove usages of @gol. | |
| * intrinsic.texi: Ditto. | |
| 2023-03-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/109206 | |
| * trans-array.cc (gfc_trans_array_constructor_value): Correct | |
| incorrect setting of typespec. | |
| 2023-03-21 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/109209 | |
| * resolve.cc (generate_component_assignments): Restore the | |
| exclusion of allocatable components from the loop. | |
| 2023-03-20 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109216 | |
| * invoke.texi: Correct documentation of how underscores are appended | |
| to external names. | |
| 2023-03-20 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/109186 | |
| * simplify.cc (gfc_simplify_nearest): Fix off-by-one error in setting | |
| up real kind-specific maximum exponent for mpfr. | |
| 2023-03-20 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/87127 | |
| * resolve.cc (check_host_association): If an external function | |
| is typed but not declared explicitly to be external, change the | |
| old symbol from a variable to an external function. | |
| 2023-03-19 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/85877 | |
| * resolve.cc (resolve_fl_procedure): Check for an explicit interface | |
| of procedures with the BIND(C) attribute (F2018:15.4.2.2). | |
| 2023-03-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
| * gfortran.texi: Mention behavior on overflow. | |
| 2023-03-18 Paul Thomas <pault@gcc.gnu.org> | |
| PR fortran/103854 | |
| PR fortran/96122 | |
| PR fortran/37336 | |
| * class.cc (finalize_component): Include the missing arguments | |
| in the call to the component's finalizer wrapper. | |
| (has_finalizer_component): Do not return true for procedure | |
| pointer components. | |
| (finalizer_insert_packed_call): Remove the redundant argument | |
| in the call to the final subroutine. | |
| (generate_finalization_wrapper): Add support for assumed rank | |
| finalizers. | |
| (gfc_may_be_finalized): New helper function. | |
| * dump-parse-tree.cc (write_proc): Whitespace. | |
| * gfortran.h : Add prototype for gfc_may_be_finalized. | |
| * resolve.cc (resolve_function): Correct derived types that | |
| have an incomplete namespace. | |
| (resolve_where, gfc_resolve_where_code_in_forall, | |
| gfc_resolve_forall_body, gfc_resolve_code): Check that the op | |
| code is still EXEC_ASSIGN. If it is set lhs to must finalize. | |
| (is_finalizable_type): New function. | |
| (generate_component_assignments): Set must_finalize if needed. | |
| (gfc_resolve_finalizers): Error if assumed rank finalizer is | |
| not the only one. Warning on lack of scalar finalizer modified | |
| to account for assumed rank finalizers. | |
| (generate_final_call): New function. | |
| (generate_component_assignments): Enclose the outermost call in | |
| a block to capture automatic deallocation and final calls. | |
| Set must_finalize as required to satisfy the standards. Use an | |
| explicit pointer assignment for pointer components to capture | |
| finalization of the target. Likewise use explicit assignment | |
| for allocatable components. Do not use the temporary copy of | |
| the lhs in defined assignment if the component is allocatable. | |
| Put the temporary in the same namespace as the lhs symbol if | |
| the component may be finalized. Remove the leading assignment | |
| from the expansion of assignment of components that have their | |
| own defined assignment components. Suppress finalization of | |
| assignment of temporary components to the lhs. Make an explicit | |
| final call for the rhs function temporary if it exists. | |
| (gfc_resolve_code): Set must_finalize for assignments with an | |
| array constructor on the rhs. | |
| (gfc_resolve_finalizers): Ensure that an assumed rank finalizer | |
| is the only finalizer for that type and correct the surprising | |
| warning for the lack of a scalar finalizer. | |
| (check_defined_assignments): Handle allocatable components. | |
| (resolve_fl_derived): Set referenced the vtab for use | |
| associated symbols. | |
| (resolve_symbol): Set referenced an unreferenced symbol that | |
| will be finalized. | |
| * trans-array.cc (gfc_trans_array_constructor_value): Add code | |
| to finalize the constructor result. Warn that this feature was | |
| removed in F2018 and that it is suppressed by -std=2018. | |
| (trans_array_constructor): Add finalblock, pass to previous | |
| and apply to loop->post if filled. | |
| (gfc_add_loop_ss_code): Add se finalblock to outer loop post. | |
| (gfc_trans_array_cobounds, gfc_trans_array_bounds): Add any | |
| generated finalization code to the main block. | |
| (structure_alloc_comps): Add boolean argument to suppress | |
| finalization and use it for calls from | |
| gfc_deallocate_alloc_comp_no_caf. Otherwise it defaults to | |
| false. | |
| (gfc_copy_alloc_comp_no_fini): New wrapper for | |
| structure_alloc_comps. | |
| (gfc_alloc_allocatable_for_assignment): Suppress finalization | |
| by setting new arg in call to gfc_deallocate_alloc_comp_no_caf. | |
| (gfc_trans_deferred_array): Use gfc_may_be_finalized and do not | |
| deallocate the components of entities with a leading '_' in the | |
| name that are also marked as artificial. | |
| * trans-array.h : Add the new boolean argument to the prototype | |
| of gfc_deallocate_alloc_comp_no_caf with a default of false. | |
| Add prototype for gfc_copy_alloc_comp_no_fini. | |
| * trans-decl.cc(init_intent_out_dt): Tidy up the code. | |
| * trans-expr.cc (gfc_init_se): Initialize finalblock. | |
| (gfc_conv_procedure_call): Use gfc_finalize_tree_expr to | |
| finalize function results. Replace in-line block for class | |
| results with call to new function. | |
| (gfc_conv_expr): Finalize structure constructors for F2003 and | |
| F2008. Warn that this feature was deleted in F2018 and, unlike | |
| array constructors, is not default. Add array constructor | |
| finalblock to the post block. | |
| (gfc_trans_scalar_assign): Suppress finalization by setting new | |
| argument in call to gfc_deallocate_alloc_comp_no_caf. Add the | |
| finalization blocks to the main block. | |
| (gfc_trans_arrayfunc_assign): Use gfc_assignment_finalizer_call | |
| and ensure that finalization occurs after the evaluation of the | |
| rhs but using the initial value for the lhs. Finalize rhs | |
| function results using gfc_finalize_tree_expr. | |
| (trans_class_assignment, gfc_trans_assignment_1): As previous | |
| function, taking care to order evaluation, assignment and | |
| finalization correctly. | |
| * trans-io.cc (gfc_trans_transfer): Add the final block. | |
| * trans-stmt.cc (gfc_trans_call, gfc_trans_allocate): likewise. | |
| (trans_associate_var): Nullify derived allocatable components | |
| and finalize function targets with defined assignment | |
| components on leaving the block scope. | |
| (trans_allocate): Finalize source expressions, if required, | |
| and set init_expr artificial temporarily to suppress the | |
| finalization in gfc_trans_assignment. | |
| * trans.cc (gfc_add_finalizer_call): Do not finalize the | |
| temporaries generated in type assignment with defined | |
| assignment components. | |
| (gfc_assignment_finalizer_call): New function. | |
| (gfc_finalize_tree_expr): New function. | |
| * trans.h: Add finalblock to gfc_se. Add the prototypes for | |
| gfc_finalize_tree_expr and gfc_assignment_finalizer_call. | |
| 2023-03-15 Harald Anlauf <anlauf@gmx.de> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/58331 | |
| * interface.cc (compare_parameter): Adjust check of array dummy | |
| arguments to handle the case of CLASS variables. | |
| 2023-03-11 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/106945 | |
| * trans-expr.cc (gfc_copy_class_to_class): Convert element counts in | |
| bounds check to common type for comparison. | |
| 2023-03-10 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/104332 | |
| * resolve.cc (resolve_symbol): Avoid NULL pointer dereference while | |
| checking a symbol with the BIND(C) attribute. | |
| 2023-03-05 Harald Anlauf <anlauf@gmx.de> | |
| Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/106856 | |
| * class.cc (gfc_build_class_symbol): Handle update of attributes of | |
| existing class container. | |
| (gfc_find_derived_vtab): Fix several memory leaks. | |
| (find_intrinsic_vtab): Ditto. | |
| * decl.cc (attr_decl1): Manage update of symbol attributes from | |
| CLASS attributes. | |
| * primary.cc (gfc_variable_attr): OPTIONAL shall not be taken or | |
| updated from the class container. | |
| * symbol.cc (free_old_symbol): Adjust management of symbol versions | |
| to not prematurely free array specs while working on the declation | |
| of CLASS variables. | |
| 2023-03-01 Tobias Burnus <tobias@codesourcery.com> | |
| PR middle-end/108546 | |
| * trans-openmp.cc (gfc_trans_omp_clauses): Fix mapping of | |
| type(C_ptr) variables. | |
| 2023-02-27 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108937 | |
| * trans-intrinsic.cc (gfc_conv_intrinsic_ibits): Handle corner case | |
| LEN argument of IBITS equal to BITSIZE(I). | |
| 2023-02-25 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/108923 | |
| * intrinsic.cc (get_intrinsic_dummy_arg, | |
| set_intrinsic_dummy_arg): Rename the former to the latter. | |
| Remove the return value, add a reference to the lhs as argument, | |
| and do the pointer assignment inside the function. Don't do | |
| it if the pointer is already non-NULL. | |
| (sort_actual): Update caller. | |
| 2023-02-25 Harald Anlauf <anlauf@gmx.de> | |
| * arith.cc (gfc_real2int): Clear mpfr variable after use. | |
| 2023-02-25 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/108621 | |
| * trans-expr.cc (gfc_conv_gfc_desc_to_cfi_desc): Skip setting of | |
| bounds of CFI desc for 'pointer,intent(out)'. | |
| 2023-02-24 Rimvydas Jasinskas <rimvydas.jas@gmail.com> | |
| * trans-decl.cc (gfc_finish_var_decl): Apply attribute. | |
| (generate_local_decl): Add diagnostic for dummy and local variables. | |
| 2023-02-24 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/108923 | |
| * expr.cc (gfc_free_actual_arglist): Free associated_dummy | |
| memory. | |
| (gfc_copy_actual_arglist): Make a copy of the associated_dummy | |
| field if it is set in the original element. | |
| 2023-02-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108924 | |
| * frontend-passes.cc (do_subscript): Clear used gmp variable. | |
| 2023-02-23 Arsen Arsenović <arsen@aarsen.me> | |
| * invoke.texi: Reorder index entries around @items. | |
| 2023-02-23 Arsen Arsenović <arsen@aarsen.me> | |
| * invoke.texi: Reorder @opindex commands to precede @items they | |
| relate to. | |
| 2023-02-22 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/96024 | |
| * resolve.cc (resolve_component): The type of a CHARACTER length | |
| expression must be INTEGER. | |
| 2023-02-21 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/96025 | |
| * parse.cc (check_function_result_typed): Improve type check of | |
| specification expression for character length and return status. | |
| (parse_spec): Use status from above. | |
| * resolve.cc (resolve_fntype): Prevent use of invalid specification | |
| expression for character length. | |
| 2023-02-16 Patrick Palka <ppalka@redhat.com> | |
| * gfortran.h: Mechanically drop static from static inline | |
| functions via s/^static inline/inline/g. | |
| 2023-02-15 Steve Kargl <kargl@gcc.gnu.org> | |
| PR fortran/103608 | |
| * frontend-passes.cc (do_intent): Catch NULL pointer dereference on | |
| reference to invalid formal argument. | |
| 2023-02-15 Steve Kargl <kargl@gcc.gnu.org> | |
| PR fortran/104554 | |
| * resolve.cc (check_assumed_size_reference): Avoid NULL pointer | |
| dereference. | |
| 2023-02-15 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/108512 | |
| * openmp.cc (gfc_resolve_omp_parallel_blocks): Handle combined 'loop' | |
| directives. | |
| (gfc_resolve_do_iterator): Set a source location for added | |
| 'private'-clause arguments. | |
| * resolve.cc (gfc_resolve_code): Call gfc_resolve_omp_do_blocks | |
| also for EXEC_OMP_LOOP and gfc_resolve_omp_parallel_blocks for | |
| combined directives with loop + '{masked,master} taskloop (simd)'. | |
| 2023-02-13 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/103475 | |
| * primary.cc (gfc_expr_attr): Avoid NULL pointer dereference for | |
| invalid use of CLASS variable. | |
| 2023-02-13 Rimvydas Jasinskas <rimvydas.jas@gmail.com> | |
| * decl.cc: Add EXT_ATTR_NOINLINE, EXT_ATTR_NORETURN, EXT_ATTR_WEAK. | |
| * gfortran.h (ext_attr_id_t): Ditto. | |
| * gfortran.texi (GCC$ ATTRIBUTES): Document them. | |
| * trans-decl.cc (build_function_decl): Apply them. | |
| 2023-02-09 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/69636 | |
| PR fortran/103779 | |
| * intrinsic.cc (gfc_convert_chartype): Recover on invalid character | |
| kind in conversion instead of generating an internal error. | |
| 2023-02-09 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/107424 | |
| * trans-openmp.cc (struct dovar_init_d): Add 'sym' and | |
| 'non_unit_incr' members. | |
| (gfc_nonrect_loop_expr): New. | |
| (gfc_trans_omp_do): Call it; use normal loop bounds | |
| for unit stride - and only create local loop var. | |
| 2023-02-09 Tobias Burnus <tobias@codesourcery.com> | |
| * parse.cc (decode_omp_directive): Really ignore 'assumes' with | |
| -fopenmp-simd. | |
| 2023-02-08 Steve Kargl <kargl@gcc.gnu.org> | |
| PR fortran/103259 | |
| * resolve.cc (resolve_common_vars): Avoid NULL pointer dereference | |
| when a symbol's location is not set. | |
| 2023-02-07 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/95107 | |
| * trans-decl.cc (gfc_finish_var_decl): With -fno-automatic, do not | |
| make ASSOCIATE variables TREE_STATIC. | |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108592 | |
| * arith.cc (gfc_arith_divide): Emit integer division truncation | |
| warnings using gfc_warning instead of gfc_warning_now to prevent | |
| redundant messages. | |
| 2023-02-03 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/108451 | |
| * trans-decl.cc (gfc_trans_use_stmts): Call clear_slot before | |
| doing continue. | |
| 2023-02-01 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108609 | |
| * expr.cc (find_array_section): Add check to prevent interpreting an | |
| mpz non-integer constant as an integer. | |
| 2023-02-01 Tobias Burnus <tobias@codesourcery.com> | |
| * openmp.cc (resolve_omp_clauses): Check also for | |
| power of two. | |
| 2023-01-29 Mikael Morin <mikael@gcc.gnu.org> | |
| PR fortran/108450 | |
| * check.cc (gfc_check_minloc_maxloc): Explicitly set argument name. | |
| (gfc_check_findloc): Ditto. | |
| 2023-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/103506 | |
| * parse.cc (parse_module): Remove use of a bool error value | |
| that prevented proper setting of the namespace pointer. | |
| 2023-01-28 Harald Anlauf <anlauf@gmx.de> | |
| Steven G. Kargl <kargl@gcc.gnu.org> | |
| PR fortran/108527 | |
| * resolve.cc (compare_bound_int): Expression to compare must be of | |
| type INTEGER. | |
| (compare_bound_mpz_t): Likewise. | |
| (check_dimension): Fix comment on checks applied to array section | |
| and clean up associated logic. | |
| 2023-01-28 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108453 | |
| * match.cc (gfc_match_common): A USE associated name shall not appear | |
| in a COMMON block (F2018:C8121). | |
| 2023-01-27 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/108558 | |
| * trans-openmp.cc (gfc_split_omp_clauses): Handle has_device_addr. | |
| 2023-01-26 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108544 | |
| * resolve.cc (check_host_association): Extend host association check | |
| so that it is not restricted to functions. Also prevent NULL pointer | |
| dereference. | |
| 2023-01-25 Steve Kargl <kargl@gcc.gnu.org> | |
| PR fortran/108528 | |
| * array.cc (compare_bounds): Return false instead of generating an | |
| internal error on an invalid argument type. | |
| 2023-01-24 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108529 | |
| * simplify.cc (simplify_transformation): Do not try to simplify | |
| transformational intrinsic when the ARRAY argument has a NULL shape. | |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108502 | |
| * dependency.cc (gfc_check_dependency): Prevent NULL pointer | |
| dereference while recursively checking expressions. | |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108501 | |
| * interface.cc (get_expr_storage_size): Check array subscript triplets | |
| that we actually have integer values before trying to extract with | |
| mpz_get_si. | |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108420 | |
| * iresolve.cc (check_charlen_present): Preserve character length if | |
| there is no array constructor. | |
| 2023-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
| PR fortran/102595 | |
| * data.cc (gfc_assign_data_value): Remove check for PARAMETER in DATA. | |
| * primary.cc (match_variable): Add check for PARAMETER in DATA. | |
| 2023-01-19 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108434 | |
| * expr.cc (class_allocatable): Prevent NULL pointer dereference | |
| or invalid read. | |
| (class_pointer): Likewise. | |
| 2023-01-17 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/108421 | |
| * interface.cc (get_expr_storage_size): Check that we actually have | |
| an integer value before trying to extract it with mpz_get_si. | |
| 2023-01-12 Tobias Burnus <tobias@codesourcery.com> | |
| PR fortran/107706 | |
| * openmp.cc (gfc_resolve_omp_assumptions): Reject nonscalars. | |
| 2023-01-11 Jakub Jelinek <jakub@redhat.com> | |
| PR fortran/108349 | |
| * f95-lang.cc (gfc_init_builtin_function): Fix up function types | |
| for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}. Formatting fixes. | |
| 2023-01-10 Harald Anlauf <anlauf@gmx.de> | |
| PR fortran/97345 | |
| * frontend-passes.cc (do_subscript): Clear used gmp variables. | |
| 2023-01-02 Jakub Jelinek <jakub@redhat.com> | |
| * gfortranspec.cc (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) 2023 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. |