| 2023-07-07 Release Manager |
| |
| * GCC 10.5.0 released. |
| |
| 2023-06-09 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-06-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/96024 |
| * primary.c (gfc_convert_to_structure_constructor): Only do |
| constant string ctor length verification and truncation/padding |
| if constant length has INTEGER type. |
| |
| 2023-05-03 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/108451 |
| * trans-decl.c (gfc_trans_use_stmts): Call clear_slot before |
| doing continue. |
| |
| 2023-05-03 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/108349 |
| * f95-lang.c (gfc_init_builtin_function): Fix up function types |
| for BUILT_IN_REALLOC and BUILT_IN_SINCOS{F,,L}. Formatting fixes. |
| |
| 2023-04-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-04-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/109511 |
| * simplify.c (gfc_simplify_set_exponent): Fix implementation of |
| compile-time simplification of intrinsic SET_EXPONENT for argument |
| X < 1 and for I < 0. |
| |
| 2023-03-24 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-03-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/109186 |
| * simplify.c (gfc_simplify_nearest): Fix off-by-one error in setting |
| up real kind-specific maximum exponent for mpfr. |
| |
| 2023-03-24 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-03-19 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/85877 |
| * resolve.c (resolve_fl_procedure): Check for an explicit interface |
| of procedures with the BIND(C) attribute (F2018:15.4.2.2). |
| |
| 2023-03-17 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-03-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/106945 |
| * trans-expr.c (gfc_copy_class_to_class): Convert element counts in |
| bounds check to common type for comparison. |
| |
| 2023-03-17 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-03-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104332 |
| * resolve.c (resolve_symbol): Avoid NULL pointer dereference while |
| checking a symbol with the BIND(C) attribute. |
| |
| 2023-03-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-02-27 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108937 |
| * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Handle corner case |
| LEN argument of IBITS equal to BITSIZE(I). |
| |
| 2023-03-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-02-22 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/96024 |
| * resolve.c (resolve_component): The type of a CHARACTER length |
| expression must be INTEGER. |
| |
| 2023-03-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-02-21 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/96025 |
| * parse.c (check_function_result_typed): Improve type check of |
| specification expression for character length and return status. |
| (parse_spec): Use status from above. |
| * resolve.c (resolve_fntype): Prevent use of invalid specification |
| expression for character length. |
| |
| 2023-02-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-02-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95107 |
| * trans-decl.c (gfc_finish_var_decl): With -fno-automatic, do not |
| make ASSOCIATE variables TREE_STATIC. |
| |
| 2023-02-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-02-01 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108609 |
| * expr.c (find_array_section): Add check to prevent interpreting an |
| mpz non-integer constant as an integer. |
| |
| 2023-02-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-28 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/108527 |
| * resolve.c (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-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108529 |
| * simplify.c (simplify_transformation): Do not try to simplify |
| transformational intrinsic when the ARRAY argument has a NULL shape. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-07-14 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/106209 |
| * decl.c (add_init_expr_to_sym): Handle bad initializers for |
| implied-shape arrays. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108501 |
| * interface.c (get_expr_storage_size): Check array subscript triplets |
| that we actually have integer values before trying to extract with |
| mpz_get_si. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108502 |
| * dependency.c (gfc_check_dependency): Prevent NULL pointer |
| dereference while recursively checking expressions. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108421 |
| * interface.c (get_expr_storage_size): Check that we actually have |
| an integer value before trying to extract it with mpz_get_si. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108420 |
| * iresolve.c (check_charlen_present): Preserve character length if |
| there is no array constructor. |
| |
| 2023-02-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2023-01-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108453 |
| * match.c (gfc_match_common): A USE associated name shall not appear |
| in a COMMON block (F2018:C8121). |
| |
| 2023-01-08 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-12-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/108131 |
| * array.c (match_array_element_spec): Avoid too early simplification |
| of matched array element specs that can lead to a misinterpretation |
| when used as array bounds in array declarations. |
| |
| 2022-12-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-12-09 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/107872 |
| * resolve.c (derived_inaccessible): Skip over allocatable components |
| to prevent an infinite loop. |
| |
| 2022-11-25 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-11-18 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/107576 |
| * interface.c (gfc_procedure_use): Reject NULL as actual argument |
| when there is no explicit procedure interface. |
| |
| 2022-10-28 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-10-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103413 |
| * symbol.c (gfc_type_compatible): A boz-literal-constant has no type |
| and thus is not considered compatible to any type. |
| |
| 2022-10-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-10-20 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/105633 |
| * expr.c (find_array_section): Move check for NULL pointers so |
| that both subscript triplets and vector subscripts are covered. |
| |
| 2022-10-10 Mikael Morin <mikael@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/106817 |
| * trans-expr.c (gfc_conv_procedure_call): Collect all clobbers |
| to their own separate block. Append the block of clobbers to |
| the procedure preliminary block after the argument evaluation |
| codes for all the arguments. |
| |
| 2022-10-10 Mikael Morin <mikael@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/105012 |
| * trans-expr.c (gfc_conv_procedure_call): Retrieve variable |
| from the just calculated variable reference. |
| |
| 2022-10-10 Mikael Morin <mikael@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-09-25 Mikael Morin <mikael@gcc.gnu.org> |
| |
| * trans.h (gfc_conv_expr_reference): Remove add_clobber |
| argument. |
| * trans-expr.c (gfc_conv_expr_reference): Ditto. Inline code |
| depending on add_clobber and conditions controlling it ... |
| (gfc_conv_procedure_call): ... to here. |
| |
| 2022-10-08 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| Backported from master: |
| 2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/100040 |
| PR fortran/100029 |
| * trans-expr.c (gfc_conv_class_to_class): Add code to have |
| assumed-rank arrays recognized as full arrays and fix the type |
| of the array assignment. |
| (gfc_conv_procedure_call): Change order of code blocks such that |
| the free of ALLOCATABLE dummy arguments with INTENT(OUT) occurs |
| first. |
| |
| 2022-10-01 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| Backported from master: |
| 2022-09-20 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/100132 |
| * trans-types.c (create_fn_spec): Fix function attributes when |
| passing polymorphic pointers. |
| |
| 2022-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-09-27 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/107054 |
| * simplify.c (gfc_simplify_unpack): Replace assert by condition |
| that terminates simplification when there are not enough elements |
| in the constructor of argument VECTOR. |
| |
| 2022-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-09-22 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/82868 |
| * trans-decl.c (generate_coarray_sym_init): Skip symbol |
| if attr.associate_var. |
| |
| 2022-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-09-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/106985 |
| * expr.c (gfc_simplify_expr): Avoid NULL pointer dereference. |
| |
| 2022-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-08-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103694 |
| * simplify.c (simplify_size): The size expression of an array cannot |
| be simplified if an error occurs while resolving the array spec. |
| |
| 2022-09-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-09-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/106986 |
| * simplify.c (gfc_simplify_findloc): Do not try to simplify |
| intrinsic FINDLOC when the ARRAY argument has a NULL shape. |
| |
| 2022-09-24 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| Backported from master: |
| 2022-09-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/100245 |
| * trans-expr.c (trans_class_assignment): Add if clause to handle |
| derived type in the LHS. |
| |
| 2022-09-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-09-15 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/106857 |
| * simplify.c (gfc_simplify_pack): Check for NULL pointer dereferences |
| while walking through constructors (error recovery). |
| |
| 2022-07-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-07-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103504 |
| * interface.c (get_sym_storage_size): Array bounds and character |
| length can only be of integer type. |
| |
| 2022-07-16 Steve Kargl <kargl@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-07-15 Steve Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/104313 |
| * trans-decl.c (gfc_generate_return): Do not generate conflicting |
| fake results for functions with no result variable under -ff2c. |
| |
| 2022-07-03 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-06-30 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/103137 |
| PR fortran/103138 |
| PR fortran/103693 |
| PR fortran/105243 |
| * decl.c (gfc_match_data_decl): Reject CLASS entity declaration |
| when it is given the PARAMETER attribute. |
| |
| 2022-07-03 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-06-29 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/106121 |
| * simplify.c (gfc_simplify_extends_type_of): Do not attempt to |
| simplify when one of the arguments is a CLASS variable that was |
| not properly declared. |
| |
| 2022-07-01 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-06-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/105954 |
| * decl.c (variable_decl): Adjust upper bounds for explicit-shape |
| specs with constant bound expressions to ensure non-negative |
| extents. |
| |
| 2022-07-01 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-06-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/105691 |
| * simplify.c (gfc_simplify_index): Replace old simplification |
| code by the equivalent of the runtime library implementation. Use |
| HOST_WIDE_INT instead of int for string index, length variables. |
| |
| 2022-07-01 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-06-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/105813 |
| * check.c (gfc_check_unpack): Try to simplify MASK argument to |
| UNPACK so that checking of the VECTOR argument can work when MASK |
| is a variable. |
| |
| 2022-06-28 Release Manager |
| |
| * GCC 10.4.0 released. |
| |
| 2022-05-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-05-11 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/105230 |
| * expr.c (find_array_section): Correct logic to avoid NULL |
| pointer dereference on invalid array section. |
| |
| 2022-05-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-03-09 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104849 |
| * expr.c (find_array_section): Avoid NULL pointer dereference on |
| invalid array section. |
| |
| 2022-05-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-04-05 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/105138 |
| * intrinsic.c (gfc_is_intrinsic): When a symbol refers to a |
| RECURSIVE procedure, it cannot be an INTRINSIC. |
| |
| 2022-05-10 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2021-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/103315 |
| * trans-types.c (gfc_get_array_descr_info): Use DW_OP_deref_size 1 |
| instead of DW_OP_deref for DW_AT_rank. |
| |
| 2022-04-24 Mikael Morin <mikael@gcc.gnu.org> |
| |
| PR fortran/104228 |
| PR fortran/104570 |
| * parse.c (parse_associate): Use a new distinct gfc_charlen if |
| the copied type has one whose length is not known to be |
| constant. |
| * resolve.c (resolve_assoc_var): Also create a new character |
| length for non-dummy associate targets. Reset charlen if it’s |
| shared with the associate target regardless of the expression |
| type. Don’t reinitialize charlen if it’s deferred. |
| * trans-stmt.c (trans_associate_var): Initialize character |
| length even if no temporary is used for the associate variable. |
| |
| 2022-04-21 Fritz Reese <foreese@gcc.gnu.org> |
| |
| Backported from master: |
| 2022-04-21 Fritz Reese <foreese@gcc.gnu.org> |
| |
| PR fortran/105310 |
| * trans-expr.c (gfc_conv_union_initializer): Pass vec* by reference. |
| |
| 2022-02-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-02-22 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104619 |
| * resolve.c (resolve_structure_cons): Skip shape check if shape |
| of constructor cannot be determined at compile time. |
| |
| 2022-02-04 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-02-03 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104311 |
| * check.c (gfc_calculate_transfer_sizes): Checks for case when |
| storage size of SOURCE is greater than zero while the storage size |
| of MOLD is zero and MOLD is an array shall not depend on SIZE. |
| |
| 2022-02-02 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-02-01 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104331 |
| * simplify.c (gfc_simplify_eoshift): Avoid NULL pointer |
| dereference when shape is not set. |
| |
| 2022-01-29 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-15 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/83079 |
| * target-memory.c (gfc_interpret_character): Result length is |
| in bytes and thus depends on the character kind. |
| * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Compute correct |
| string length for the result of the TRANSFER intrinsic and for |
| temporaries for the different character kinds. |
| |
| 2022-01-29 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-22 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104127 |
| * simplify.c (gfc_simplify_transfer): Ensure that the result |
| typespec is set up for TRANSFER with MOLD of type CHARACTER |
| including character length even if the result is a zero-sized |
| array. |
| |
| 2022-01-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/104227 |
| * check.c (gfc_calculate_transfer_sizes): Fix checking of arrays |
| passed as MOLD argument to the TRANSFER intrinsic for having |
| storage size zero. |
| |
| 2022-01-25 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-09 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/101762 |
| * expr.c (gfc_check_pointer_assign): For pointer initialization |
| targets, check that subscripts and substring indices in |
| specifications are constant expressions. |
| |
| 2022-01-25 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-13 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/67804 |
| * primary.c (gfc_match_structure_constructor): Recover from errors |
| that occurred while checking for a valid structure constructor in |
| a DATA statement. |
| |
| 2022-01-21 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103782 |
| * expr.c (gfc_simplify_expr): Adjust logic for when to scalarize a |
| call of an intrinsic which may have been overloaded. |
| |
| 2022-01-20 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2022-01-18 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103692 |
| * array.c (gfc_expand_constructor): Handle zero-sized array |
| constructors. |
| |
| 2022-01-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102332 |
| * expr.c (gfc_get_variable_expr): Avoid NULL pointer dereferences |
| during handling of errors with invalid uses of CLASS variables. |
| * match.c (select_type_set_tmp): Likewise. |
| * primary.c (gfc_match_varspec): Likewise. |
| * resolve.c (resolve_variable): Likewise. |
| (resolve_select_type): Likewise. |
| |
| 2022-01-07 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-05-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/100551 |
| * trans-expr.c (gfc_conv_procedure_call): Adjust check for |
| implicit conversion of actual argument to an unlimited polymorphic |
| procedure argument. |
| |
| 2021-12-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103418 |
| * check.c (variable_check): Replace previous check of procedure |
| dummy arguments with INTENT(IN) attribute when passed to intrinsic |
| procedures by gfc_check_vardef_context. |
| * expr.c (gfc_check_vardef_context): Correct check of INTENT(IN) |
| dummy arguments for the case of sub-components of a CLASS pointer. |
| |
| 2021-12-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-22 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103778 |
| * check.c (is_c_interoperable): A BOZ literal constant is not |
| interoperable. |
| |
| 2021-12-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-18 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/101329 |
| * check.c (is_c_interoperable): Reject NULL() as it is not |
| interoperable. |
| |
| 2021-12-19 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103588 |
| * array.c (gfc_ref_dimen_size): Do not generate internal error on |
| failed simplification of stride expression; just return failure. |
| |
| 2021-12-19 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-03 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/103505 |
| * array.c (match_array_element_spec): Try to simplify array |
| element specifications to improve early checking. |
| * expr.c (gfc_try_simplify_expr): New. Try simplification of an |
| expression via gfc_simplify_expr. When an error occurs, roll |
| back. |
| * gfortran.h (gfc_try_simplify_expr): Declare it. |
| |
| 2021-12-19 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-18 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103412 |
| * check.c (gfc_check_sizeof): Reject BOZ type argument. |
| |
| 2021-12-17 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-08 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103610 |
| * array.c (spec_dimen_size): Fix simplification of SHAPE: |
| dimensions must be non-negative. |
| |
| 2021-12-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103606 |
| * resolve.c (resolve_fl_procedure): Do not access CLASS components |
| before class container has been built. |
| |
| 2021-12-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103717 |
| * frontend-passes.c (doloop_code): Prevent NULL pointer |
| dereference when checking for passing a do-loop variable to a |
| contained procedure with an interface mismatch. |
| |
| 2021-12-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102787 |
| * array.c (expand_constructor): When encountering a constant array |
| expression or array section within a constructor, simplify it to |
| enable better expansion. |
| |
| 2021-12-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102717 |
| * simplify.c (gfc_simplify_reshape): Replace assert by error |
| message for negative elements in SHAPE array. |
| |
| 2021-12-11 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103411 |
| * check.c (gfc_check_reshape): Improve check of size of source |
| array for the RESHAPE intrinsic against the given shape when pad |
| is not given, and shape is a parameter. Try other simplifications |
| of shape. |
| |
| 2021-12-10 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-12-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103607 |
| * frontend-passes.c (do_subscript): Ensure that array bounds are |
| of type INTEGER before performing checks on array subscripts. |
| |
| 2021-11-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103392 |
| * simplify.c (simplify_bound): Do not try to simplify |
| LBOUND/UBOUND for arrays with POINTER or ALLOCATABLE attribute. |
| |
| 2021-11-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-21 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/99061 |
| * trans-intrinsic.c (gfc_lookup_intrinsic): Helper function for |
| looking up gfortran builtin intrinsics. |
| (gfc_conv_intrinsic_atrigd): Use it. |
| (gfc_conv_intrinsic_cotan): Likewise. |
| (gfc_conv_intrinsic_cotand): Likewise. |
| (gfc_conv_intrinsic_atan2d): Likewise. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/103137 |
| PR fortran/103138 |
| * check.c (gfc_check_shape): Avoid NULL pointer dereference on |
| missing ref. |
| * simplify.c (gfc_simplify_cshift): Avoid NULL pointer dereference |
| when shape not set. |
| (gfc_simplify_transpose): Likewise. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-26 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102816 |
| * resolve.c (resolve_structure_cons): Reject invalid array spec of |
| a DT component referenced in a structure constructor. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-15 Harald Anlauf <anlauf@gmx.de> |
| Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/102685 |
| * decl.c (match_clist_expr): Set rank/shape of clist initializer |
| to match LHS. |
| * resolve.c (resolve_structure_cons): In a structure constructor, |
| compare shapes of array components against declared shape. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-06 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102715 |
| * decl.c (add_init_expr_to_sym): Reject rank mismatch between |
| array and its initializer. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-11-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102817 |
| * expr.c (simplify_parameter_variable): Copy shape of referenced |
| subobject when simplifying. |
| |
| 2021-11-13 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/99348 |
| PR fortran/102521 |
| * decl.c (add_init_expr_to_sym): Extend initialization of |
| parameter arrays from scalars to handle derived types. |
| |
| 2021-10-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102716 |
| * check.c (gfc_check_shape): Reorder checks so that invalid KIND |
| arguments can be detected. |
| |
| 2021-10-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102458 |
| * simplify.c (simplify_size): Resolve expressions used in array |
| specifications so that SIZE can be simplified. |
| |
| 2021-10-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-10-03 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102458 |
| * expr.c (is_non_constant_intrinsic): Check for intrinsics |
| excluded in constant expressions (F2018:10.1.12). |
| (gfc_is_constant_expr): Use that check. |
| |
| 2021-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-13 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/82314 |
| * decl.c (add_init_expr_to_sym): For proper initialization of |
| array-valued named constants the array bounds need to be |
| simplified before adding the initializer. |
| |
| 2021-09-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102520 |
| * array.c (expand_constructor): Do not dereference NULL pointer. |
| |
| 2021-09-21 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-13 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/85130 |
| * expr.c (find_substring_ref): Handle given substring start and |
| end indices as signed integers, not unsigned. |
| |
| 2021-09-21 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-16 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102287 |
| * trans-expr.c (gfc_conv_procedure_call): Wrap deallocation of |
| allocatable components of optional allocatable derived type |
| procedure arguments with INTENT(OUT) into a presence check. |
| |
| 2021-09-21 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/102366 |
| * trans-decl.c (gfc_finish_var_decl): Disable the warning message |
| for variables moved from stack to static storange if they are |
| declared in the main, but allow the move to happen. |
| |
| 2021-09-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-07 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/101327 |
| * expr.c (find_array_element): When bounds cannot be determined as |
| constant, return error instead of aborting. |
| |
| 2021-09-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-09-09 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98490 |
| * trans-expr.c (gfc_conv_substring): Do not generate substring |
| bounds check for implied do loop index variable before it actually |
| becomes defined. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/97612 |
| * primary.c (build_actual_constructor): Missing allocatable |
| components are set unallocated using EXPR_NULL. Then missing |
| components are tested for a default initializer. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-22 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98565 |
| * trans-intrinsic.c (gfc_conv_associated): Do not add a _data |
| component for scalar class function targets. Instead, fix the |
| function result and access the _data from that. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/97694 |
| PR fortran/97723 |
| * check.c (allocatable_check): Select rank temporaries are |
| permitted even though they are treated as associate variables. |
| * resolve.c (gfc_resolve_code): Break on select rank as well as |
| select type so that the block os resolved. |
| * trans-stmt.c (trans_associate_var): Class associate variables |
| that are optional dummies must use the backend_decl. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93701 |
| * resolve.c (find_array_spec): Put static prototype for |
| resolve_assoc_var before this function and call for associate |
| variables. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98472 |
| * trans-array.c (gfc_conv_expr_descriptor): Include elemental |
| procedure pointers in the assert under the comment 'elemental |
| function' and eliminate the second, spurious assert. |
| |
| 2021-09-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-04-20 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/100110 |
| * trans-decl.c (gfc_get_symbol_decl): Replace test for host |
| association with a check that the current and symbol namespaces |
| are the same. |
| |
| 2021-08-30 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-05-06 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/46691 |
| PR fortran/99819 |
| * class.c (gfc_build_class_symbol): Remove the error that |
| disables assumed size class arrays. Class array types that are |
| not deferred shape or assumed rank are given a unique name and |
| placed in the procedure namespace. |
| * trans-array.c (gfc_trans_g77_array): Obtain the data pointer |
| for class arrays. |
| (gfc_trans_dummy_array_bias): Suppress the runtime error for |
| extent violations in explicit shape class arrays because it |
| always fails. |
| * trans-expr.c (gfc_conv_procedure_call): Handle assumed size |
| class actual arguments passed to non-descriptor formal args by |
| using the data pointer, stored as the symbol's backend decl. |
| |
| 2021-08-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-04-03 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/99818 |
| * interface.c (compare_parameter): The codimension attribute is |
| applied to the _data field of class formal arguments. |
| |
| 2021-08-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-27 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93924 |
| PR fortran/93925 |
| * trans-expr.c (gfc_conv_procedure_call): Suppress the call to |
| gfc_conv_intrinsic_to_class for unlimited polymorphic procedure |
| pointers. |
| (gfc_trans_assignment_1): Similarly suppress class assignment |
| for class valued procedure pointers. |
| |
| 2021-08-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93794 |
| * trans-expr.c (gfc_conv_component_ref): Remove the condition |
| that deferred character length components only be allocatable. |
| |
| 2021-08-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-03-13 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/99125 |
| * trans-array.c (gfc_conv_expr_descriptor): For deferred length |
| length components use the ss_info string length instead of |
| gfc_get_expr_charlen. Make sure that the deferred string length |
| is a variable before assigning to it. Otherwise use the expr. |
| * trans-expr.c (gfc_conv_string_length): Make sure that the |
| deferred string length is a variable before assigning to it. |
| |
| 2021-08-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-08-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98411 |
| * trans-decl.c (gfc_finish_var_decl): Adjust check to handle |
| implicit SAVE as well as variables in the main program. Improve |
| warning message text. |
| |
| 2021-07-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-07-21 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/101514 |
| * target-memory.c (gfc_interpret_derived): Size of array component |
| of derived type can only be computed here for explicit shape. |
| * trans-types.c (gfc_get_nodesc_array_type): Do not dereference |
| NULL pointers. |
| |
| 2021-07-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-07-23 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/101536 |
| * check.c (array_check): Adjust check for the case of CLASS |
| arrays. |
| |
| 2021-07-28 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-07-18 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/101084 |
| * io.c (resolve_tag_format): Extend FORMAT check to unknown type. |
| |
| 2021-07-16 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-07-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/100949 |
| * trans-expr.c (gfc_trans_class_init_assign): Call |
| gfc_conv_expr_present only for dummy variables. |
| |
| 2021-07-12 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-07-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/100227 |
| * frontend-passes.c (traverse_io_block): Adjust test for |
| when a variable is eligible for the transformation to |
| array slice. |
| |
| 2021-06-18 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-06-16 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95501 |
| PR fortran/95502 |
| * expr.c (gfc_check_pointer_assign): Avoid NULL pointer |
| dereference. |
| * match.c (gfc_match_pointer_assignment): Likewise. |
| * parse.c (gfc_check_do_variable): Avoid comparison with NULL |
| symtree. |
| |
| 2021-06-16 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/82376 |
| * trans-expr.c (gfc_conv_procedure_call): Evaluate function result |
| and then pass a pointer. |
| |
| 2021-06-04 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-06-04 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/99839 |
| * frontend-passes.c (inline_matmul_assign): Do not inline matmul |
| if the assignment to the resulting array if it is not of canonical |
| type (real/integer/complex/logical). |
| |
| 2021-05-28 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-05-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98411 |
| * trans-decl.c (gfc_finish_var_decl): Add check for explicit SAVE |
| attribute. |
| |
| 2021-05-05 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-05-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/100274 |
| * interface.c (gfc_compare_actual_formal): Continue checks after |
| emitting warning for argument length mismatch. |
| * trans-expr.c (gfc_conv_procedure_call): Check for NULL pointer |
| dereference. |
| |
| 2021-04-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-04-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * openmp.c (gfc_match_omp_variable_list): Gobble whitespace before |
| checking whether a '%' or parenthesis-open follows as next character. |
| |
| 2021-04-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-04-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/100154 |
| * check.c (variable_check): Allow function reference having a data |
| pointer result. |
| (arg_strlen_is_zero): New function. |
| (gfc_check_fgetputc_sub): Add static check of character and status |
| arguments. |
| (gfc_check_fgetput_sub): Likewise. |
| * intrinsic.c (add_subroutines): Fix argument name for the |
| character argument to intrinsic subroutines fget[c], fput[c]. |
| |
| 2021-04-18 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-04-16 Harald Anlauf <anlauf@gmx.de> |
| Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/63797 |
| * module.c (write_symtree): Do not write interface of intrinsic |
| procedure to module file for F2003 and newer. |
| |
| 2021-04-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-04-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99817 |
| * trans-types.c (gfc_get_function_type): Also generate hidden |
| coarray argument for character arguments. |
| |
| 2021-04-08 Release Manager |
| |
| * GCC 10.3.0 released. |
| |
| 2021-04-01 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-04-01 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/99840 |
| * simplify.c (gfc_simplify_transpose): Properly initialize |
| resulting shape. |
| |
| 2021-03-29 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-03-26 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99651 |
| * intrinsic.c (gfc_intrinsic_func_interface): Set |
| attr.proc = PROC_INTRINSIC if FL_PROCEDURE. |
| |
| 2021-03-25 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-03-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93660 |
| * trans-decl.c (build_function_decl): Add comment; |
| increment hidden_typelist for caf_token/caf_offset. |
| * trans-types.c (gfc_get_function_type): Add comment; |
| add missing caf_token/caf_offset args. |
| |
| 2021-03-25 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-03-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99369 |
| * resolve.c (resolve_operator): Make 'msg' buffer larger |
| and use snprintf. |
| |
| 2021-03-23 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-03-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99688 |
| * match.c (select_type_set_tmp, gfc_match_select_type, |
| gfc_match_select_rank): Fix 'name' buffersize to avoid out of bounds. |
| * resolve.c (resolve_select_type): Likewise. |
| |
| 2021-03-19 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-03-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/99205 |
| * data.c (gfc_assign_data_value): Reject non-constant character |
| length for lvalue. |
| * trans-array.c (gfc_conv_array_initializer): Restrict loop to |
| elements which are defined to avoid NULL pointer dereference. |
| |
| 2021-03-15 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-03-15 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/99545 |
| * trans-stmt.c (gfc_trans_allocate): Mark the initialization |
| assignment by setting init_flag. |
| |
| 2021-02-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-01-14 Harald Anlauf <anlauf@gmx.de> |
| |
| * gfortran.h (gfc_resolve_substring): Add prototype. |
| * primary.c (match_string_constant): Simplify substrings with |
| constant starting and ending points. |
| * resolve.c: Rename resolve_substring to gfc_resolve_substring. |
| (gfc_resolve_ref): Use renamed function gfc_resolve_substring. |
| |
| 2021-02-24 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-02-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/99124 |
| * resolve.c (resolve_fl_procedure): Include class results in |
| the test for F2018, C15100. |
| * trans-array.c (get_class_info_from_ss): Do not use the saved |
| descriptor to obtain the class expression for variables. Use |
| gfc_get_class_from_expr instead. |
| |
| 2021-02-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-02-21 Harald Anlauf <anlauf@gmx.de> |
| |
| * trans-expr.c (gfc_conv_procedure_call): Do not add clobber to |
| allocatable intent(out) argument. |
| |
| 2021-02-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-02-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99171 |
| * trans-openmp.c (gfc_omp_is_optional_argument): Regard optional |
| dummy procs as nonoptional as no special treatment is needed. |
| |
| 2021-02-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-02-19 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99027 |
| * simplify.c (simplify_bound_dim): Honor DIMEN_ELEMENT |
| when using dim=. |
| |
| 2021-02-19 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-02-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99111 |
| * io.c (resolve_tag_format): Reject BT_DERIVED/CLASS/VOID |
| as (array-valued) FORMAT tag. |
| |
| 2021-02-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2021-02-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/99043 |
| * trans-expr.c (gfc_conv_procedure_call): Don't reset |
| rank of assumed-rank array. |
| |
| 2021-02-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-02-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98897 |
| * match.c (gfc_match_call): Include associate names as possible |
| entities with typebound subroutines. The target needs to be |
| resolved for the type. |
| |
| 2021-02-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-02-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/99060 |
| * primary.c (gfc_match_varspec): Test for non-null 'previous' |
| before using its name in the error message. |
| |
| 2021-01-28 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-01-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/86470 |
| * trans.c (gfc_call_malloc): Allocate area of size 1 if passed |
| size is NULL (as documented). |
| |
| 2021-01-25 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2021-01-25 Steve Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/98517 |
| * resolve.c (resolve_charlen): Check that length expression is |
| present before testing for scalar/integer.. |
| |
| 2021-01-25 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-29 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93833 |
| * trans-array.c (get_array_ctor_var_strlen): If the character |
| length backend_decl cannot be found, convert the expression and |
| use the string length. Clear up some minor white space issues |
| in the rest of the file. |
| |
| 2021-01-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-26 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98022 |
| * data.c (gfc_assign_data_value): Throw an error for inquiry |
| references. Follow with corrected code that would provide the |
| expected result and provides clean error recovery. |
| |
| 2021-01-23 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-12 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/98022 |
| * data.c (gfc_assign_data_value): Handle inquiry references in |
| the data statement object list. |
| |
| 2021-01-07 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-01-06 Harald Anlauf <anlauf@gmx.de> |
| |
| * resolve.c (resolve_component): Add check for valid CLASS |
| reference before trying to access CLASS data. |
| |
| 2021-01-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-08-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96325 |
| * primary.c (gfc_match_varspec): In the case that a component |
| reference is added to an intrinsic type component, emit the |
| error message in this function. |
| |
| 2021-01-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/83118 |
| * trans-array.c (gfc_alloc_allocatable_for_assignment): Make |
| sure that class expressions are captured for dummy arguments by |
| use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is |
| used. |
| * trans-expr.c (gfc_get_class_from_gfc_expr): New function. |
| (gfc_get_class_from_expr): If a constant expression is |
| encountered, return NULL_TREE; |
| (gfc_trans_assignment_1): Deallocate rhs allocatable components |
| after passing derived type function results to class lhs. |
| * trans.h : Add prototype for gfc_get_class_from_gfc_expr. |
| |
| 2021-01-07 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-12-18 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/83118 |
| PR fortran/96012 |
| * resolve.c (resolve_ordinary_assign): Generate a vtable if |
| necessary for scalar non-polymorphic rhs's to unlimited lhs's. |
| * trans-array.c (get_class_info_from_ss): New function. |
| (gfc_trans_allocate_array_storage): Defer obtaining class |
| element type until all sources of class exprs are tried. Use |
| class API rather than TREE_OPERAND. Look for class expressions |
| in ss->info by calling get_class_info_from_ss. After, obtain |
| the element size for class descriptors. Where the element type |
| is unknown, cast the data as character(len=size) to overcome |
| unlimited polymorphic problems. |
| (gfc_conv_ss_descriptor): Do not fix class variable refs. |
| (build_class_array_ref, structure_alloc_comps): Replace code |
| replicating the new function gfc_resize_class_size_with_len. |
| (gfc_alloc_allocatable_for_assignment): Obtain element size |
| for lhs in cases of deferred characters and class enitities. |
| Move code for the element size of rhs to start of block. Clean |
| up extraction of class parameters throughout this function. |
| After the shape check test whether or not the lhs and rhs |
| element sizes are the same. Use earlier evaluation of |
| 'cond_null'. Reallocation of lhs only to happen if size changes |
| or element size changes. |
| * trans-expr.c (gfc_resize_class_size_with_len): New function. |
| (gfc_get_class_from_expr): If a constant expression is |
| encountered, return NULL_TREE; |
| (trans_scalar_class_assign): New function. |
| (gfc_conv_procedure_call): Ensure the vtable is present for |
| passing a non-class actual to an unlimited formal. |
| (trans_class_vptr_len_assignment): For expressions of type |
| BT_CLASS, extract the class expression if necessary. Use a |
| statement block outside the loop body. Ensure that 'rhs' is |
| of the correct type. Obtain rhs vptr in all circumstances. |
| (gfc_trans_scalar_assign): Call trans_scalar_class_assign to |
| make maximum use of the vptr copy in place of assignment. |
| (trans_class_assignment): Actually do reallocation if needed. |
| (gfc_trans_assignment_1): Simplify some of the logic with |
| 'realloc_flag'. Set 'vptr_copy' for all array assignments to |
| unlimited polymorphic lhs. |
| * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_ |
| with_len to correct span for unlimited polymorphic decls. |
| * trans.h : Add prototype for gfc_resize_class_size_with_len. |
| |
| 2021-01-04 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2021-01-01 Harald Anlauf <anlauf@gmx.de> |
| |
| * class.c (gfc_find_vtab): Add check on attribute is_class. |
| |
| 2021-01-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-12-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/92587 |
| * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ... |
| * resolve.c (gfc_resolve_code): ... to here. |
| |
| 2020-12-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-08-20 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96100 |
| PR fortran/96101 |
| * trans-array.c (get_array_charlen): Tidy up the evaluation of |
| the string length for array constructors. Avoid trailing array |
| references. Ensure string lengths of deferred length components |
| are set. For parentheses operator apply string length to both |
| the primary expression and the enclosed expression. |
| |
| 2020-12-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-08-02 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR target/96320 |
| * interface.c (gfc_check_dummy_characteristics): If a module |
| procedure arrives with assumed shape in the interface and |
| deferred shape in the procedure itself, update the latter and |
| copy the lower bounds. |
| |
| 2020-12-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-12-25 Harald Anlauf <anlauf@gmx.de> |
| |
| * data.c (gfc_assign_data_value): Restrict use of |
| create_character_initializer to constant initializers. |
| * trans-expr.c (gfc_conv_initializer): Ensure that character |
| initializer is constant, otherwise fall through to get the same |
| error handling as for non-character cases. |
| |
| 2020-12-19 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-12-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/98307 |
| * trans-stmt.c (check_forall_dependencies): Extend dependency |
| check to allocatable components of derived types. |
| |
| 2020-12-06 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-11-29 Harald Anlauf <anlauf@gmx.de> |
| |
| * expr.c (simplify_parameter_variable): Fix up character length |
| after copying an array-valued expression. |
| |
| 2020-12-04 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-12-03 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95342 |
| * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference. |
| (gfc_match_subroutine): Likewise. |
| |
| 2020-11-25 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-11-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/85796 |
| * resolve.c (traverse_data_list): Fix copy&paste errors; catch |
| step=0 in implied do loop. |
| |
| 2020-11-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97782 |
| * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do, |
| gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections, |
| gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections |
| gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams |
| gfc_trans_omp_target, gfc_trans_omp_target_data, |
| gfc_trans_omp_workshare): Use code->loc instead of input_location |
| when building the OMP_/OACC_ construct. |
| |
| 2020-11-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-10 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/95847 |
| * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location |
| of an external procedure. |
| (build_entry_thunks, generate_coarray_init, create_main_function, |
| gfc_generate_function_code): Use fndecl's location in BIND_EXPR. |
| |
| 2020-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2020-11-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/97768 |
| * misc.c (gfc_typename): Use ex->value.character.length only if |
| ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead |
| of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print * |
| instead of length. Otherwise if character length is non-constant, |
| print just CHARACTER or CHARACTER(KIND=N). |
| |
| 2020-11-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-06 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/97652 |
| * module.c (mio_symbol): Fix symbol name for pdt_type. |
| |
| 2020-11-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-06 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel): |
| Remove. |
| (resolve_oacc_loop_blocks): Don't call the former. |
| |
| 2020-11-03 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-10-27 Harald Anlauf <anlauf@gmx.de> |
| |
| * resolve.c (gfc_impure_variable): A dummy argument with the VALUE |
| attribute may be redefined without making a procedure impure. |
| |
| 2020-11-03 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-03 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR fortran/92793 |
| * trans-openmp.c (gfc_trans_omp_clauses): More precise location |
| information for OpenACC 'gang', 'worker', 'vector' clauses with |
| argument. |
| |
| 2020-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backported from master: |
| 2020-11-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR fortran/92793 |
| * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'. |
| (gfc_restore_backend_locus): Adjust. |
| |
| 2020-10-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-10-16 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95979 |
| * expr.c (gfc_check_init_expr): Fix check of return code from |
| gfc_intrinsic_func_interface. |
| * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt |
| of simplification of elemental intrinsics with array arguments. |
| * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument |
| for simplification of elemental use of INDEX. |
| |
| 2020-10-08 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-10-04 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/97272 |
| * trans-intrinsic.c (strip_kind_from_actual): Helper function for |
| removal of KIND argument. |
| (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it |
| is treated elsewhere. |
| |
| 2020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Revert: |
| 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95614 |
| * decl.c (gfc_get_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * decl.c (gfc_bind_idents): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.c : Rename match_common_name to gfc_match_common_name. |
| * match.c (gfc_match_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.h : Rename match_common_name to gfc_match_common_name. |
| * resolve.c (resolve_common_vars): Check each symbol in a |
| common block has a global symbol. If there is a global symbol |
| issue an error if the symbol type is known as is not a common |
| block name. |
| |
| 2020-09-27 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95614 |
| * decl.c (gfc_get_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * decl.c (gfc_bind_idents): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.c : Rename match_common_name to gfc_match_common_name. |
| * match.c (gfc_match_common): Use gfc_match_common_name instead |
| of match_common_name. |
| * match.h : Rename match_common_name to gfc_match_common_name. |
| * resolve.c (resolve_common_vars): Check each symbol in a |
| common block has a global symbol. If there is a global symbol |
| issue an error if the symbol type is known as is not a common |
| block name. |
| |
| 2020-09-18 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-09-17 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/96041 |
| PR fortran/93423 |
| * decl.c (gfc_match_submod_proc): Avoid later double-free |
| in the error case. |
| |
| 2020-09-18 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-02 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93423 |
| * resolve.c (resolve_symbol): Avoid NULL pointer dereference. |
| |
| 2020-09-11 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2020-09-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/96859 |
| * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits, |
| change also '2' to '0' and '3' to '1' rather than just handling '4' |
| through '7'. |
| |
| 2020-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-09-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/95109 |
| PR fortran/94690 |
| * resolve.c (gfc_resolve_code): Also call |
| gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. |
| * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. |
| * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, |
| call simd not do processing function. |
| |
| 2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * intrinsic.texi: Fix description of FINDLOC result. |
| |
| 2020-09-01 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-09-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95398 |
| * resolve.c (resolve_select_type): Add check for BT_CLASS |
| type before using the CLASS_DATA macro which will have a |
| NULL pointer to derive components if it isn't BT_CLASS. |
| |
| 2020-08-31 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from master: |
| 2020-08-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94672 |
| * trans-array.c (gfc_trans_g77_array): Check against the parm decl and |
| set the nonparm decl used for the is-present check to NULL if absent. |
| |
| 2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95882 |
| * decl.c (char_len_param_value): Check gfc_seen_div0 and |
| if it is set return MATCH_ERROR. |
| |
| 2020-08-11 Paul Thomas <pault@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-08-10 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/96312 |
| * trans-expr.c (fcncall_realloc_result): Only compare shapes if |
| lhs was allocated.. |
| |
| 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/96319 |
| * intrinsic.c (gfc_convert_type_warn): Add check for |
| LOGICAL type so that warnings are not output. |
| |
| 2020-07-27 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95612 |
| * expr.c (gfc_check_pointer_assigb): Output an error if |
| rvalue is a zero sized array or output an error if rvalue |
| doesn't have a symbol tree. |
| |
| 2020-07-26 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95585 |
| * check.c (gfc_check_reshape): Add check for a value when |
| the symbol has an attribute flavor FL_PARAMETER. |
| |
| 2020-07-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95980 |
| * class.c (gfc_add_component_ref, gfc_build_class_symbol): |
| Add checks for NULL pointer dereference. |
| * primary.c (gfc_variable_attr): Likewise. |
| * resolve.c (resolve_variable, resolve_assoc_var) |
| (resolve_fl_var_and_proc, resolve_fl_variable_derived) |
| (resolve_symbol): Likewise. |
| |
| 2020-07-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-06 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95980 |
| * match.c (copy_ts_from_selector_to_associate, build_class_sym): |
| Distinguish between unlimited polymorphic and ordinary variables |
| to avoid NULL pointer dereference. |
| * resolve.c (resolve_select_type): |
| Distinguish between unlimited polymorphic and ordinary variables |
| to avoid NULL pointer dereference. |
| |
| 2020-07-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-10 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/96086 |
| * match.c (gfc_match_select_rank): Catch NULL pointer |
| dereference. |
| * resolve.c (resolve_assoc_var): Catch NULL pointer dereference |
| that may occur after an illegal declaration. |
| |
| 2020-07-23 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-21 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/89574 |
| * trans-decl.c (gfc_get_extern_function_decl): Check whether a |
| symbol belongs to a different module. |
| |
| 2020-07-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96220 |
| * dump-parse-tree.c (get_c_type_name): Always use the entries from |
| c_interop_kinds_table to find the correct C type. |
| |
| 2020-07-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/96018 |
| * frontend-passes.c (gfc_check_externals): Adjust formatting. |
| (implicit_pure_call): New function. |
| (implicit_pure_expr): New function. |
| (gfc_fix_implicit_pure): New function. |
| * gfortran.h (gfc_fix_implicit_pure): New prototype. |
| * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure. |
| |
| 2020-07-23 Release Manager |
| |
| * GCC 10.2.0 released. |
| |
| 2020-07-13 Julian Brown <julian@codesourcery.com> |
| |
| Backported from master: |
| 2020-07-09 Julian Brown <julian@codesourcery.com> |
| |
| * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for |
| derived type members which themselves have derived types. |
| |
| 2020-07-08 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-06 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95709 |
| * resolve.c (gfc_resolve_code): Check for valid arguments to |
| assigned GOTO. |
| |
| 2020-07-06 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-07-02 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93337 |
| * class.c (gfc_find_derived_vtab): Punt if name is not set. |
| |
| 2020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95366 |
| * gfortran.h (gfc_typename): Add optional argument for_hash. |
| * misc.c (gfc_typename): When for_hash is true, just retur |
| CHARACTER(kind). |
| * class.c (gfc_intrinsic_hash_value): Call gfc_typename with |
| for_hash = true. |
| |
| 2020-07-02 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-30 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/88379 |
| * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference. |
| |
| 2020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95829 |
| * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead |
| of "*)". |
| |
| 2020-06-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95978 |
| * decl.c (gfc_match_data): Avoid NULL pointer dereference. |
| |
| 2020-06-30 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/71706 |
| * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in |
| bounds-checking code. |
| |
| 2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95743 |
| * trans-decl.c (gfc_generate_function_code): Do not generate |
| recursion check for compiler-generated procedures. |
| |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95340 |
| * match.c (gfc_match_select_rank): Do not dereference NULL pointer. |
| |
| 2020-06-29 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-28 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95880 |
| * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it, |
| otherwise fall back to sym->name. |
| |
| 2020-06-27 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-27 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95881 |
| * resolve.c (resolve_symbol): Avoid NULL pointer dereference. |
| |
| 2020-06-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95826 |
| * decl.c (gfc_match_decl_type_spec): Replace a fixed size |
| buffer by a pointer and reallocate if necessary. |
| |
| 2020-06-26 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-25 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95828 |
| * match.c (select_rank_set_tmp): Enlarge internal buffer used in |
| generating a mangled name. |
| * resolve.c (resolve_select_rank): Likewise. |
| |
| 2020-06-25 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-24 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95827 |
| * iresolve.c (gfc_get_string): Enlarge internal buffer used in |
| generating the mangled name. |
| |
| 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/95812 |
| * dependency.c (ref_same_as_full_array): Handle case of AR_FULL |
| vs. AR_FULL. |
| |
| 2020-06-23 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master: |
| 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/95708 |
| * intrinsic.c (add_functions): Replace CLASS_INQUIRY with |
| CLASS_TRANSFORMATIONAL for intrinsic num_images. |
| (make_generic): Replace ACTUAL_NO with ACTUAL_YES for |
| intrinsic team_number. |
| * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived |
| exists before using it. |
| |
| 2020-06-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95707 |
| * gfortran.h (gfc_common_head): Enlarge buffer. |
| * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary |
| buffers, and add check on length on mangled name to prevent |
| overflow. |
| |
| 2020-06-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95688 |
| * iresolve.c (gfc_get_string): Enlarge static buffer size. |
| |
| 2020-06-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95687 |
| * class.c (get_unique_type_string): Return a string with dynamic |
| length. |
| (get_unique_hashed_string, gfc_hash_value): Use dynamic result |
| from get_unique_type_string instead of static buffer. |
| |
| 2020-06-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95689 |
| * interface.c (check_sym_interfaces): Enlarge temporary buffer, |
| and add check on length on mangled name to prevent overflow. |
| |
| 2020-06-22 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95587 |
| * match.c (gfc_match_equivalence): Check constraints on |
| EQUIVALENCE objects also for CLASS variables. |
| |
| 2020-06-17 Harald Anlauf <anlauf@gmx.de> |
| |
| Backported from master: |
| 2020-06-17 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95088 |
| * class.c (get_unique_type_string): Replace use of fixed size |
| buffer by internally passing a pointer to strings. |
| |
| 2020-06-14 Steven G. Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95544 |
| * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg. |
| (gfc_check_associated, gfc_check_kind, gfc_check_merge) |
| (gfc_check_shape, gfc_check_size, gfc_check_spread) |
| (gfc_check_transfer): Adjust. |
| (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument. |
| * gfortran.h: Declare gfc_invalid_null_arg (). |
| * intrinsic.c (check_arglist): Check for NULL() argument. |
| |
| 2020-06-14 Steve Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93366 |
| * check.c (gfc_check_associated, invalid_null_arg): Factorize |
| check for presence of invalid NULL() argument. |
| (gfc_check_kind, gfc_check_merge, gfc_check_shape) |
| (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this |
| check for presence of invalid NULL() arguments. |
| |
| 2020-06-14 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95503 |
| * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs |
| of pointer assignment if lhs cannot be simply contiguous. |
| |
| 2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94109 |
| * class.c (finalize_component): Return early if finalization has |
| already happened for expression and component within namespace. |
| * gfortran.h (gfc_was_finalized): New type. |
| (gfc_namespace): Add member was_finalzed. |
| (gfc_expr): Remove finalized. |
| * symbol.c (gfc_free_namespace): Free was_finalized. |
| |
| 2020-06-11 Harald Anlauf <anlauf@gmx.de> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/95611 |
| * decl.c (access_attr_decl): Use correct symbol in error message. |
| |
| 2020-06-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95091 |
| * class.c (gfc_hash_value): Add cast. |
| |
| 2020-06-11 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95091 |
| * class.c (get_unique_type_string, gfc_hash_value): Enlarge |
| buffers, and check whether the strings returned by |
| get_unique_type_string() fit. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95373 |
| * primary.c (is_inquiry_ref): Move validity check of inquiry |
| references against selected Fortran standard from here... |
| (gfc_match_varspec) ...to here. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95373 |
| * primary.c (is_inquiry_ref): Check validity of inquiry |
| references against selected Fortran standard. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95106 |
| * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries |
| for name-mangling. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95530 |
| PR fortran/95537 |
| * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance |
| string copy to detect buffer overflow. |
| * gfortran.h (gfc_common_head): Enlarge buffer. |
| * trans-common.c (finish_equivalences): Enhance string copy to |
| detect buffer overflow. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * class.c (get_unique_type_string): Use buffer overrun check. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * class.c (get_unique_type_string): Enlarge temporary for |
| name-mangling. Use strncpy to prevent buffer overrun. |
| (get_unique_hashed_string): Enlarge temporary. |
| (gfc_hash_value): Enlarge temporary for name-mangling. |
| |
| 2020-06-05 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95090 |
| * iresolve.c (gfc_get_string): Enlarge temporary for |
| name-mangling. |
| |
| 2020-06-05 Steven G. Kargl <kargl@gcc.gnu.org> |
| Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/95500 |
| * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL |
| pointer. |
| |
| 2020-06-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94361 |
| * class.c (finalize_component): Use expr->finalized instead of |
| comp->finalized. |
| * gfortran.h (gfc_component): Remove finalized member. |
| (gfc_expr): Add it here instead. |
| |
| 2020-05-28 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/94397 |
| * match.c (gfc_match_type_spec): New variable ok initialised |
| to true. Set ok with the return value of gfc_reduce_init_expr |
| called only if the expression is not EXPR_CONSTANT and is not |
| EXPR_VARIABLE. Add !ok to the check for type not being integer |
| or the rank being greater than zero. |
| |
| 2020-05-28 Tobias Burnus <tobias@codesourcery.com> |
| Mark Eggleston <markeggleston@gnu.gcc.org> |
| |
| PR fortran/50392 |
| * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block |
| delimiters. Add auxiliary variables if a label is assigned to |
| a return variable. (gfc_gat_fake_result): If the symbol has an |
| assign attribute set declaration from the symbol's backend |
| declaration. |
| |
| 2020-05-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR libfortran/95191 |
| * libgfortran.h (libgfortran_error_codes): Add |
| LIBERROR_BAD_WAIT_ID. |
| |
| 2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master |
| 2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/39695 |
| * resolve.c (resolve_fl_procedure): Set name depending on |
| whether the result attribute is set. For PROCEDURE/RESULT |
| conflict use the name in sym->ns->proc_name->name. |
| * symbol.c (gfc_add_type): Add check for function and result |
| attributes use sym->ns->proc_name->name if both are set. |
| Where the symbol cannot have a type use the name in |
| sym->ns->proc_name->name. |
| |
| 2020-05-13 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from master |
| 2020-05-13 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93497 |
| * decl.c (char_len_param_value): Check whether character |
| length expression is of type EXPR_OP and if so simplify it. |
| * resolve.c (resolve_charlen): Reject length if it has a |
| rank. |
| |
| 2020-05-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| Backported from mainline |
| 2020-05-11 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94672 |
| * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument. |
| * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly |
| and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved |
| descriptor). |
| * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0' |
| variable to NULL if 'arg' is not present. |
| * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking |
| 'arg.0' instead of the true PARM_DECL. |
| (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL. |
| |
| 2020-05-11 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| Backported from mainline |
| 2020-05-11 Janus Weil <janus@gcc.gnu.org> |
| Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR fortran/59107 |
| * gfortran.h: Rename field resolved as resolve_symbol_called |
| and assign two 2 bits instead of 1. |
| * interface.c (check_dtio_interface1): Use new field name. |
| (gfc_find_typebound_dtio_proc): Use new field name. |
| * resolve.c (gfc_resolve_intrinsic): Replace check of the formal |
| field with resolve_symbol_called is at least 2, if it is not |
| set the field to 2. (resolve_typebound_procedure): Use new field |
| name. (resolve_symbol): Use new field name and check whether it |
| is at least 1, if it is not set the field to 1. |
| |
| 2020-05-07 Release Manager |
| |
| * GCC 10.1.0 released. |
| |
| 2020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> |
| |
| PR fortran/94769 |
| * io.c (check_io_constraints): Initialize local variable num to |
| -1 and assert that it receives a meaningful value by function |
| compare_to_allowed_values. |
| |
| 2020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93956 |
| PR fortran/94788 |
| * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956. |
| * interface.c: Likewise. |
| |
| 2020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94578 |
| * trans-expr.c (arrayfunc_assign_needs_temporary): If the |
| LHS is a subref pointer, we also need a temporary. |
| |
| 2020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93956 |
| * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer |
| when a function returns a pointer. |
| * interface.c (gfc_set_subref_array_pointer_arg): New function. |
| (gfc_procedure_use): Call it. |
| |
| 2020-04-22 Fritz Reese <foreese@gcc.gnu.org> |
| |
| * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host- |
| precision floating point literal based on an invalid macro. |
| |
| 2020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> |
| |
| PR fortran/90350 |
| * simplify.c (simplify_bound): In the case of assumed-size arrays |
| check if the reference is to a full array. |
| |
| 2020-04-22 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94709 |
| * scanner.c (load_line): In fixed form, also treat 'C' as comment and |
| 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp, |
| '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab> |
| and truncation warnings. |
| |
| 2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup. |
| |
| 2020-04-20 Harald Anlauf <anlauf@gmx.de> |
| |
| PR fortran/93364 |
| * array.c (gfc_set_array_spec): Check for sum of rank and corank |
| not exceeding GFC_MAX_DIMENSIONS. |
| |
| 2020-04-20 Steve Kargl <kargl@gcc.gnu.org> |
| Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/91800 |
| * decl.c (variable_decl): Reject Hollerith constants as type |
| initializer. |
| |
| 2020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93500 |
| * resolve.c (resolve_operator): If both operands are |
| NULL, return false. |
| * simplify.c (simplify_bound): If a division by zero |
| was seen during bound simplification, free the |
| corresponcing expression and return &gfc_bad_expr. |
| |
| 2020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/94090 |
| * gfortran.dg (gfc_compare_interfaces): Add |
| optional argument bad_result_characteristics. |
| * interface.c (gfc_check_result_characteristics): Fix |
| whitespace. |
| (gfc_compare_interfaces): Handle new argument; return |
| true if function return values are wrong. |
| * resolve.c (resolve_global_procedure): Hard error if |
| the return value of a function is wrong. |
| |
| 2020-04-15 Fritz Reese <foreese@gcc.gnu.org> |
| Linus Koenig <link@sig-st.de> |
| |
| PR fortran/94192 |
| * simplify.c (simplify_bound): Simplify condition for error check. |
| |
| 2020-04-14 Tobias Burnus <tobias@codesourcery.com> |
| |
| * module.c (gfc_match_use): Fix name-conflict check for use-associating |
| the same symbol again in a submodule. |
| |
| 2020-04-13 Linus Koenig <link@sig-st.de> |
| |
| PR fortran/94192 |
| * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if |
| pointer is found to not have an assumed rank or a deferred shape. |
| * simplify.c (simplify_bound): If an error has been issued for a |
| given pointer, one should not attempt to find its bounds. |
| |
| 2020-04-09 Fritz Reese <foreese@gcc.gnu.org> |
| |
| PR fortran/87923 |
| * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add |
| locus parameter. |
| (gfc_resolve_dt): Add code parameter. |
| * io.c (async_io_dt, check_char_variable, is_char_type): Removed. |
| (resolve_tag_format): Add locus to error message regarding |
| zero-sized array in FORMAT tag. |
| (check_open_constraints, check_close_constraints): New functions |
| called at resolution time. |
| (gfc_match_open, gfc_match_close, match_io): Move checks which don't |
| affect the match result to new functions check_open_constraints, |
| check_close_constraints, check_io_constraints. |
| (gfc_resolve_open, gfc_resolve_close): Call new functions |
| check_open_constraints, check_close_constraints after all tags have |
| been independently resolved. Remove duplicate constraints which are |
| already verified by resolve_tag. Explicitly pass locus to all error |
| reports. |
| (compare_to_allowed_values): Add locus parameter and provide |
| explicit locus all error reports. |
| (match_open_element, match_close_element, match_file_element, |
| match_dt_element, match_inquire_element): Remove redundant special |
| cases for ASYNCHRONOUS and IOMSG tags. |
| (gfc_resolve_dt): Remove redundant special case for format |
| expression. Call check_io_constraints, forwarding an I/O list as |
| the io_code parameter if present. |
| (check_io_constraints): Change return type to bool. Pass explicit |
| locus to error reports. Move generic checks after tag-specific |
| checks, since errors are no longer buffered. Move simplification of |
| format string to match_io. Remove redundant checks which are |
| verified by resolve_tag. Remove usage of async_io_dt flag and |
| explicitly mark symbols used in asynchronous I/O with the |
| asynchronous attribute. |
| * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks |
| for async_io_dt flag. This is now done in io.c. |
| (check_io_constraints). |
| (gfc_resolve_code): Pass code locus to gfc_resolve_open, |
| gfc_resolve_close, gfc_resolve_dt. |
| |
| 2020-04-07 Fritz Reese <foreese@gcc.gnu.org> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93871 |
| * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D, |
| GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND, |
| GFC_ISYM_TAND): New. |
| * intrinsic.c (add_functions): Remove check for flag_dec_math. |
| Give degree trig functions simplification and name resolution |
| functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()). |
| (do_simplify): Remove special casing of degree trig functions. |
| * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind, |
| gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand, |
| gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new |
| prototypes. |
| (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan, |
| resolve_atrigd): Remove prototypes of deleted functions. |
| * iresolve.c (is_trig_resolved, copy_replace_function_shallow, |
| gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call, |
| gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions. |
| (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions. |
| * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind, |
| gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd, |
| gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New |
| functions. |
| (gfc_simplify_atan2): Fix error message. |
| (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd, |
| radians_f): Delete functions. |
| * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand. |
| (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan, |
| gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions. |
| (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN, |
| COTAND, ATAN2D. |
| * trigd_fe.inc: New file. Included by simplify.c to implement |
| simplify_sind, simplify_cosd, simplify_tand with code common to the |
| libgfortran implementation. |
| |
| 2020-04-06 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93686 |
| * decl.c (gfc_match_data): Handle data matching for derived type |
| pointers. |
| |
| 2020-04-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.h (gfc_resolve_formal_arglist): Add prototype. |
| * interface.c (check_dtio_interface1): Call it. |
| * resolve.c (gfc_resolve_formal_arglist): Renamed from |
| resolve_formal_arglist, removed static. |
| (find_arglists, resolve_types): Update calls. |
| |
| 2020-04-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93522 |
| * match.c (gfc_match_select_rank): Fix error cleanup. |
| |
| 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93498 |
| * check.c (gfc_check_findloc): If the kinds of the arguments |
| differ goto label "incompat". |
| |
| 2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/94030 |
| * resolve.c (resolve_equivalence): Correct formatting |
| around the label "identical_types". Instead of using |
| gfc_resolve_array_spec use is_non_constants_shape_array |
| to determine whether the array can be used in a in an |
| equivalence statement. |
| |
| 2020-04-01 Mark Eggleston <mark.eggleston@codethink.com> |
| |
| PR fortran/94386 |
| expr.c (simplify_parameter_variable): Restore code deleted |
| in PR94246. |
| |
| 2020-03-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/94246 |
| * arith.c : Remove trailing white space. |
| * expr.c (scalarize_intrinsic_call): Remove the error checking. |
| Make a copy of the expression to be simplified and only replace |
| the original if the simplification succeeds. |
| |
| 2020-03-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/94348 |
| * decl.c (gfc_match_submod_proc): Add result var to the |
| proc's namespace. |
| |
| 2020-03-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93957 |
| * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept |
| nonallocatable, nonpointer deferred-rank arrays. |
| |
| 2020-03-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93363 |
| * resolve.c (resolve_assoc_var): Reject association to DT and |
| function name. |
| |
| 2020-03-25 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93484 |
| * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with |
| gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR. |
| |
| 2020-03-23 Mark Eggleston <mark.eggleston@codethink.com> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93600 |
| * expr.c (simplify_parameter_variable): Check whether the ref |
| chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry |
| boolean. When an empty array has been identified and a new |
| new EXPR_ARRAY expression has been created only return that |
| expression if inquiry is not set. This allows the new |
| expression to drop through to be simplified into a |
| EXPR_CONSTANT representing %kind or %len. |
| * matc.c (gfc_match_assignment): If lvalue doesn't have a |
| symtree free both lvalue and rvalue expressions and return |
| an error. |
| * resolv.c (gfc_resolve_ref): Ensure that code to handle |
| INQUIRY_LEN is only performed for arrays with deferred types. |
| |
| 2020-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * class.c (generate_finalization_wrapper): Fix up duplicated word |
| issue in a comment. |
| * trans-types.c (gfc_get_nodesc_array_type): Likewise. |
| |
| 2020-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * array.c (gfc_check_iter_variable): Fix up duplicated word issue |
| in a comment. |
| * arith.c (gfc_arith_concat): Likewise. |
| * resolve.c (gfc_resolve_ref): Likewise. |
| * frontend-passes.c (matmul_lhs_realloc): Likewise. |
| * module.c (gfc_match_submodule, load_needed): Likewise. |
| * trans-expr.c (gfc_init_se): Likewise. |
| |
| 2020-03-15 Lewis Hyatt <lhyatt@gmail.com> |
| |
| * lang.opt: Avoid redundancy in the help text. |
| |
| 2020-03-12 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR middle-end/94120 |
| * openmp.c (gfc_match_oacc_declare): Accept function-result |
| variables; reject variables declared in a different scoping unit. |
| |
| 2020-03-08 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/93581 |
| * resolve.c (gfc_resolve_ref): Modify array refs to be elements |
| if the ref chain ends in INQUIRY_LEN. |
| * trans-array.c (gfc_get_dataptr_offset): Provide the offsets |
| for INQUIRY_RE and INQUIRY_IM. |
| |
| 2020-03-05 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93792 |
| * decl.c (variable_decl): If param and initializer check |
| for BOZ, if found, output an error, set m to MATCH_ERROR |
| and goto cleanup. |
| |
| 2020-03-02 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93486 |
| * module.c: Increase size of variables used to read module names |
| when loading interfaces from module files to permit cases where |
| the name is the concatenation of a module and submodule name. |
| * gfortran.dg/pr93486.f90: New test. |
| |
| 2020-03-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92976 |
| * match.c (select_type_set_tmp): If the selector array spec has |
| explicit bounds, make the temporary's bounds deferred. |
| |
| 2020-03-01 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92959 |
| * trans-intrinsic.c (gfc_conv_associated): Eliminate |
| 'nonzero_charlen' and move the chunk to evaluate zero character |
| length until after the argument evaluation so that the string |
| length can be used. |
| |
| 2020-02-28 Paul Thomas <pault@gcc.gnu.org> |
| |
| PR fortran/92785 |
| * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non- |
| variable expressions to be unity lbound based. |
| |
| 2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| * simplify.c (degrees_f): Remove unused code. |
| |
| 2020-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/93864 |
| * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter. |
| * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp, |
| gfc_check_pdt_dummy): Fix comment typo paramter -> parameter. |
| |
| 2020-02-24 Mark Eggleston <mark.eggleston@codethink.com> |
| Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93835 |
| * decl.c (gfc_match_data) : Check whether the data expression |
| is a derived type and is a constructor. If a BOZ constant |
| is encountered in the constructor output an error and return |
| MATCH_ERROR. |
| |
| 2020-02-24 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93604 |
| * decl.c (gfc_match_data) : Check whether the data expression |
| is a derived type and is a constructor. If a BOZ constant |
| is encountered in the constructor output an error and return |
| MATCH_ERROR. |
| |
| 2020-02-24 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93552 |
| * match.c (match_exit_cycle): With OpenACC, check the kernels loop |
| directive and tile clause as well. |
| |
| 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93889 |
| * interface.c (compare_parameter): Fix error message. |
| |
| 2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93890 |
| * interface.c: Replace "can not" by "cannot" and remove trailing |
| space. |
| |
| 2020-02-20 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93825 |
| * openmp.c (resolve_oacc_loop_blocks): Move call to |
| resolve_oacc_nested_loops from here ... |
| (resolve_oacc_loop): ... to here. |
| |
| 2020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/93714 |
| * expr.c (gfc_check_pointer_assign): Move check for |
| matching character length to after checking the lvalue |
| attributes for target or pointer. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93601 |
| * match.c (gfc_match_assignment) : Reject assignment if |
| the lhs stype is BT_CLASS and the rhs type is BT_BOZ. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| |
| PR fortran/93603 |
| * match.c (gfc_match_associate) : If target expression |
| has the type BT_BOZ output an error and goto |
| assocListError. |
| |
| 2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> |
| Mark Eggleston <markeggleston@gcc.gnu.org> |
| |
| PR fortran/93580 |
| * primary.c (gfc_match_varspec): If the symbol following % |
| is re or im and the primary expression type is not BT_COMPLEX |
| issue an error. If the symbol is len and the primary |
| expression type is not BT_CHARACTER is an error. |
| |
| 2020-02-10 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/83113 |
| * array.c: Do not attempt to set the array spec for a submodule |
| function symbol (as it has already been set in the corresponding |
| module procedure interface). |
| * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or |
| DIMENSION attributes in declarations of a submodule function. |
| * gfortran.h: Add a macro that tests for a module procedure in a |
| submodule. |
| * gfortran.dg/pr83113.f90: New test. |
| |
| 2020-02-03 Julian Brown <julian@codesourcery.com> |
| Tobias Burnus <tobias@codesourcery.com> |
| |
| * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711. |
| * intrinsic.texi: Update mentions of OpenACC version to 2.6. |
| * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC. |
| * invoke.texi: Remove experimental disclamer for OpenACC. |
| |
| 2020-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93541 |
| * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): |
| Add undocumented parameters from omp_lib.f90.in. |
| |
| 2020-02-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93427 |
| * resolve.c (resolve_assoc_var): Remove too strict check. |
| * gfortran.dg/associate_51.f90: Update test case. |
| |
| 2020-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/92305 |
| * trans-types.c (gfc_get_function_type): Also push boolean_type_node |
| types for non-character scalar VALUE optional dummy arguments. |
| * trans-decl.c (create_function_arglist): Skip those in |
| hidden_typelist. Formatting fix. |
| |
| 2020-01-31 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93462 |
| * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set |
| in_omp_atomic to true prevent front-end optimization. |
| |
| 2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> |
| |
| PR fortran/87103 |
| * expr.c (gfc_check_conformance): Check vsnprintf for truncation. |
| * iresolve.c (gfc_get_string): Likewise. |
| * symbol.c (gfc_new_symbol): Remove check for maximum symbol |
| name length. Remove redundant 0 setting of new calloc()ed |
| gfc_symbol. |
| |
| 2020-01-30 Paul Thomas <pault@gcc.gnu.org> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/92123 |
| * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for |
| CFI descs. |
| (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR" |
| for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}. |
| (convert_CFI_desc): Handle references to CFI descriptors. |
| |
| 2020-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/93463 |
| * openmp.c (oacc_code_to_statement): Handle |
| EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. |
| |
| 2020-01-28 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93461 |
| * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to |
| GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, |
| plus the "." between module and submodule names. |
| * gfortran.dg/pr93461.f90: New test. |
| |
| 2020-01-28 Andrew Benson <abensonca@gmail.com> |
| |
| PR fortran/93473 |
| * parse.c: Increase length of char variables to allow them to hold |
| a concatenated module + submodule name. |
| * gfortran.dg/pr93473.f90: New test. |
| |
| 2020-01-28 Julian Brown <julian@codesourcery.com> |
| |
| PR fortran/93025 |
| * openmp.c (resolve_omp_clauses): Check array references for contiguity. |
| |
| 2020-01-28 Julian Brown <julian@codesourcery.com> |
| |
| * gfortran.h (gfc_symbol): Add comp_mark bitfield. |
| * openmp.c (resolve_omp_clauses): Disallow mixed component and |
| full-derived-type accesses to the same variable within a single |
| directive. |
| |
| 2020-01-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93464 |
| * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when |
| DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not |
| GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars. |
| |
| 2020-01-28 Tobias Burnus <tobias@codesourcery.com> |
| |
| * gfortran.texi (Runtime): Remove tailing '.' in @menu. |
| |
| 2020-01-27 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/85781 |
| * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings |
| of Bind(C) procedures. |
| |
| 2020-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. |
| * trans-openmp.c (gfc_trans_omp_target) |
| <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first. |
| |
| PR fortran/93329 |
| * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* |
| cases. |
| |
| 2020-01-21 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93309 |
| * interface.c (gfc_procedure_use): Also check parent namespace for |
| 'implict none (external)'. |
| * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export |
| to parent namespace's setting. |
| |
| 2020-01-19 Thomas König <tkoenig@gcc.gnu.org> |
| |
| PR fortran/44960 |
| * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR. |
| * resolve.c (resolve_function): Issue error when a |
| function call contains a reference. |
| |
| 2020-01-17 Mark Eggleston <mark.eggleston@codethink.com> |
| |
| PR fortran/93236 |
| * resolve.c (resolve_types): Declare boolean recursive and set with the |
| value of the recursive attribute of namespace proc_name symbol |
| structure if it exists. Call gfc_save_all if both flag_automatic and |
| recursive are false or ns->save_all is true. |
| |
| 2020-01-16 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/93253 |
| * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz |
| in the error message. |
| * gfortran.texi (BOZ literal constants): List another missing |
| extension and refer to -fallow-invalid-boz. |
| * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text |
| as it is not covered by the previous wording. |
| * primary.c (match_boz_constant): Tweak wording such that it is |
| clear how to fix the nonstandard use. |
| |
| 2020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/65428 |
| * array.c (empty_constructor): New variable. |
| (empty_ts): New variable. |
| (expand_constructor): Save typespec in empty_ts. |
| Unset empty_constructor if there is an element. |
| (gfc_expand_constructor): Initialize empty_constructor |
| and empty_ts. If there was no explicit constructor |
| type and the constructor is empty, take the type from |
| empty_ts. |
| |
| 2020-01-09 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/84135 |
| * array.c (gfc_set_array_spec): Fix shifting of codimensions |
| when adding a dimension. |
| * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. |
| |
| 2020-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/93162 |
| * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type |
| before testing u.ar.type == AR_FULL. |
| |
| 2020-01-04 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/91640 |
| * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable |
| arguments to contiguous dummy args. Avoid re-checking whether fsym is |
| NULL. |
| |
| 2020-01-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| * trans-openmp.c (gfc_omp_check_optional_argument): Always return a |
| Boolean expression; handle unallocated/disassociated actual arguments |
| as absent if passed to nonallocatable/nonpointer dummy array arguments. |
| (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer. |
| (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated |
| array-data variable if the argument is absent. Simplify code as |
| 'present' is now a Boolean expression. |
| |
| 2020-01-03 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/92994 |
| * primary.c (gfc_match_rvalue): Add some flavor checks |
| gfc_matching_procptr_assignment. |
| * resolve.c (resolve_assoc_var): Add more checks for invalid targets. |
| |
| 2020-01-02 Tobias Burnus <tobias@codesourcery.com> |
| |
| PR fortran/68020 |
| * array.c (gfc_match_array_spec): Fix implied-type matching |
| for rank > 2. |
| |
| 2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
| |
| PR fortran/93113 |
| * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch |
| for ref types. |
| |
| 2020-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * gfortranspec.c (lang_specific_driver): Update copyright notice |
| dates. |
| * gfc-internals.texi: Bump @copying's copyright year. |
| * gfortran.texi: Ditto. |
| * intrinsic.texi: Ditto. |
| * invoke.texi: Ditto. |
| |
| Copyright (C) 2020 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |