aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/interface.c
AgeCommit message (Collapse)AuthorFilesLines
2016-01-24[multiple changes]Jerry DeLisle1-1/+2
2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/69397 PR fortran/68442 * interface.c (gfc_arglist_matches_symbol): Replace assert with a return false if not a procedure. * resolve.c (resolve_generic_f): Test if we are resolving an initialization expression and adjust error message accordingly. 2016-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/69397 PR fortran/68442 * gfortran.dg/interface_38.f90: New test. * gfortran.dg/interface_39.f90: New test. From-SVN: r232780
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-12-12re PR fortran/45859 ([Coarray, F2008, IR] Rejects valid actuals to coarray ↵Tobias Burnus1-5/+8
dummies) 2014-12-12 Tobias Burnus <burnus@net-b.de> gcc/fortran PR fortran/45859 * expr.c (gfc_is_simply_contiguous): Optionally permit array * elements. (gfc_check_pointer_assign): Update call. * interface.c (compare_parameter): Ditto. * trans-array.c (gfc_conv_array_parameter): Ditto. * trans-intrinsic.c (gfc_conv_intrinsic_transfer, conv_isocbinding_function): Ditto. * gfortran.h (gfc_is_simply_contiguous): Update prototype. gcc/testsuite/ PR fortran/45859 * gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error. From-SVN: r231585
2015-12-02check.c (gfc_check_event_query): New function.Tobias Burnus1-0/+28
2015-12-02 Tobias Burnus <burnus@net-b.de> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * check.c (gfc_check_event_query): New function. * dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT. * expr.c (gfc_check_vardef_context): New check for event variables definition. * gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. (gfc_isym_id): GFC_ISYM_EVENT_QUERY. (struct symbol_attribute): New field. (gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT. * gfortran.texi: Document about new events functions and minor changes. * interface.c (compare_parameter): New check. (gfc_procedure_use): New check for explicit procedure interface. (add_subroutines): Add event_query. * intrinsic.h (gfc_check_event_query,gfc_resolve_event_query): New prototypes. * iresolve.c (gfc_resolve_event_query): New function. * iso-fortran-env.def (event_type): New type. * match.c (event_statement,gfc_match_event_post,gfc_match_event_wait): New functions. (gfc_match_name): New event post and event wait. * match.h (gfc_match_event_post,gfc_match_event_wait): New prototypes. * module.c (ab_attribute): Add AB_EVENT_COMP. (attr_bits): Likewise. (mio_symbol_attribute): Handle event_comp attribute. * parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. (next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. (gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT. (parse_derived): Check for event_type components. * resolve.c (resolve_allocate_expr): Check for event variable def. (resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It includes logic for locks and events. (gfc_resolve_code): Call it. (gfc_resolve_symbol): New check for event variable to be a corray. * st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and EXEC_EVENT_WAIT. * trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, gfor_fndecl_caf_event_query): New global variables. (generate_coarray_sym_init): Checking for event_type. (gfc_conv_procedure_call): Check for C bind attribute. * trans-intrinsic.c (conv_intrinsic_event_query): New function. (conv_intrinsic_move_alloc): Call it. * trans-stmt.c (gfc_trans_lock_unlock): Passing address of actual argument. (gfc_trans_sync): Likewise. (gfc_trans_event_post_wait): New function. * trans-stmt.h (gfc_trans_event_post_wait): New prototype. * trans-types.c (gfc_get_derived_type): Integer_kind as event_type. * trans.c (gfc_allocate_using_lib): New argument and logic for events. (gfc_allocate_allocatable): Passing new argument. (trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT. * trans.h (gfc_coarray_type): New elements. (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait, gfor_fndecl_caf_event_query): Declare them. 2015-12-02 Tobias Burnus <burnus@net-b.de> Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> * gfortran.dg/coarray/event_1.f90: New. * gfortran.dg/coarray/event_2.f90: New. Co-Authored-By: Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> From-SVN: r231208
2015-10-30re PR fortran/36192 (ICE with wrong index types and bad parens)Steven G. Kargl1-1/+3
2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/36192 * interface.c (get_expr_storage_size): Check for INTEGER type before calling gmp routines. 2015-10-30 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/36192 * gfortran.dg/pr36192_1.f90: New test. From-SVN: r229590
2015-07-09flags.h: Don't include flag-types.h or options.h.Andrew MacLeod1-1/+1
2015-07-09 Andrew MacLeod <amacleod@redhat.com> * flags.h: Don't include flag-types.h or options.h. * opts-common.c: Adjust includes. * opts-global.c: Likewise. * common/config/epiphany/epiphany-common.c: Likewise. c * c-array-notation.c: Adjust includes for flags.h changes. * c-objc-common.c: Likewise. c-family * c-common.h: Adjust includes for flags.h changes. * stub-objc.c: Likewise. fortran * arith.c: Adjust includes for flags.h changes. * array.c: Likewise. * check.c: Likewise. * decl.c: Likewise. * error.c: Likewise. * expr.c: Likewise. * frontend-passes.c: Likewise. * interface.c: Likewise. * intrinsic.c: Likewise. * io.c: Likewise. * match.c: Likewise. * openmp.c: Likewise. * parse.c: Likewise. * primary.c: Likewise. * resolve.c: Likewise. * scanner.c: Likewise. * simplify.c: Likewise. * symbol.c: Likewise. * target-memory.c: Likewise. jit * dummy-frontend.c: Adjust includes for flags.h changes. * jit-common.h: Likewise. * jit-playback.c: Likewise. lto * lto-lang.c: Adjust includes for flags.h changes. From-SVN: r225608
2015-07-02re PR fortran/52846 ([F2008] Support submodules)Paul Thomas1-11/+13
2015-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 * decl.c (get_proc_name): Make a partially populated interface symbol to carry the characteristics of a module procedure and its result. (variable_decl): Declarations of dummies or results in the abreviated form of module procedure is an error. (gfc_match_import): IMPORT is not permitted in the interface declaration of module procedures. (match_attr_spec): Submodule variables have implicit save attribute for F2008 onwards. (gfc_match_prefix): Add 'module' as the a prefix and set the module_procedure attribute. (gfc_match_formal_arglist): For a module procedure keep the interface formal_arglist from the interface, match new the formal arguments and then compare the number and names of each. (gfc_match_procedure): Add case COMP_SUBMODULE. (gfc_match_function_decl, gfc_match_subroutine_decl): Set the module_procedure attribute. (gfc_match_entry, gfc_match_end): Add case COMP_SUBMODULE. If attr abr_modproc_decl is set, switch the message accordingly for subroutines and functions. (gfc_match_submod_proc): New function to match the abbreviated style of submodule declaration. * gfortran.h : Add ST_SUBMODULE and ST_END_SUBMODULE. Add the attribute bits 'used_in_submodule' and 'module_procedure'. Add the bit field 'abr_modproc_decl' to gfc_symbol. Add prototypes for 'gfc_copy_dummy_sym', 'gfc_check_dummy_characteristics' and 'gfc_check_result_characteristics'. * interface.c : Add the prefix 'gfc_' to the names of functions 'check_dummy(result)_characteristics' and all their references. * match.h : Add prototype for 'gfc_match_submod_proc' and 'gfc_match_submodule'. (check_sym_interfaces): A module procedure is not an error in a module procedure statment in a generic interface. * module.c (gfc_match_submodule): New function. Add handling for the 'module_procedure' attribute bit. (gfc_use_module): Make sure that a submodule cannot use itself. * parse.c (decode_statement): Set attr has_'import_set' for the interface declaration of module procedures. Handle a match occurring in 'gfc_match_submod_proc' and a match for 'submodule'. (gfc_enclosing_unit): Include the state COMP_SUBMODULE. (gfc_ascii_statement): Add END SUBMODULE. (accept_statement): Add ST_SUBMODULE. (parse_spec): Disallow statement functions in a submodule specification part. (parse_contained): Add ST_END_SUBMODULE and COMP_SUBMODULE twice each. (get_modproc_result): Copy the result symbol of the interface. (parse_progunit): Call it. (set_syms_host_assoc): Make symbols from the ancestor module and submodules use associated, as required by the standard and set all private components public. Module procedures 'external' attribute bit is reset and the 'used_in_submodule' bit is set. (parse_module): If this is a submodule, use the ancestor module and submodules. Traverse the namespace, calling 'set_syms_host_assoc'. Add ST_END_SUBMODULE and COMP_SUBMODULE. * parse.h : Add COMP_SUBMODULE. * primary.c (match_variable): Add COMP_SUBMODULE. * resolve.c (compare_fsyms): New function to compare the dummy characteristics of a module procedure with its interface. (resolve_fl_procedure): Compare the procedure, result and dummy characteristics of a module_procedure with its interface, using 'compare_fsyms' for the dummy arguments. * symbol.c (gfc_add_procedure): Suppress the check for existing procedures in the case of a module procedure. (gfc_add_explicit_interface): Skip checks that must fail for module procedures. (gfc_add_type): Allow a new type to be added to module procedures, their results or their dummy arguments. (gfc_copy_dummy_sym): New function to generate new dummy args and copy the characteristics from the interface. * trans-decl.c (gfc_sym_mangled_function_id): Module procedures must always have their names mangled as if they are symbols coming from a declaration in a module. (gfc_get_symbol_decl): Add 'used_in_submodule' to the assert. (gfc_finish_var_decl): Symbols with the 'used_in_submodule' bit set are set DECL_EXTERNAL as if they were use associated. 2015-07-02 Paul Thomas <pault@gcc.gnu.org> PR fortran/52846 * gfortran.dg/submodule_1.f90: New test * gfortran.dg/submodule_2.f90: New test * gfortran.dg/submodule_3.f90: New test * gfortran.dg/submodule_4.f90: New test * gfortran.dg/submodule_5.f90: New test * gfortran.dg/submodule_6.f90: New test * gfortran.dg/submodule_7.f90: New test From-SVN: r225354
2015-05-19Use std::swap instead of explicit swapsMikhail Maltsev1-8/+3
gcc/ * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of explicit swaps. * dojump.c (do_compare_rtx_and_jump): Likewise. * expmed.c (emit_store_flag_1): Likewise. * fibonacci_heap.h (fibonacci_heap::union_with): Likewise. * final.c (sprint_ul): Use std::reverse for reversing a string. * fold-const.c (extract_muldiv_1): Use std::swap. * genmodes.c (emit_mode_int_n): Likewise. * ifcvt.c (dead_or_predicable): Likewise. * ira-build.c (ira_merge_live_ranges): Likewise. (swap_allocno_copy_ends_if_necessary): Likewise. * ira.c (ira_setup_alts): Likewise. * loop-iv.c (iv_analyze_expr): Likewise. (implies_p): Likewise. (canon_condition): Likewise. * lra-constraints.c (swap_operands): Likewise. * lra-lives.c (lra_merge_live_ranges): Likewise. * omega.c (swap): Remove. (bswap): Remove. (omega_unprotect_1): Use std::swap. (omega_solve_geq): Likewise. * optabs.c (expand_binop_directly): Likewise. (expand_binop): Likewise. (emit_conditional_move): Likewise. (emit_conditional_add): Likewise. * postreload.c (reload_cse_simplify_operands): Likewise. * reg-stack.c (emit_swap_insn): Likewise. (swap_to_top): Likewise. (compare_for_stack_reg): Likewise. (subst_asm_stack_regs): Likewise. * reload.c (find_reloads): Likewise. * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise. * sel-sched.c (invoke_reorder_hooks): Likewise. (create_block_for_bookkeeping): Likewise. * tree-data-ref.c (lambda_matrix_row_exchange): Remove. (lambda_matrix_right_hermite): Use std::swap. * tree-ssa-coalesce.c (sort_coalesce_list): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise. * tree-ssa-math-opts.c (is_widening_mult_p): Likewise. * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise. * tree-ssa-reassoc.c (linearize_expr_tree): Likewise. * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise. * tree-vrp.c (compare_ranges): Likewise. * var-tracking.c (add_with_sets): Likewise. (vt_find_locations): Likewise. gcc/c/ * c-typeck.c (build_array_ref): Use std::swap instead of explicit swaps gcc/cp/ * typeck.c (composite_pointer_type): Use std::swap instead of explicit swaps. gcc/c-family/ * c-common.c (shorten_compare): Use std::swap instead of explicit swaps. gcc/fortran/ * interface.c (compare_actual_formal): Use std::swap instead of explicit swaps. * trans-array.c (gfc_trans_scalarized_loop_end): Likewise. * trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise. From-SVN: r223332
2015-05-18re PR fortran/66057 (ICE for incomplete generic statement (gfc_match_generic))Steven G. Kargl1-2/+6
2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66057 * interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201). * match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE. 2015-05-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/66057 * gfortran.dg/interface_operator_1.f90: New tests. From-SVN: r223326
2015-05-05Fix indentation issues seen by -Wmisleading-indentationDavid Malcolm1-1/+1
gcc/ChangeLog: * auto-profile.c (afdo_find_equiv_class): Fix indentation so that it reflects the block structure. (afdo_propagate_edge): Likewise. (afdo_calculate_branch_prob): Likewise. (afdo_annotate_cfg): Likewise. * cfgcleanup.c (equal_different_set_p): Likewise. (try_crossjump_to_edge): Likewise. * cgraph.c (cgraph_node::verify_node): Likewise. * cgraphunit.c (expand_all_functions): Likewise. * config/i386/i386.c (ix86_expand_copysign): Likewise. (exact_dependency_1): Likewise. * dwarf2asm.c (dw2_output_indirect_constants): Likewise. * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise. * gensupport.c (process_define_subst): Likewise. * lto-wrapper.c (merge_and_complain): Likewise. * tree-if-conv.c (if_convertible_bb_p): Likewise. * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise. * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise. * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise. * tree-vect-loop.c (vectorizable_reduction): Likewise. * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise. * tree-vect-stmts.c (vectorizable_shift): Likewise. * tree-vrp.c (vrp_finalize): Likewise. * tree.c (variably_modified_type_p): Likewise. gcc/cp/ChangeLog: * parser.c (cp_parser_asm_definition): Only test for error_mark_node if "outputs" was just set. (cp_parser_asm_definition): Likewise for "inputs". gcc/fortran/ChangeLog: * expr.c (check_inquiry): Fix indentation so that it reflects the block structure. * interface.c (compare_parameter): Likewise. * parse.c (parse_oacc_structured_block): Likewise. * target-memory.c (expr_to_char): Likewise. * trans-types.c (gfc_init_kinds): Likewise. libcpp/ChangeLog: * pch.c (cpp_valid_state): Fix indentation so that it reflects the block structure. From-SVN: r222823
2015-04-28interface.c (gfc_compare_types): Check for unlimited polymorphism flag in ↵Andre Vehreschild1-3/+14
the correct position indepent of the... gcc/fortran/ChangeLog: 2015-04-28 Andre Vehreschild <vehre@gmx.de> * interface.c (gfc_compare_types): Check for unlimited polymorphism flag in the correct position indepent of the _data component being present or not. This prevents a segfault, when the _data component is not present. * symbol.c (gfc_type_compatible): Same. gcc/testsuite/ChangeLog: 2015-04-28 Andre Vehreschild <vehre@gmx.de> * gfortran.dg/implicit_class_1.f90: Adding flag to check, if segfault is fixed. From-SVN: r222539
2015-02-01Always pass 0 or option number to gfc_warning*.Joseph Myers1-10/+12
Similar to the issue with fatal_error that I fixed in <https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02690.html>, the overloads of gfc_warning and gfc_warning_now (with and without a first argument for an option number) also break gcc.pot regeneration because xgettext expects the translated string argument to be in a fixed position for a given function name. This patch applies the corresponding fix of always passing a first argument (option number or 0), just like the core diagnostic functions warning and warning_at, and removing the problem overloads without it. Bootstrapped with no regressions on x86_64-unknown-linux-gnu. * error.c (gfc_warning (const char *, ...), gfc_warning_now (const char *, ...)): Remove functions. * gfortran.h (gfc_warning (const char *, ...), gfc_warning_now (const char *, ...)): Remove declarations. * arith.c, check.c, data.c, decl.c, frontend-passes.c, interface.c, intrinsic.c, io.c, matchexp.c, module.c, openmp.c, options.c, parse.c, primary.c, resolve.c, scanner.c, symbol.c, trans-common.c, trans-const.c, trans-stmt.c: All callers of gfc_warning and gfc_warning_now changed to pass 0 or option number as first argument. From-SVN: r220313
2015-01-27re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in ↵Rainer Orth1-3/+1
gfc_zero_size_array in arith.c:1637) 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR fortran/64771 * interface.c: Remove <algorithm>. (check_dummy_characteristics): Use MAX instead of std::max. From-SVN: r220182
2015-01-26re PR fortran/64771 (ICE(segfault) when passing coarrays around; ICE in ↵Tobias Burnus1-3/+16
gfc_zero_size_array in arith.c:1637) 2015-01-26 Tobias Burnus <burnus@net-b.de> PR fortran/64771 gcc/fortran/ * interface.c (check_dummy_characteristics): Fix coarray * handling. testsuite/ * gfortran.dg/coarray_36.f: New. * gfortran.dg/coarray_37.f90: New. From-SVN: r220136
2015-01-11re PR fortran/63733 ([OOP] wrong resolution for OPERATOR generics)Janus Weil1-49/+44
2015-01-11 Janus Weil <janus@gcc.gnu.org> PR fortran/63733 * interface.c (gfc_extend_expr): Look for type-bound operators before non-typebound ones. 2015-01-11 Janus Weil <janus@gcc.gnu.org> PR fortran/63733 * gfortran.dg/typebound_operator_20.f90: New. From-SVN: r219440
2015-01-11re PR fortran/64508 ([F03] interface check missing for procedure pointer ↵Janus Weil1-1/+15
component as actual argument) 2015-01-11 Janus Weil <janus@gcc.gnu.org> PR fortran/64508 * interface.c (compare_parameter): Interface check for procedure-pointer component as actual argument. 2015-01-11 Janus Weil <janus@gcc.gnu.org> PR fortran/64508 * gfortran.dg/proc_ptr_comp_41.f90: New. From-SVN: r219431
2015-01-05Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r219188
2015-01-02re PR fortran/60507 (Passing function call into procedure argument not caught)Janus Weil1-4/+21
2015-01-02 Janus Weil <janus@gcc.gnu.org> PR fortran/60507 * interface.c (is_procptr_result): New function to check if an expression is a procedure-pointer result. (compare_actual_formal): Use it. 2015-01-02 Janus Weil <janus@gcc.gnu.org> PR fortran/60507 * gfortran.dg/dummy_procedure_11: New. From-SVN: r219141
2014-12-13error.c (gfc_error): Add variant which takes a va_list.Tobias Burnus1-6/+6
2014-12-13 Tobias Burnus <burnus@net-b.de> Manuel López-Ibáñez <manu@gcc.gnu.org> fortran/ * error.c (gfc_error): Add variant which takes a va_list. (gfc_notify_std): Convert to common diagnostic. * array.c: Use %qs, %<...%> in more gfc_error calls and for gfc_notify_std. * check.c: Ditto. * data.c: Ditto. * decl.c: Ditto. * expr.c: Ditto. * interface.c: Ditto. * intrinsic.c: Ditto. * io.c: Ditto. * match.c: Ditto. * matchexp.c: Ditto. * module.c: Ditto. * openmp.c: Ditto. * parse.c: Ditto. * primary.c: Ditto. * resolve.c: Ditto. * simplify.c: Ditto. * symbol.c: Ditto. * trans-common.c: Ditto. * trans-intrinsic.c: Ditto. gcc/testsuite/ * gfortran.dg/realloc_on_assign_21.f90: Update dg-error. * gfortran.dg/warnings_are_errors_1.f: Ditto. * gfortran.dg/warnings_are_errors_1.f90: Ditto. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r218694
2014-12-11re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez1-82/+82
!GCC$ diagnostic (pragmas) and color) gcc/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * diagnostic.c (diagnostic_action_after_output): Make it extern. Take diagnostic_t argument instead of diagnostic_info. Count also DK_WERROR towards max_errors. (diagnostic_report_diagnostic): Update call according to the above. (error_recursion): Likewise. * diagnostic.h (diagnostic_action_after_output): Declare. * pretty-print.c (pp_formatted_text_data): Delete. (pp_append_r): Call output_buffer_append_r. (pp_formatted_text): Call output_buffer_formatted_text. (pp_last_position_in_text): Call output_buffer_last_position_in_text. * pretty-print.h (output_buffer_formatted_text): New. (output_buffer_append_r): New. (output_buffer_last_position_in_text): New. gcc/fortran/ChangeLog: 2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (pp_error_buffer): New static variable. (pp_warning_buffer): Make it a pointer. (gfc_output_buffer_empty_p): New. (gfc_error_init_1): Call gfc_buffer_error. (gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the buffered_p flag. (gfc_clear_warning): Likewise. (gfc_warning_check): Call gfc_clear_warning. Only check the new pp_warning_buffer if the old warning_buffer was empty. Call diagnostic_action_after_output. (gfc_error_1): Renamed from gfc_error. (gfc_error): New. (gfc_clear_error): Clear also pp_error_buffer. (gfc_error_flag_test): Check also pp_error_buffer. (gfc_error_check): Likewise. Only check the new pp_error_buffer if the old error_buffer was empty. (gfc_move_output_buffer_from_to): New. (gfc_push_error): Use it here. Take also an output_buffer as argument. (gfc_pop_error): Likewise. (gfc_free_error): Likewise. (gfc_diagnostics_init): Use XNEW and placement-new to init pp_error_buffer and pp_warning_buffer. Set flush_p to false for both pp_warning_buffer and pp_error_buffer. * Update gfc_push_error, gfc_pop_error and gfc_free_error calls according to the above changes. * Use gfc_error_1 for all gfc_error calls that use multiple locations. * Use %qs instead of '%s' for many gfc_error calls. From-SVN: r218627
2014-12-05re PR fortran/60414 (internal compiler error: tree check)Andre Vehreschild1-4/+0
2014-12-05 Andre Vehreschild <vehre@gmx.de> PR fortran/60414 * interface.c (compare_parameter): Remove class argument rank check short circuit. 2014-12-05 Andre Vehreschild <vehre@gmx.de> PR fortran/60414 * gfortran.dg/unlimited_polymorphism_18.f90: New test. From-SVN: r218422
2014-12-03re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, ↵Manuel López-Ibáñez1-13/+17
!GCC$ diagnostic (pragmas) and color) gcc/testsuite/ChangeLog: 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * gfortran.dg/warnings_are_errors_1.f90: Update warnings to errors. * gfortran.dg/warnings_are_errors_1.f: Likewise. gcc/fortran/ChangeLog: 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * gfortran.h (gfc_warning): Now returns bool. Add overload that accepts opt. (gfc_warning_1): Declare. * error.c (pp_warning_buffer,warningcount_buffered,werrorcount_buffered): New. (gfc_buffer_error): Set pp_warning_buffer.flush_p. (gfc_clear_pp_buffer): New. (gfc_warning_1): Renamed from gfc_warning. (gfc_warning): Add three new overloads. One that takes just a format string and ellipsis, another that takes also a warning option, and another that takes also va_list instead of ellipsis. (gfc_clear_warning): Clear pp_warning_buffer. (gfc_warning_check): Flush pp_warning_buffer and update warning and werror counters. (gfc_diagnostics_init): Init pp_warning_buffer. * Update all gfc_warning calls that do not multiple locations to use %qs and OPT_W*, otherwise use gfc_warning_1. gcc/ChangeLog: 2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * pretty-print.c (output_buffer::output_buffer): Init flush_p to true. (pp_flush): Flush only if flush_p. (pp_really_flush): New. * pretty-print.h (struct output_buffer): Add flush_p. (pp_really_flush): Declare. From-SVN: r218326
2014-11-30gfortran.h (gfc_option_t): Remove warn_aliasing,Tobias Burnus1-9/+8
2014-11-30 Tobias Burnus <burnus@net-b.de> * gfortran.h (gfc_option_t): Remove warn_aliasing, * warn_ampersand, warn_function_elimination, warn_implicit_interface, warn_implicit_procedure, warn_line_truncation, warn_surprising, warn_underflow, warn_intrinsic_shadow, warn_array_temp, warn_align_commons, warn_real_q_constant, warn_unused_dummy_argument, warn_zerotrip, warn_realloc_lhs, warn_realloc_lhs_all, warn_compare_reals, warn_target_lifetime. * arith.c (check_result, gfc_real2real, gfc_real2complex, gfc_complex2real, gfc_complex2complex): Honor changed variable names. * check.c (gfc_check_transfer): Ditto. * expr.c (gfc_check_assign, gfc_check_pointer_assign): Ditto. * interface.c (compare_parameter, gfc_procedure_use, * gfc_ppc_use, gfc_arglist_matches_symbol): Ditto. * intrinsic.c (gfc_warn_intrinsic_shadow): Ditto. * primary.c (match_real_constant, match_string_constant): Ditto. * resolve.c (gfc_resolve_intrinsic, resolve_operator, gfc_resolve_iterator, resolve_select, resolve_ordinary_assign, resolve_charlen, gfc_resolve_finalizers): Ditto. * scanner.c (gfc_next_char_literal): Ditto. * simplify.c (simplify_achar_char, gfc_simplify_iachar): Ditto. * trans-array.c (gfc_trans_create_temp_array, gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Ditto. * trans-common.c (translate_common): * trans-decl.c (generate_local_decl): Ditto. * trans-expr.c (realloc_lhs_warning): Ditto. * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto. * decl.c (do_warn_intrinsic_shadow): Ditto. Renamed from warn_intrinsic_shadow. * frontend-passes.c (do_warn_function_elimination): Honor changed variable names. Renamed from do_warn_function_elimination. * invoke.texi (Wunderflow): Document that it is enabled by * default. * lang.opt (Waliasing, Walign-commons, Warray-temporaries, Wcompare-reals, Wfunction-elimination, Wimplicit-interface, Wimplicit-procedure, Wline-truncation, Wreal-q-constant, Wrealloc-lhs, Wrealloc-lhs-all, Wtarget-lifetime, Wsurprising, Wunderflow, Wintrinsic-shadow, Wunused-dummy-argument, Wzerotrip): Use Var(), add Init() and LangEnabledBy() were required. (Wmaybe-uninitialized, Wreturn-type, Wuninitialized): Add LangEnabledBy. * options.c (gfc_init_options, gfc_post_options, * gfc_handle_option): Remove options handled in lang.opt; handle renaming. (set_Wall, set_Wextra): Remove. From-SVN: r218188
2014-11-25error.c (gfc_internal_error): Convert to common diagnostics.Tobias Burnus1-1/+1
2014-11-25 Tobias Burnus <burnus@net-b.de> * error.c (gfc_internal_error): Convert to common diagnostics. * interface.c (gfc_find_sym_in_symtree): Use %qs. * intrinsic.c (make_generic, gfc_check_intrinsic_standard, gfc_convert_type_warn): Ditto. * module.c (write_symbol): Ditto. * symbol.c (gfc_get_default_type): Ditto; use fatal instead of internal error. * trans-array.c (gfc_walk_subexpr): Replace internal_error by gfc_internal_error. * trans-decl.c (gfc_get_symbol_decl, (gfc_create_module_variable): Ditto. Use %qs. * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto. * trans-io.c (transfer_expr): Ditto. * trans-openmp.c (gfc_trans_omp_workshare): Ditto. * trans.c (trans_code): Ditto. From-SVN: r218068
2014-10-06libgfortran.h (GFC_STD_F2015): Add.Tobias Burnus1-1/+7
2014-10-06 Tobias Burnus <burnus@net-b.de> gcc/fortran/ * libgfortran.h (GFC_STD_F2015): Add. * decl.c (gfc_match_implicit_none): Handle spec list. (gfc_match_implicit): Move double intrinsic warning here. * gfortran.h (gfc_namespace): Add has_implicit_none_export:1. (gfc_set_implicit_none): Update interface. * interface.c (gfc_procedure_use): Add implicit-none external error check. * parse.c (accept_statement): Remove call. (verify_st_order): Permit that external-implict-none follows implicit statement. * symbol.c (gfc_set_implicit_none): Handle external/type implicit none. gcc/testsuite/ * gfortran.dg/implicit_14.f90: New. * gfortran.dg/implicit_15.f90: New. * gfortran.dg/implicit_4.f90: Update dg-error. From-SVN: r215914
2014-09-02re PR fortran/62270 (-Wlogical-not-parentheses warnings)Marek Polacek1-1/+1
PR fortran/62270 * interface.c (compare_parameter): Fix condition. * trans-expr.c (gfc_conv_procedure_call): Likewise. * gfortran.dg/pointer_intent_7.f90: Adjust dg-error. From-SVN: r214827
2014-06-25interface.c (check_intents): Fix diagnostic with coindexed coarrays.Tobias Burnus1-9/+18
gcc/fortran/ 2014-06-25 Tobias Burnus <burnus@net-b.de> * interface.c (check_intents): Fix diagnostic with coindexed coarrays. gcc/testsuite/ 2014-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_33.f90: New. From-SVN: r211994
2014-01-02Update copyright years in gcc/Richard Sandiford1-1/+1
From-SVN: r206289
2013-12-18re PR fortran/59493 ([OOP] ICE: Segfault on Class(*) pointer association)Janus Weil1-1/+1
2013-12-18 Janus Weil <janus@gcc.gnu.org> PR fortran/59493 * gfortran.h (gfc_find_intrinsic_vtab): Removed prototype. (gfc_find_vtab): New prototype. * class.c (gfc_find_intrinsic_vtab): Rename to 'find_intrinsic_vtab' and make static. Minor modifications. (gfc_find_vtab): New function. (gfc_class_initializer): Use new function 'gfc_find_vtab'. * check.c (gfc_check_move_alloc): Ditto. * expr.c (gfc_check_pointer_assign): Ditto. * interface.c (compare_actual_formal): Ditto. * resolve.c (resolve_allocate_expr, resolve_select_type): Ditto. * trans-expr.c (gfc_conv_intrinsic_to_class, gfc_trans_class_assign): Ditto. * trans-intrinsic.c (conv_intrinsic_move_alloc): Ditto. * trans-stmt.c (gfc_trans_allocate): Ditto. From-SVN: r206101
2013-12-10re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure ↵Janus Weil1-2/+31
argument) 2013-12-10 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * interface.c (check_dummy_characteristics): Add checks for several attributes. 2013-12-10 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * gfortran.dg/c_by_val_5.f90: Modified. * gfortran.dg/dummy_procedure_10.f90: New. From-SVN: r205873
2013-11-25re PR fortran/59143 ([OOP] Bogus warning with array-valued type-bound procedure)Janus Weil1-0/+18
2013-11-25 Janus Weil <janus@gcc.gnu.org> PR fortran/59143 * interface.c (get_expr_storage_size): Handle array-valued type-bound procedures. 2013-11-25 Janus Weil <janus@gcc.gnu.org> PR fortran/59143 * gfortran.dg/typebound_proc_30.f90: New. From-SVN: r205345
2013-11-23re PR fortran/59228 (ICE-on-invalid with assumed type and ASYNCHRONOUS)Janus Weil1-1/+1
2013-11-23 Janus Weil <janus@gcc.gnu.org> PR fortran/59228 * interface.c (compare_parameter): Check for array spec. 2013-11-23 Janus Weil <janus@gcc.gnu.org> PR fortran/59228 * gfortran.dg/asynchronous_4.f90: New. From-SVN: r205304
2013-10-23re PR fortran/58793 (Wrong value for _vtab for intrinsic types with ↵Tobias Burnus1-0/+9
CLASS(*): storage_size of class(*) gives wrong result) 2013-10-23 Tobias Burnus <burnus@net-b.de> PR fortran/58793 * interface.c (compare_parameter): Reject passing TYPE(*) to CLASS(*). 2013-10-23 Tobias Burnus <burnus@net-b.de> PR fortran/58793 * gfortran.dg/assumed_type_8.f90: New. From-SVN: r203945
2013-10-16re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)Tobias Burnus1-2/+3
2013-10-16 Tobias Burnus <burnus@net-b.de> PR fortran/58652 * interface.c (compare_parameter): Accept passing CLASS(*) to CLASS(*). 2013-10-16 Tobias Burnus <burnus@net-b.de> PR fortran/58652 * gfortran.dg/unlimited_polymorphic_12.f90: New. From-SVN: r203720
2013-09-20re PR fortran/58099 ([F03] over-zealous procedure-pointer error checking)Janus Weil1-1/+2
2013-09-20 Janus Weil <janus@gcc.gnu.org> PR fortran/58099 * expr.c (gfc_check_pointer_assign): Remove second call to 'gfc_compare_interfaces' with swapped arguments. * interface.c (gfc_compare_interfaces): Symmetrize the call to 'check_result_characteristics' by calling it with swapped arguments. 2013-09-20 Janus Weil <janus@gcc.gnu.org> PR fortran/58099 * gfortran.dg/proc_ptr_43.f90: New. From-SVN: r202766
2013-08-23re PR fortran/57843 ([OOP] Type-bound assignment is resolved to ↵Janus Weil1-48/+38
non-polymorphic procedure call) 2013-08-23 Janus Weil <janus@gcc.gnu.org> PR fortran/57843 * interface.c (gfc_extend_assign): Look for type-bound assignment procedures before non-typebound. 2013-08-23 Janus Weil <janus@gcc.gnu.org> PR fortran/57843 * gfortran.dg/typebound_assignment_7.f90: New. From-SVN: r201946
2013-07-30re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target ↵Tobias Burnus1-0/+6
(which have identical declared type)) 2013-07-30 Tobias Burnus <burnus@net-b.de> PR fortran/57530 * symbol.c (gfc_type_compatible): A type is type compatible with a class if both have the same declared type. * interface.c (compare_type): Reject CLASS/TYPE even if they are type compatible. From-SVN: r201329
2013-07-27re PR fortran/57991 (Enhance "Same actual argument associated" warning ↵Tobias Burnus1-1/+2
(-Waliasing)) 2013-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/57991 * interface.c (check_some_aliasing): Also warn for intent * OUT/OUT. 2013-07-27 Tobias Burnus <burnus@net-b.de> PR fortran/57991 * gfortran.dg/warn_alias.f90: New. From-SVN: r201286
2013-07-25re PR fortran/57639 ([OOP] ICE with polymorphism (and illegal code))Janus Weil1-1/+6
2013-07-25 Janus Weil <janus@gcc.gnu.org> PR fortran/57639 * interface.c (compare_parameter): Check for class_ok. * simplify.c (gfc_simplify_same_type_as): Ditto. 2013-07-25 Janus Weil <janus@gcc.gnu.org> PR fortran/57639 * gfortran.dg/unlimited_polymorphic_9.f90: New. From-SVN: r201239
2013-07-23decl.c: Fix comment typos.Ondřej Bílka1-2/+2
2013-07-23 Ondřej Bílka <neleai@seznam.cz> * decl.c: Fix comment typos. * interface.c: Likewise. * trans-array.c: Likewise. * trans.c: Likewise. From-SVN: r201162
2013-05-31re PR fortran/54190 (TYPE(*)/assumed-rank: Type/rank check too relaxed for ↵Janus Weil1-33/+73
dummy procedure) 2013-05-31 Janus Weil <janus@gcc.gnu.org> PR fortran/54190 PR fortran/57217 * gfortran.h (gfc_terminal_width): Remove prototype. * error.c (get_terminal_width): Moved here from misc.c. Renamed. Try to determine terminal width from environment variable. * interface.c (compare_type, compare_rank): New functions. Fix assumed type/rank handling. (compare_type_rank, check_dummy_characteristics, check_result_characteristics, gfc_compare_interfaces): Use them. (symbol_rank): Slightly modified and moved. * misc.c (gfc_terminal_width): Moved to error.c. 2013-05-31 Janus Weil <janus@gcc.gnu.org> PR fortran/54190 PR fortran/57217 * gfortran.dg/dummy_procedure_5.f90: Modified error message. * gfortran.dg/interface_26.f90: Ditto. * gfortran.dg/proc_ptr_11.f90: Ditto. * gfortran.dg/proc_ptr_15.f90: Ditto. * gfortran.dg/proc_ptr_comp_20.f90: Ditto. * gfortran.dg/proc_ptr_comp_33.f90: Ditto. * gfortran.dg/proc_ptr_result_5.f90: Ditto. * gfortran.dg/typebound_override_1.f90: Ditto. * gfortran.dg/typebound_override_4.f90: Ditto. * gfortran.dg/typebound_proc_6.f03: Ditto. * gfortran.dg/assumed_type_7.f90: New test. * gfortran.dg/typebound_override_5.f90: New test. * gfortran.dg/typebound_override_6.f90: New test. * gfortran.dg/typebound_override_7.f90: New test. From-SVN: r199475
2013-05-30re PR fortran/57458 (TS29113: Wrongly rejects noncontiguous argument to ↵Tobias Burnus1-5/+6
assumed-rank when both are volatile/asynchronous) 2013-05-30 Tobias Burnus <burnus@net-b.de> PR fortran/57458 * interface.c (compare_parameter): Update C1239/C1240 constraint check for assumed-rank/TS29113. 2013-05-30 Tobias Burnus <burnus@net-b.de> PR fortran/57458 * gfortran.dg/assumed_rank_13.f90: New. From-SVN: r199437
2013-05-28re PR fortran/57217 ([OOP] Accepts invalid TBP overriding - lacking ↵Janus Weil1-1/+2
arguments check) 2013-05-28 Janus Weil <janus@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/57217 * interface.c (check_dummy_characteristics): Symmetrize type check. 2013-05-28 Janus Weil <janus@gcc.gnu.org> Tobias Burnus <burnus@net-b.de> PR fortran/57217 * gfortran.dg/typebound_override_4.f90: New. Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r199375
2013-04-17re PR fortran/56814 (Bogus Interface mismatch in dummy procedure)Janus Weil1-2/+9
2013-04-17 Janus Weil <janus@gcc.gnu.org> PR fortran/56814 * interface.c (check_result_characteristics): Get result from interface if present. 2013-04-17 Janus Weil <janus@gcc.gnu.org> PR fortran/56814 * gfortran.dg/proc_ptr_42.f90: New. From-SVN: r198032
2013-04-16re PR fortran/39505 (Consider a 'no arg check' directive)Tobias Burnus1-0/+9
2013-04-12 Tobias Burnus <burnus@net-b.de> PR fortran/39505 * decl.c (ext_attr_list): Add EXT_ATTR_NO_ARG_CHECK. * gfortran.h (ext_attr_id_t): Ditto. * gfortran.texi (GNU Fortran Compiler Directives): Document it. * interface.c (compare_type_rank): Ignore rank for NO_ARG_CHECK. (compare_parameter): Ditto - and regard as unlimited polymorphic. * resolve.c (resolve_symbol, resolve_variable): Add same * constraint checks as for TYPE(*); turn dummy to TYPE(*),dimension(*). (gfc_explicit_interface_required): Require explicit interface for NO_ARG_CHECK. 2013-04-12 Tobias Burnus <burnus@net-b.de> PR fortran/39505 * gfortran.dg/no_arg_check_1.f90: New. * gfortran.dg/no_arg_check_2.f90: New. * gfortran.dg/no_arg_check_3.f90: New. From-SVN: r198011
2013-04-12re PR fortran/56261 ([OOP] seg fault call procedure pointer on polymorphic ↵Janus Weil1-1/+1
array) 2013-04-12 Janus Weil <janus@gcc.gnu.org> PR fortran/56261 * gfortran.h (gfc_explicit_interface_required): New prototype. * expr.c (gfc_check_pointer_assign): Check if an explicit interface is required in a proc-ptr assignment. * interface.c (check_result_characteristics): Extra check. * resolve.c (gfc_explicit_interface_required): New function. (resolve_global_procedure): Use new function 'gfc_explicit_interface_required'. Do a full interface check. 2013-04-12 Janus Weil <janus@gcc.gnu.org> PR fortran/56261 * gfortran.dg/auto_char_len_4.f90: Add -pedantic. Changed error. * gfortran.dg/assumed_rank_4.f90: Modified error wording. * gfortran.dg/block_11.f90: Fix invalid test case. * gfortran.dg/function_types_3.f90: Add new error message. * gfortran.dg/global_references_1.f90: Ditto. * gfortran.dg/import2.f90: Remove unneeded parts. * gfortran.dg/import6.f90: Fix invalid test case. * gfortran.dg/proc_decl_2.f90: Ditto. * gfortran.dg/proc_decl_9.f90: Ditto. * gfortran.dg/proc_decl_18.f90: Ditto. * gfortran.dg/proc_ptr_40.f90: New. * gfortran.dg/whole_file_7.f90: Modified error wording. * gfortran.dg/whole_file_16.f90: Ditto. * gfortran.dg/whole_file_17.f90: Add -pedantic. * gfortran.dg/whole_file_18.f90: Modified error wording. * gfortran.dg/whole_file_20.f03: Ditto. * gfortran.fortran-torture/execute/intrinsic_associated.f90: Fix invalid test case. From-SVN: r197922
2013-04-11Replace enum gfc_try with bool type.Janne Blomqvist1-163/+159
2013-04-11 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.h: Remove enum gfc_try, replace gfc_try with bool type. * arith.c: Replace gfc_try with bool type. * array.c: Likewise. * check.c: Likewise. * class.c: Likewise. * cpp.c: Likewise. * cpp.h: Likewise. * data.c: Likewise. * data.h: Likewise. * decl.c: Likewise. * error.c: Likewise. * expr.c: Likewise. * f95-lang.c: Likewise. * interface.c: Likewise. * intrinsic.c: Likewise. * intrinsic.h: Likewise. * io.c: Likewise. * match.c: Likewise. * match.h: Likewise. * module.c: Likewise. * openmp.c: Likewise. * parse.c: Likewise. * parse.h: Likewise. * primary.c: Likewise. * resolve.c: Likewise. * scanner.c: Likewise. * simplify.c: Likewise. * symbol.c: Likewise. * trans-intrinsic.c: Likewise. * trans-openmp.c: Likewise. * trans-stmt.c: Likewise. * trans-types.c: Likewise. From-SVN: r197682
2013-04-03re PR fortran/56284 ([OOP] ICE with alternate return in type-bound procedure)Janus Weil1-0/+3
2013-04-03 Janus Weil <janus@gcc.gnu.org> PR fortran/56284 PR fortran/40881 * decl.c (gfc_match_formal_arglist): Warn about alternate-return arguments. * interface.c (check_dummy_characteristics): Return if symbols are NULL. 2013-04-03 Janus Weil <janus@gcc.gnu.org> PR fortran/56284 PR fortran/40881 * gfortran.dg/altreturn_8.f90: New. * gfortran.dg/altreturn_2.f90: Add -std=legacy. * gfortran.dg/intrinsic_actual_3.f90: Ditto. * gfortran.dg/invalid_interface_assignment.f90: Ditto. From-SVN: r197389
2013-01-29re PR fortran/54107 ([F03] Memory hog with abstract interface)Janus Weil1-20/+31
2013-01-29 Janus Weil <janus@gcc.gnu.org> Mikael Morin <mikael@gcc.gnu.org> PR fortran/54107 * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'. (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols, gfc_expr_replace_comp): Delete. (gfc_sym_get_dummy_args): New prototype. * dependency.c (gfc_check_fncall_dependency): Use 'gfc_sym_get_dummy_args'. * expr.c (gfc_is_constant_expr): Ditto. (replace_symbol,gfc_expr_replace_symbols,replace_comp, gfc_expr_replace_comp): Deleted. * frontend-passes.c (doloop_code,do_function): Use 'gfc_sym_get_dummy_args'. * interface.c (gfc_check_operator_interface,gfc_compare_interfaces, gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol, gfc_check_typebound_override): Ditto. * module.c (MOD_VERSION): Bump module version. (mio_component): Do not read/write 'formal' and 'formal_ns'. * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not copy formal args, but just keep a pointer to the interface. (resolve_function,resolve_call,resolve_typebound_generic_call, resolve_ppc_call,resolve_expr_ppc,generate_component_assignments, resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity, resolve_typebound_procedure,check_uop_procedure): Use 'gfc_sym_get_dummy_args'. * symbol.c (free_components): Do not free 'formal' and 'formal_ns'. (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted. (gfc_sym_get_dummy_args): New function. * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args): Use 'gfc_sym_get_dummy_args'. * trans-decl.c (build_function_decl,create_function_arglist, build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars, add_argument_checking): Ditto. * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call, gfc_conv_statement_function): Ditto. * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto. * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto. 2013-01-29 Janus Weil <janus@gcc.gnu.org> Mikael Morin <mikael@gcc.gnu.org> PR fortran/54107 * gfortran.dg/proc_ptr_comp_36.f90: New. Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org> From-SVN: r195562
2013-01-10Update copyright years in gcc/Richard Sandiford1-3/+1
From-SVN: r195098