Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
From-SVN: r232055
|
|
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-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-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-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-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
|
|
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-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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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-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
|
|
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
|
|
From-SVN: r219188
|
|
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-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
|
|
!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-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
|
|
!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-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-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-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
|
|
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
|
|
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
|
|
From-SVN: r206289
|
|
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
|
|
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-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-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
|
|
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-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-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
|
|
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
|
|
(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
|
|
(-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-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-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
|
|
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
|
|
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
|
|
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-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-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
|
|
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-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-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-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
|
|
From-SVN: r195098
|