| 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. |