aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
AgeCommit message (Collapse)AuthorFilesLines
2019-10-27re PR fortran/86248 (LEN_TRIM in specification expression causes link failure)Paul Thomas1-2/+2
2019-10-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/86248 * resolve.c (flag_fn_result_spec): Correct a typo before the function declaration. * trans-decl.c (gfc_sym_identifier): Boost the length of 'name' to allow for all variants. Simplify the code by using a pointer to the symbol's proc_name and taking the return out of each of the conditional branches. Allow symbols with fn_result_spec set that do not come from a procedure namespace and have a module name to go through the non-fn_result_spec branch. 2019-10-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/86248 * gfortran.dg/char_result_19.f90 : New test. * gfortran.dg/char_result_mod_19.f90 : Module for the new test. From-SVN: r277487
2019-10-24Fix another UBSAN in Fortran coarray.Martin Liska1-0/+3
2019-10-24 Martin Liska <mliska@suse.cz> PR fortran/92174 * array.c (gfc_resolve_array_spec): Break the loop for out of bounds index. * resolve.c (is_non_constant_shape_array): Likewise. From-SVN: r277367
2019-10-13re PR fortran/91513 (Non-standard terminology in error message for pointer ↵Damian Rouson1-3/+6
component assignment in pure procedure) 2019-10-13 Damian Rouson <damain@sourceryinstitue.org> PR fortran/91513 * resolve.c (resolve_ordinary_assign): Improved error message. 2019-10-13 Damian Rouson <damain@sourceryinstitue.org> PR fortran/91513 * gfortran.dg/impure_assignment_2.f90: Update dg-error regex. From-SVN: r276941
2019-10-13re PR fortran/90297 (gcc/fortran/resolve.c: 2 * possibly redundant code ?)Steven G. Kargl1-15/+0
2019-10-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90297 * resolve.c (resolve_typebound_function): Remove code with no functional effect. From-SVN: r276940
2019-10-11re PR fortran/92018 (ICE in gfc_conv_constant_to_tree, at ↵Steven G. Kargl1-13/+8
fortran/trans-const.c:370) 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92018 * check.c (reset_boz): New function. (illegal_boz_arg, boz_args_check, gfc_check_complex, gfc_check_float, gfc_check_transfer): Use it. (gfc_check_dshift): Use reset_boz, and re-arrange the checking to help suppress possible run-on errors. (gfc_check_and): Restore checks for valid argument types. Use reset_boz, and re-arrange the checking to help suppress possible un-on errors. * resolve.c (resolve_function): Actual arguments cannot be BOZ in a function reference. 2019-10-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92018 * gfortran.dg/gnu_logical_2.f90: Update dg-error regex. * gfortran.dg/pr81509_2.f90: Ditto. * gfortran.dg/pr92018.f90: New test. From-SVN: r276898
2019-10-03Character typenames in errors and warningsMark Eggleston1-16/+16
Character type names now incorporate length, kind is only shown if the default character is not being used. Examples: character(7) is reported as CHARACTER(7) character(len=20,kind=4) is reported as CHARACTER(20,4) dummy character variables with assumed length: character(*) is reported as CHARACTER(*) character(*,kind=4) is reported as CHARACTER(*,4) From-SVN: r276505
2019-10-02re PR fortran/91943 (ICE in gfc_conv_constant_to_tree, at ↵Steven G. Kargl1-0/+15
fortran/trans-const.c:370) 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91943 * match.c (gfc_match_call): BOZ cannot be an actual argument in a subroutine reference. * resolve.c (resolve_function): BOZ cannot be an actual argument in a function reference. 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91943 gfortran.dg/pr91943.f90 From-SVN: r276471
2019-09-29re PR fortran/91726 (ICE in gfc_conv_array_ref, at fortran/trans-array.c:3612)Paul Thomas1-0/+4
2019-09-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/91726 * resolve.c (gfc_expr_to_initialize): Bail out with a copy of the original expression if the array ref is a scalar and the array_spec has corank. * trans-array.c (gfc_conv_array_ref): Such expressions are OK even if the array ref codimen is zero. * trans-expr.c (gfc_get_class_from_expr): New function taken from gfc_get_vptr_from_expr. (gfc_get_vptr_from_expr): Call new function. * trans-stmt.c (trans_associate_var): If one of these is a target expression, extract the class expression from the target and copy its fields to a new target variable. * trans.h : Add prototype for gfc_get_class_from_expr. 2019-09-29 Paul Thomas <pault@gcc.gnu.org> PR fortran/91726 * gfortran.dg/coarray_poly_9.f90 : New test. From-SVN: r276269
2019-09-15re PR fortran/91727 (ICE in conformable_arrays, at fortran/resolve.c:7490)Steven G. Kargl1-1/+1
2019-09-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91727 * resolve.c (conformable_arrays): If array-spec is NULL, then allocate-object is a scalar. a conformability check only occurs for an array source-expr. 2019-09-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91727 * gfortran.dg/pr91727.f90: New test. From-SVN: r275731
2019-09-15re PR fortran/91550 (ICE in do_subscript, at fortran/frontend-passes.c:2652)Thomas Koenig1-13/+13
2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91550 * frontend-passes.c (do_subscript): If step equals zero, a previuos error has been reported; do nothing in this case. * resolve.c (gfc_resolve_iterator): Move error checking after type conversion. 2019-09-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91550 * gfortran.dg/do_subscript_6.f90: New test. From-SVN: r275729
2019-09-14re PR fortran/91557 (Bogus warning about unused dummy argument _formal_*)Thomas Koenig1-4/+2
2019-09-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91557 PR fortran/91556 * frontend-passes.c (check_externals_procedure): Reformat argument list. Use gfc_compare_actual_formal instead of gfc_procedure_use. * gfortran.h (gfc_symbol): Add flag error. * interface.c (gfc_compare_interfaces): Reformat. (argument_rank_mismatch): Add where_formal argument. If it is present, note that the error is between different calls. (compare_parameter): Change warnings that previously dependended on -Wargument-mismatch to unconditional. Issue an error / warning on type mismatch only once. Pass where_formal to argument_rank_mismatch for artificial variables. (compare_actual_formal): Change warnings that previously dependeded on -Wargument-mismatch to unconditional. (gfc_check_typebound_override): Likewise. (gfc_get_formal_from_actual_arglist): Set declared_at for artificial symbol. * invoke.texi: Extend description of -fallow-argument-mismatch. Delete -Wargument-mismatch. * lang.opt: Change -Wargument-mismatch to do-nothing option. * resolve.c (resolve_structure_cons): Change warnings that previously depended on -Wargument-mismatch to unconditional. * trans-decl.c (generate_local_decl): Do not warn if the symbol is artificial. 2019-09-14 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91557 PR fortran/91556 * gfortran.dg/argument_checking_20.f90: New test. * gfortran.dg/argument_checking_21.f90: New test. * gfortran.dg/argument_checking_22.f90: New test. * gfortran.dg/argument_checking_23.f90: New test. * gfortran.dg/warn_unused_dummy_argument_5.f90: New test. * gfortran.dg/bessel_3.f90: Add pattern for type mismatch. * gfortran.dg/g77/20010519-1.f: Adjust dg-warning messages to new handling. * gfortran.dg/pr24823.f: Likewise. * gfortran.dg/pr39937.f: Likewise. From-SVN: r275719
2019-09-01array.c (spec_dimen_size): Check for the presence of expressions for the bounds.Paul Thomas1-12/+198
2019-09-01 Paul Thomas <pault@gcc.gnu.org> * array.c (spec_dimen_size): Check for the presence of expressions for the bounds. * decl.c (gfc_match_end): Add case COMP_SELECT_RANK. * dump-parse-tree.c(show_symbol): Show the arrayspec of class entities. (show_code_node): Show the code for SELECT_RANK. * expr.c (gfc_check_vardef_context): Omit the context of variable definition for select rank associate names since the ASSUMED RANK throws. * gfortran.h : Add ST_SELECT_RANK and ST_RANK to enum gfc_statement. Add select_rank_temporary to symbol attribute structure. Add EXEC_SELECT_RANK to enum gfc_exec_op. * match.c (match_exit_cycle): Add COMP_SELECT_RANK. (copy_ts_from_selector_to_associate): Add as special case for assumed rank class variables. (select_intrinsic_set_tmp): Clean up the code by using symbols for references to the temporary and the selector. (select_type_set_tmp): Ditto. (select_rank_set_tmp): New function. (gfc_match_select_rank): New function. (gfc_match_rank_is): New function. * match.h : Add prototypes for gfc_match_select_rank and gfc_match_rank_is. * parse.c (decode_statement): Attempt to match select_rank and rank statements. (next_statement, gfc_ascii_statement): Add ST_SELECT_RANK. (parse_select_rank_block): New function. (parse_executable): Parse select rank block for ST_SELECT_RANK. * parse.h : Add COMP_SELECT_RANK to enum gfc_compile_state. * resolve.c (resolve_variable): Exclude select_rank_temporaries from the check on use of ASSUMED RANK. (gfc_resolve_expr): Make sure that unlimited polymorphic select rank temporaries expressions are not resolved again after being successfully resolved. (resolve_assoc_var): Do not do the rank check for select rank temporaries. (resolve_select_rank): New function. (gfc_resolve_blocks): Deal with case EXEC_SELECT_RANK. (resolve_symbol): Exclude select rank temporaries for check on use of ASSUMED RANK. * st.c (gfc_free_statement): Include EXEC_SELECT_RANK. * trans-array.c (gfc_conv_array_ref): Select rank temporaries may have dimen == 0. (gfc_conv_expr_descriptor): Zero the offset of select rank temporaries. * trans-stmt.c (copy_descriptor): New function. (trans_associate_var): Add code to associate select rank temps. (gfc_trans_select_rank_cases): New function. (gfc_trans_select_rank): New function. * trans-stmt.h : Add prototype for gfc_trans_select_rank. trans.c (trans_code): Add select rank case. 2019-09-01 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/select_rank_1.f90 : New test. * gfortran.dg/select_rank_2.f90 : New test. From-SVN: r275269
2019-08-15re PR fortran/91443 (-Wargument-mismatch does not catch mismatch for global ↵Thomas Koenig1-13/+3
procedure) 2019-08-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91443 * frontend-passes.c (check_externals_expr): New function. (check_externals_code): New function. (gfc_check_externals): New function. * gfortran.h (debug): Add prototypes for gfc_symbol * and gfc_expr *. (gfc_check_externals): Add prototype. * interface.c (compare_actual_formal): Do not complain about alternate returns if the formal argument is optional. (gfc_procedure_use): Handle cases when an error has been issued previously. Break long line. * parse.c (gfc_parse_file): Call gfc_check_externals for all external procedures. * resolve.c (resolve_global_procedure): Remove checking of argument list. 2019-08-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/91443 * gfortran.dg/argument_checking_19.f90: New test. * gfortran.dg/altreturn_10.f90: Change dg-warning to dg-error. * gfortran.dg/dec_union_11.f90: Add -std=legacy. * gfortran.dg/hollerith8.f90: Likewise. Remove warning for Hollerith constant. * gfortran.dg/integer_exponentiation_2.f90: New subroutine gee_i8; use it to avoid type mismatches. * gfortran.dg/pr41011.f: Add -std=legacy. * gfortran.dg/whole_file_1.f90: Change warnings to errors. * gfortran.dg/whole_file_2.f90: Likewise. From-SVN: r274551
2019-08-14re PR fortran/87991 (ICE in gfc_constructor_append_expr, at ↵Steven G. Kargl1-10/+19
fortran/constructor.c:135) 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87991 * resolve.c (check_data_variable): data-stmt-object with pointer attribute requires a data-stmt-value with the target attribute. 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87991 * gfortran.dg/pr87991.f90: New test. From-SVN: r274412
2019-08-13re PR fortran/89647 (Host associated procedure unable to be used as binding ↵Steven G. Kargl1-2/+22
target) 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/89647 resolve.c (resolve_typebound_procedure): Allow host associated procedure to be a binding target. While here, wrap long line. 2019-08-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/89647 * gfortran.dg/pr89647.f90: New test. From-SVN: r274393
2019-08-10decl.c (match_old_style_init): Use a clearer error message.Steven G. Kargl1-0/+49
2019-08-10 Steven G. Kargl <kargl@gcc.gnu.org> * decl.c (match_old_style_init): Use a clearer error message. * expr.c (gfc_check_assign): Update BOZ checking to provide a stricter adherence to the Fortran standard. Use gfc_invalid_boz () to relax errors into warnings. * gfortran.h (gfc_isym_id): Add new ids GFC_ISYM_DFLOAT, GFC_ISYM_FLOAT, GFC_ISYM_REALPART, and GFC_ISYM_SNGL * intrinsic.c (add_functions): Use new ids to split REAL generic into REAL, FLOAT, DFLOAT, SNGL, and REALPART generics. (gfc_intrinsic_func_interface): Allow new intrinsics in an initialization expression * resolve.c (resolve_operator): Deal with BOZ as operands. Use gfc_invalid_boz to allow for errors or warnings via the -fallow-invalid-boz option. A BOZ cannot be an operand to an unary operator. Both operands of a binary operator cannot be BOZ. For binary operators, convert a BOZ operand into the type and kind of the other operand for REAL or INTEGER operand. * trans-intrinsic.c: Use new ids to cause conversions to happen. 2019-08-10 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/boz_8.f90: Adjust error messages. * gfortran.dg/nan_4.f90: Ditto. * gfortran.dg/boz_1.f90: Add -fallow-invalid-boz to dg-options, and test for warnings. * gfortran.dg/boz_3.f90: Ditto. * gfortran.dg/boz_4.f90: Ditto. * gfortran.dg/dec_structure_6.f90: Ditto. * gfortran.dg/ibits.f90: Ditto. From-SVN: r274257
2019-07-23arith.c (gfc_convert_integer, [...]): Move to ...Steven G. Kargl1-31/+19
2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> * arith.c (gfc_convert_integer, gfc_convert_real, gfc_convert_complex): Move to ... * primary.c (convert_integer, convert_real, convert_complex): ... here. Rename and make static functions. (match_integer_constant): Use convert_integer (match_real_constant): Use convert_real. (match_complex_constant: Use convert_complex. * arith.h (gfc_convert_integer, gfc_convert_real, gfc_convert_complex): Remove prototypes. * array.c (match_array_cons_element): A BOZ cannot be a data statement value. Jump to a common exit point. * check.c (gfc_invalid_boz): New function. Emit error or warning for a BOZ in an invalid context. (boz_args_check): Move to top of file to prevent need of forward declaration. (is_boz_constant): New function. Check that BOZ expr is constant. (gfc_b z2real): New function. In-place conversion of BOZ literal constant to REAL in accordance to F2018. (gfc_boz2int): New function. In-place conversion of BOZ literal onstant to INTEGER in accordance to F2018. (gfc_check_achar, gfc_check_char, gfc_check_float): Use gfc_invalid_boz. Convert BOZ as needed. (gfc_check_bge_bgt_ble_blt): Enforce F2018 requirements on BGE, BGT, BLE, and BLT intrinsic functions. (gfc_check_cmplx): Re-organize to check kind, if present, first. Convert BOZ real and/or imaginary parts as needed in accordance to F2018. (gfc_check_complex): Use gfc_invalid_boz. Convert BOZ as needed. (gfc_check_dcmplx, gfc_check_dble ): Convert BOZ as needed. (gfc_check_dshift): Make dshift[lr] conform to F2018 standard. gfc_check_float (gfc_expr *a) (gfc_check_iand_ieor_ior): Make IAND, IEOR, and IOR conform to F2018 standard. (gfc_check_int): Conform to F2018 standard. (gfc_check_intconv): Deprecate SHORT and LONG aliases for INT2 and INT. Simply return for a BOZ argument. See gfc_simplify_intconv. (gfc_check_merge_bits): Make MERGE_BITS conform to Fortran 2018 standard. (gfc_check_real): Remove incorrect comment. Check kind, if present, first. Simply return for a BOZ argument. See gfc_simplify_real. (gfc_check_and): Re-do error handling for BOZ arguments. Remove special casing ts.type != BT_INTEGER or BT_LOGICAL. * decl.c (match_old_style_init): Check for BOZ in old-style initialization. Issue error or warning depending on -fallow-invalid-boz option. Issue error if variable is not an INTEGER or REAL and the value is BOZ. * expr.c (gfc_copy_expr): Copy a BT_BOZ gfc_expr. (gfc_check_assign): Re-do error handling for a BOZ in an assignment statement. Do in-place conversion of RHS based on LHS type of INTEGER or REAL. * gfortran.h (gfc_expr): Add a boz component. Remove is_boz component. (gfc_boz2int, gfc_boz2real, gfc_invalid_boz): New prototypes. * interface.c (gfc_extend_assign): Guard against replacing an intrinsic involving a BOZ literal constant on RHS. * invoke.texi: Doument -fallow-invalid-boz. * lang.opt: New option. -fallow-invalid-boz. * libgfortran.h (bt): Elevate BOZ to a basic type. * misc.c (gfc_basic_typename, gfc_typename): Translate BT_BOZ to BOZ. * primary.c (convert_integer, convert_real, convert_complex): to here. Rename and make static functions. * primary.c(match_boz_constant): Rewrite parsing of a BOZ. Re-do error handling. Deprecate 'X' for hexidecimal and postfix notation. Use -fallow-invalid-boz and gfc_invalid_boz to accept deprecated code. * resolve.c (resolve_ordinary_assign): Rework a RHS that is a BOZ literal constant. Use gfc_invalid_boz to allow previous nonstandard behavior. Remove range checking of BOZ conversion. * simplify.c (convert_boz): Remove function. (simplify_cmplx): Remove conversion of BOZ constants, because conversion is done in gfc_check_cmplx. (gfc_simplify_float): Remove conversion of BOZ constant, because conversion is done in gfc_check_float. (simplify_intconv): Use gfc_boz2int to convert BOZ to INTEGER. Remove range checking for BOZ conversion. (gfc_simplify_real): Use k, if present, to determine kind. Convert BOZ to REAL. Remove range checking for BOZ conversion. target-memory.c (gfc_convert_boz): Rewrite to deal with convert of a BOZ to a REAL value. 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/achar_5.f90: Fix for new BOZ handling. * arithmetic_overflow_1.f90: Ditto. * gfortran.dg/boz_11.f90: Ditto. * gfortran.dg/boz_12.f90: Ditto. * gfortran.dg/boz_4.f90: Ditto. * gfortran.dg/boz_5.f90: Ditto. * gfortran.dg/boz_6.f90: Ditto. * gfortran.dg/boz_7.f90: Ditto. * gfortran.dg/boz_8.f90: Ditto. * gfortran.dg/dec_structure_6.f90: Ditto. * gfortran.dg/dec_union_1.f90: Ditto. * gfortran.dg/dec_union_2.f90: Ditto. * gfortran.dg/dec_union_5.f90: Ditto. * gfortran.dg/dshift_3.f90: Ditto. * gfortran.dg/gnu_logical_2.f90: Ditto. * gfortran.dg/int_conv_1.f90: Ditto. * gfortran.dg/ishft_1.f90: Ditto. * gfortran.dg/nan_4.f90: Ditto. * gfortran.dg/no_range_check_3.f90: Ditto. * gfortran.dg/pr16433.f: Ditto. * gfortran.dg/pr44491.f90: Ditto. * gfortran.dg/pr58027.f90: Ditto. * gfortran.dg/pr81509_2.f90: Ditto. * gfortran.dg/unf_io_convert_1.f90: Ditto. * gfortran.dg/unf_io_convert_2.f90: Ditto. * gfortran.fortran-torture/execute/intrinsic_fraction_exponent.f90: Ditto. * gfortran.fortran-torture/execute/intrinsic_mvbits.f90: Ditto. * gfortran.fortran-torture/execute/intrinsic_nearest.f90: Ditto. * gfortran.fortran-torture/execute/seq_io.f90: Ditto. * gfortran.dg/gnu_logical_1.F: Delete test. * gfortran.dg/merge_bits_3.f90: New test. * gfortran.dg/merge_bits_3.f90: Ditto. * gfortran.dg/boz_int.f90: Ditto. * gfortran.dg/boz_bge.f90: Ditto. * gfortran.dg/boz_complex_1.f90: Ditto. * gfortran.dg/boz_complex_2.f90: Ditto. * gfortran.dg/boz_complex_3.f90: Ditto. * gfortran.dg/boz_dble.f90: Ditto. * gfortran.dg/boz_dshift_1.f90: Ditto. * gfortran.dg/boz_dshift_2.f90: Ditto. * gfortran.dg/boz_float_1.f90: Ditto. * gfortran.dg/boz_float_2.f90: Ditto. * gfortran.dg/boz_float_3.f90: Ditto. * gfortran.dg/boz_iand_1.f90: Ditto. * gfortran.dg/boz_iand_2.f90: Ditto. 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org> * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage * testsuite/libgomp.fortran/reduction5.f90: Ditto. From-SVN: r273747
2019-07-03Remove another bunch of dead assignment.Martin Liska1-1/+0
2019-07-03 Martin Liska <mliska@suse.cz> * lra-eliminations.c (eliminate_regs_in_insn): Remove dead assignemts. * reg-stack.c (check_asm_stack_operands): Likewise. * tree-ssa-structalias.c (create_function_info_for): Likewise. * tree-vect-generic.c (expand_vector_operations_1): Likewise. * config/i386/i386-expand.c (ix86_expand_sse2_mulvxdi3): Use force_expand_binop. 2019-07-03 Martin Liska <mliska@suse.cz> * c-common.c (try_to_locate_new_include_insertion_point): Remove dead assignemts. 2019-07-03 Martin Liska <mliska@suse.cz> * call.c (build_new_op_1): Remove dead assignemts. * typeck.c (cp_build_binary_op): Likewise. 2019-07-03 Martin Liska <mliska@suse.cz> * check.c (gfc_check_c_funloc): Remove dead assignemts. * decl.c (variable_decl): Likewise. * resolve.c (resolve_typebound_function): Likewise. * simplify.c (gfc_simplify_matmul): Likewise. (gfc_simplify_scan): Likewise. * trans-array.c (gfc_could_be_alias): Likewise. * trans-common.c (add_equivalences): Likewise. * trans-expr.c (trans_class_vptr_len_assignment): Likewise. (gfc_trans_array_constructor_copy): Likewise. (gfc_trans_assignment_1): Likewise. * trans-intrinsic.c (conv_intrinsic_atomic_op): Likewise. * trans-openmp.c (gfc_omp_finish_clause): Likewise. * trans-types.c (gfc_get_array_descriptor_base): Likewise. * trans.c (gfc_build_final_call): Likewise. 2019-07-03 Martin Liska <mliska@suse.cz> * line-map.c (linemap_get_expansion_filename): Remove dead assignemts. * mkdeps.c (make_write): Likewise. From-SVN: r272994
2019-06-21re PR fortran/67884 (Missing error message on required allocatable attribute)Steven G. Kargl1-0/+8
2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67884 * resolve.c (deferred_requirements) : Check only the result variable. (resolve_fl_procedure): Check deferred requirements on functions. 2019-06-21 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67884 * gfortran.dg/dummy_procedure_8.f90: Remove a test that is ... * gfortran.dg/pr67884.f90: ... covered here. New test. From-SVN: r272569
2019-06-19re PR fortran/87907 (ICE in resolve_contained_fntype, at fortran/resolve.c:587)Steven G. Kargl1-0/+3
2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87907 * resolve.c (resolve_contained_fntype): Do not dereference a NULL pointer. 2019-06-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87907 * gfortran.dg/pr87907.f90: New testcase. From-SVN: r272480
2019-06-13re PR fortran/68544 (ICE trying to pass derived type constructor as a function)Steven G. Kargl1-0/+26
2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68544 * resolve.c (is_dt_name): New function to compare symbol name against list of derived types. (resolve_actual_arglist): Use it to find wrong code. 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68544 * gfortran.dg/pr68544.f90: New test. * gfortran.dg/pr85687.f90: Modify test for new error message. From-SVN: r272259
2019-04-22re PR fortran/57284 ([OOP] ICE with find_array_spec for polymorphic arrays)Paul Thomas1-2/+6
2019-04-22 Paul Thomas <pault@gcc.gnu.org> PR fortran/57284 * resolve.c (find_array_spec): If this is a class expression and the symbol and component array specs are the same, this is not an error. *trans-intrinsic.c (gfc_conv_intrinsic_size): If a class symbol argument, has no namespace, it has come from the interface mapping and the _data component must be accessed directly. 2019-04-22 Paul Thomas <pault@gcc.gnu.org> PR fortran/57284 * gfortran.dg/class_70.f03 From-SVN: r270489
2019-04-06re PR fortran/89981 (gfortran -pedantic rejects code in 8.3.1 that is ↵Thomas Koenig1-1/+1
accepted with 8.3.0) 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/89981 * resolve.c (resolve_global_procedure): If the global symbol is an ENTRY, also look up its name among the entries. 2019-04-06 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/89981 * gfortran.dg/entry_22.f90: New test. From-SVN: r270182
2019-03-24re PR fortran/78865 (ICE in create_tmp_var, at gimple-expr.c:473)Thomas Koenig1-40/+42
2019-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78865 * interface.c (compare_actual_formal): Change errors about missing or extra to gfc_error_now to make sure they are issued. Change "spec" to "specifier" in message. * resolve.c (resolve_global_procedure): Also check for mismatching interface with global symbols if the namespace has already been resolved. 2019-03-24 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78865 * gfortran.dg/altreturn_10.f90: New test. * gfortran.dg/whole_file_3.f90: Change dg-warning to dg-error. From-SVN: r269895
2019-03-21[PR89773] Fortran OpenACC 'routine' directive refuses procedures with ↵Thomas Schwinge1-0/+1
implicit EXTERNAL attribute gcc/fortran/ PR fortran/89773 * gfortran.h (gfc_oacc_routine_name): Add loc member. (gfc_resolve_oacc_routines): Declare. * openmp.c (gfc_match_oacc_routine): Move some error checking into... (gfc_resolve_oacc_routines): ... this new function. * resolve.c (resolve_codes): Call it. gcc/testsuite/ PR fortran/89773 * gfortran.dg/goacc/pr89773.f90: New file. * gfortran.dg/goacc/pr77765.f90: Adjust. * gfortran.dg/goacc/routine-6.f90: Adjust, and extend. From-SVN: r269857
2019-03-18re PR fortran/88008 (ICE in check_typebound_baseobject, at ↵Thomas Koenig1-1/+12
fortran/resolve.c:6058) 2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88008 * gfortran.h (expr_t): Add EXPR_UNKNOWN. * expr.c (gfc_copy_expr): Add EXPR_UNKNOWN to switch statement. (gfc_simplify_expr): Likewise. * module.c (mio_expr): Likewise. * resovle.c (extract_compcall_passed_object): Issue error on unknown type. (check_typebound_baseobject): Issue error on wrong type. * trans-expr.c (gfc_apply_interface_mapping_to_expr): Add EXPR_UNKNOWN to switch statement. 2019-03-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88008 * gfortran.dg/typebound_call_31.f90: New test. From-SVN: r269750
2019-03-13[multiple changes]Thomas Koenig1-4/+5
2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66695 PR fortran/77746 PR fortran/79485 * gfortran.h (gfc_symbol): Add bind_c component. (gfc_get_gsymbol): Add argument bind_c. * decl.c (add_global_entry): Add bind_c argument to gfc_get_symbol. * parse.c (parse_block_data): Likewise. (parse_module): Likewise. (add_global_procedure): Likewise. (add_global_program): Likewise. * resolve.c (resolve_common_blocks): Likewise. (resolve_global_procedure): Likewise. (gfc_verify_binding_labels): Likewise. * symbol.c (gfc_get_gsymbol): Add argument bind_c. Set bind_c in gsym. * trans-decl.c (gfc_get_module_backend_decl): Add bind_c argument to gfc_get_symbol. (gfc_get_extern_function_decl): If the sym has a binding label and it cannot be found in the global symbol tabel, it is the wrong one and vice versa. 2019-03-13 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/66695 PR fortran/77746 PR fortran/79485 * gfortran.dg/binding_label_tests_30.f90: New test. * gfortran.dg/binding_label_tests_31.f90: New test. * gfortran.dg/binding_label_tests_32.f90: New test. * gfortran.dg/binding_label_tests_33.f90: New test. From-SVN: r269635
2019-03-12Replace can't in error messages for Fortran.Martin Liska1-9/+9
2019-03-12 Martin Liska <mliska@suse.cz> * c-opts.c (c_common_handle_option): Wrap option with %< and %>. 2019-03-12 Martin Liska <mliska@suse.cz> * decl.c (add_init_expr_to_sym): Replace usage of 'can't' with 'cannot'. (variable_decl): Likewise. (cray_pointer_decl): Likewise. (match_binding_attributes): Likewise. * f95-lang.c (gfc_init): Likewise. * interface.c (gfc_check_typebound_override): Likewise. * intrinsic.c (make_generic): Likewise. * module.c (dump_module): Likewise. (gfc_use_module): Likewise. * primary.c (gfc_convert_to_structure_constructor): Likewise. * resolve.c (resolve_entries): Likewise. (check_generic_tbp_ambiguity): Likewise. (get_checked_tb_operator_target): Likewise. * scanner.c (load_file): Likewise. * trans-expr.c (gfc_conv_intrinsic_to_class): Likewise. 2019-03-12 Martin Liska <mliska@suse.cz> * config/i386/i386.c: Reword an error message. 2019-03-12 Martin Liska <mliska@suse.cz> * gfortran.dg/abstract_type_3.f03: Amend test-case scan patterns. * gfortran.dg/binding_label_tests_4.f03: Likewise. * gfortran.dg/c_f_pointer_tests_6.f90: Likewise. * gfortran.dg/c_funloc_tests_6.f90: Likewise. * gfortran.dg/c_loc_tests_17.f90: Likewise. * gfortran.dg/constructor_9.f90: Likewise. * gfortran.dg/dec_structure_8.f90: Likewise. * gfortran.dg/entry_4.f90: Likewise. * gfortran.dg/init_char_with_nonchar_ctr.f90: Likewise. * gfortran.dg/initialization_23.f90: Likewise. * gfortran.dg/logical_assignment_1.f90: Likewise. * gfortran.dg/pr80752.f90: Likewise. * gfortran.dg/pr88116_1.f90: Likewise. * gfortran.dg/pr88467.f90: Likewise. * gfortran.dg/typebound_call_7.f03: Likewise. * gfortran.dg/typebound_generic_1.f03: Likewise. * gfortran.dg/typebound_operator_2.f03: Likewise. * gfortran.dg/typebound_operator_4.f03: Likewise. * gfortran.dg/typebound_proc_9.f03: Likewise. * gfortran.dg/unlimited_polymorphic_2.f03: Likewise. From-SVN: r269616
2019-03-08re PR other/80058 (fix double spaces in string literals everywhere)Jakub Jelinek1-1/+1
PR other/80058 * lra-constraints.c (process_alt_operands): Avoid one space before " at the end of line and another after " on another line in a string literal. * attribs.c (handle_dll_attribute): Likewise. * config/avr/avr-devices.c (avr_texinfo): Likewise. cp/ * parser.c (cp_parser_template_declaration_after_parameters): Avoid one space before " at the end of line and another after " on another line in a string literal. fortran/ * arith.c (gfc_complex2complex): Avoid two spaces in the middle of diagnostics. * resolve.c (resolve_allocate_expr): Likewise. From-SVN: r269487
2019-03-03re PR fortran/72714 ([Coarray] ICE in gfc_array_init_size, at ↵Thomas Koenig1-6/+47
fortran/trans-array.c:5235) 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/72714 * resolve.c (resolve_allocate_expr): Add some tests for coarrays. 2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/72714 * gfortran.dg/coarray_allocate_11.f90: New test. From-SVN: r269352
2019-02-23re PR fortran/88117 (ICE in gimplify_var_or_parm_decl, at gimplify.c:2697)Paul Thomas1-0/+3
2019-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/88117 * resolve.c (deferred_op_assign): Return if the lhs expression has the pointer attribute. * trans-expr.c (gfc_trans_assignment_1): Do not fix the string length if the lhs expression has the pointer attribute. 2019-02-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/88117 * gfortran.dg/deferred_character_32.f90 : New test From-SVN: r269157
2019-02-17re PR fortran/88299 ([F18] COMMON in a legacy module produces bogus warnings ↵Harald Anlauf1-5/+5
in dependent code) 2019-02-17 Harald Anlauf <anlauf@gmx.de> PR fortran/88299 * resolve.c (resolve_common_blocks,resolve_common_vars): Move check for obsolent COMMON feature in F2018 to better place. PR fortran/88299 * gfortran.dg/pr88299.f90: New test. From-SVN: r268974
2019-02-13Fix -fdec simplification (PR fortran/88649).Martin Liska1-5/+5
2019-02-13 Martin Liska <mliska@suse.cz> PR fortran/88649 * resolve.c (resolve_operator): Initialize 't' right after function entry. Skip switch (e->value.op.op) for -fdec operands that become function calls. From-SVN: r268842
2019-02-09re PR fortran/89077 (ICE using * as len specifier for character parameter)Harald Anlauf1-5/+20
2019-02-09 Harald Anlauf <anlauf@gmx.de> PR fortran/89077 * resolve.c (gfc_resolve_substring_charlen): Check substring length for constantness prior to general calculation of length. PR fortran/89077 * gfortran.dg/substr_simplify.f90: New test. From-SVN: r268726
2019-02-04Do not dereference NULL pointer in resolve_ref (PR fortran/89185).Martin Liska1-5/+2
2019-02-04 Martin Liska <mliska@suse.cz> PR fortran/89185 * resolve.c (resolve_ref): Remove breakout variable as we need to prevent prev = &(*prev)->next to happen with *prev == NULL. From-SVN: r268521
2019-01-31re PR fortran/88669 (Contiguous attribute wrongly rejected)Thomas Koenig1-1/+18
2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88669 * resolve.c (resolve_component): If the reference is a BT_CLASS, copy the contiguous attribute from the reference and use the correct attributes. 2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88669 * gfortran.dg/contiguous_9.f90: New test. From-SVN: r268432
2019-01-19[multiple changes]Dominique d'Humieres1-1/+1
2019-01-19 Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/37835 * resolve.c (resolve_types): Add !flag_automatic. * symbol.c (gfc_add_save): Silence warnings. 2019-01-18 Dominique d'Humieres <dominiq@gcc.gnu.org> PR fortran/37835 * gfortran.dg/no-automatic.f90: New test. From-SVN: r268098
2019-01-19re PR fortran/88871 (ICE segmentation fault in f951)Thomas Koenig1-5/+9
2019-01-17 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/88871 * resolve.c (resolve_ref): Fix logic for removal of reference. From-SVN: r268092
2019-01-15re PR fortran/43072 (unneeded temporary (s=s+f(a)))Thomas Koenig1-4/+24
2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43072 * resolve.c (resolve_array_ref): Add equal_length argument; set it if the length of the substring equals that of the orignal variable. (resolve_ref): Remove the substring if it is equal in length to the original variable, unless it is an EXPR_SUBSTRING). 2019-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/43072 * gfortran.dg/actual_array_substr_3.f90: New test. From-SVN: r267953
2019-01-15re PR fortran/81849 (Size of automatic array argument specified by ↵Steven G. Kargl1-1/+1
host-associated variable.) 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/81849 * resolve.c (resolve_symbol): Host associated varaibles can appear in the specification statement of a RESULT array. 2019-01-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/81849 * gfortran.dg/pr81849.f90: New test. From-SVN: r267948
2019-01-13re PR fortran/61765 ([F03] Rejects valid BIND(C) ENTRY)Steven G. Kargl1-11/+14
2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/61765 * resolve.c (gfc_verify_binding_labels): Break if-elseif-elseif structure into independent if's with a return to simplify logic. Avoid a check for ENTRY name with bind(c). 2019-01-12 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/61765 * gfortran.dg/pr61765.f90: New test. From-SVN: r267902
2019-01-10re PR fortran/88376 (ICE in is_illegal_recursion, at fortran/resolve.c:1689)Steven G. Kargl1-2/+0
2019-01-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88376 * resolve.c (is_illegal_recursion): Remove an assert(). 2019-01-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88376 * gfortran.dg/pr88376.f90: New test. From-SVN: r267793
2019-01-09PR other/16615 [1/5]Sandra Loosemore1-4/+4
2019-01-09 Sandra Loosemore <sandra@codesourcery.com> PR other/16615 [1/5] contrib/ * mklog: Mechanically replace "can not" with "cannot". gcc/ * Makefile.in: Mechanically replace "can not" with "cannot". * alias.c: Likewise. * builtins.c: Likewise. * calls.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * combine-stack-adj.c: Likewise. * combine.c: Likewise. * common/config/i386/i386-common.c: Likewise. * config/aarch64/aarch64.c: Likewise. * config/alpha/sync.md: Likewise. * config/arc/arc.c: Likewise. * config/arc/predicates.md: Likewise. * config/arm/arm-c.c: Likewise. * config/arm/arm.c: Likewise. * config/arm/arm.h: Likewise. * config/arm/arm.md: Likewise. * config/arm/cortex-r4f.md: Likewise. * config/csky/csky.c: Likewise. * config/csky/csky.h: Likewise. * config/darwin-f.c: Likewise. * config/epiphany/epiphany.md: Likewise. * config/i386/i386.c: Likewise. * config/i386/sol2.h: Likewise. * config/m68k/m68k.c: Likewise. * config/mcore/mcore.h: Likewise. * config/microblaze/microblaze.md: Likewise. * config/mips/20kc.md: Likewise. * config/mips/sb1.md: Likewise. * config/nds32/nds32.c: Likewise. * config/nds32/predicates.md: Likewise. * config/pa/pa.c: Likewise. * config/rs6000/e300c2c3.md: Likewise. * config/rs6000/rs6000.c: Likewise. * config/s390/s390.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.md: Likewise. * config/spu/vmx2spu.h: Likewise. * cprop.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * doc/cfg.texi: Likewise. * doc/extend.texi: Likewise. * doc/fragments.texi: Likewise. * doc/gty.texi: Likewise. * doc/invoke.texi: Likewise. * doc/lto.texi: Likewise. * doc/md.texi: Likewise. * doc/objc.texi: Likewise. * doc/rtl.texi: Likewise. * doc/tm.texi: Likewise. * dse.c: Likewise. * emit-rtl.c: Likewise. * emit-rtl.h: Likewise. * except.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * gimple-fold.c: Likewise. * hard-reg-set.h: Likewise. * ifcvt.c: Likewise. * ipa-comdats.c: Likewise. * ipa-cp.c: Likewise. * ipa-devirt.c: Likewise. * ipa-fnsummary.c: Likewise. * ipa-icf.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-polymorphic-call.c: Likewise. * ipa-profile.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-visibility.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * ira.h: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-assigns.c: Likewise. * lra-constraints.c: Likewise. * lra-eliminations.c: Likewise. * lra-lives.c: Likewise. * lra-remat.c: Likewise. * lra-spills.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-streamer-out.c: Likewise. * postreload-gcse.c: Likewise. * predict.c: Likewise. * profile-count.h: Likewise. * profile.c: Likewise. * recog.c: Likewise. * ree.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * reorg.c: Likewise. * resource.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * shrink-wrap.c: Likewise. * simplify-rtx.c: Likewise. * symtab.c: Likewise. * target.def: Likewise. * toplev.c: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-complex.c: Likewise. * tree-core.h: Likewise. * tree-eh.c: Likewise. * tree-inline.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-nrv.c: Likewise. * tree-profile.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-phionlycprop.c: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssanames.c: Likewise. * tree-streamer-out.c: Likewise. * tree.c: Likewise. * tree.h: Likewise. * vr-values.c: Likewise. gcc/ada/ * exp_ch9.adb: Mechanically replace "can not" with "cannot". * libgnat/s-regpat.ads: Likewise. * par-ch4.adb: Likewise. * set_targ.adb: Likewise. * types.ads: Likewise. gcc/cp/ * cp-tree.h: Mechanically replace "can not" with "cannot". * parser.c: Likewise. * pt.c: Likewise. gcc/fortran/ * class.c: Mechanically replace "can not" with "cannot". * decl.c: Likewise. * expr.c: Likewise. * gfc-internals.texi: Likewise. * intrinsic.texi: Likewise. * invoke.texi: Likewise. * io.c: Likewise. * match.c: Likewise. * parse.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. * symbol.c: Likewise. * trans-array.c: Likewise. * trans-decl.c: Likewise. * trans-intrinsic.c: Likewise. * trans-stmt.c: Likewise. gcc/go/ * go-backend.c: Mechanically replace "can not" with "cannot". * go-gcc.cc: Likewise. gcc/lto/ * lto-partition.c: Mechanically replace "can not" with "cannot". * lto-symtab.c: Likewise. * lto.c: Likewise. gcc/objc/ * objc-act.c: Mechanically replace "can not" with "cannot". libbacktrace/ * backtrace.h: Mechanically replace "can not" with "cannot". libgcc/ * config/c6x/libunwind.S: Mechanically replace "can not" with "cannot". * config/tilepro/atomic.h: Likewise. * config/vxlib-tls.c: Likewise. * generic-morestack-thread.c: Likewise. * generic-morestack.c: Likewise. * mkmap-symver.awk: Likewise. libgfortran/ * caf/single.c: Mechanically replace "can not" with "cannot". * io/unit.c: Likewise. libobjc/ * class.c: Mechanically replace "can not" with "cannot". * objc/runtime.h: Likewise. * sendmsg.c: Likewise. liboffloadmic/ * include/coi/common/COIResult_common.h: Mechanically replace "can not" with "cannot". * include/coi/source/COIBuffer_source.h: Likewise. libstdc++-v3/ * include/ext/bitmap_allocator.h: Mechanically replace "can not" with "cannot". From-SVN: r267783
2019-01-05re PR fortran/88009 (ICE in find_intrinsic_vtab, at fortran/class.c:2761)Janus Weil1-10/+7
2019-01-05 Janus Weil <janus@gcc.gnu.org> PR fortran/88009 * class.c (gfc_find_derived_vtab): Mark the _final component as artificial. (find_intrinsic_vtab): Ditto. Also add an extra check to avoid dereferencing a null pointer and adjust indentation. * resolve.c (resolve_fl_variable): Add extra check to avoid dereferencing a null pointer. Move variable declarations to local scope. (resolve_fl_procedure): Add extra check to avoid dereferencing a null pointer. * symbol.c (check_conflict): Suppress errors for artificial symbols. 2019-01-05 Janus Weil <janus@gcc.gnu.org> PR fortran/88009 * gfortran.dg/blockdata_10.f90: New test case. From-SVN: r267598
2019-01-01Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r267494
2018-12-23re PR fortran/77703 (ICE on assignment to pointer function)Paul Thomas1-0/+5
2018-12-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/77703 * resolve.c (get_temp_from_expr): Use the string length of constant character expressions. 2018-12-23 Paul Thomas <pault@gcc.gnu.org> PR fortran/77703 * gfortran.dg/ptr_func_assign_5.f08 : New test. From-SVN: r267379
2018-12-19re PR fortran/87992 (ICE in resolve_fl_variable, at fortran/resolve.c:12314)Steven G. Kargl1-1/+5
2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87992 * resolve.c (resolve_fl_variable): Avoid a NULL pointer. 2018-12-19 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87992 * gfortran.dg/pr87992.f90: New test. From-SVN: r267288
2018-12-17re PR fortran/85314 (gcc/fortran/resolve.c:9222: unreachable code ?)Steven G. Kargl1-4/+1
2018-12-16 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85314 * resolve.c (resolve_transfer): Remove dead code. From-SVN: r267196
2018-12-11re PR fortran/88249 (ICE in gfc_resolve_filepos, at fortran/io.c:2853)Steven G. Kargl1-1/+1
2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88249 * gfortran.h: Update prototype for gfc_resolve_filepos(). * io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present. Use passed in locus for error message. * resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos() call. 2018-12-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88249 * gfortran.dg/pr88249.f90: New test. From-SVN: r267035
2018-12-09[multiple changes]Steven G. Kargl1-2/+2
2018-12-09 Fritz Reese <fritzoreese@gmail.com> PR fortran/88228 * resolve.c (resolve_operator): Do not call resolve_function. Break like other cases. 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88228 * gfortran.dg/pr88228.f90: New test. From-SVN: r266926