2010-07-31 Release Manager
|
2010-07-31 Release Manager
|
|
|
* GCC 4.5.1 released.
|
* GCC 4.5.1 released.
|
|
|
2010-07-21 Steven G. Kargl
|
2010-07-21 Steven G. Kargl
|
|
|
PR fortran/44929
|
PR fortran/44929
|
* Revert my commit r162326 for this PR.
|
* Revert my commit r162326 for this PR.
|
|
|
2010-07-19 Steven G. Kargl
|
2010-07-19 Steven G. Kargl
|
|
|
PR fortran/44929
|
PR fortran/44929
|
* fortran/match.c (match_type_spec): Check for derived type before
|
* fortran/match.c (match_type_spec): Check for derived type before
|
intrinsic types.
|
intrinsic types.
|
|
|
2010-07-18 Daniel Franke
|
2010-07-18 Daniel Franke
|
Paul Thomas
|
Paul Thomas
|
|
|
PR fortran/30668
|
PR fortran/30668
|
PR fortran/31346
|
PR fortran/31346
|
PR fortran/34260
|
PR fortran/34260
|
* resolve.c (resolve_global_procedure): Improved checking if an
|
* resolve.c (resolve_global_procedure): Improved checking if an
|
explicit interface is required.
|
explicit interface is required.
|
|
|
PR fortran/40011
|
PR fortran/40011
|
* resolve.c (resolve_global_procedure): Resolve the gsymbol's
|
* resolve.c (resolve_global_procedure): Resolve the gsymbol's
|
namespace before trying to reorder the gsymbols.
|
namespace before trying to reorder the gsymbols.
|
|
|
2010-07-11 Paul Thomas
|
2010-07-11 Paul Thomas
|
|
|
PR fortran/44773
|
PR fortran/44773
|
* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
|
* trans-expr.c (arrayfunc_assign_needs_temporary): No temporary
|
if the lhs has never been host associated, as well as not being
|
if the lhs has never been host associated, as well as not being
|
use associated, a pointer or a target.
|
use associated, a pointer or a target.
|
* resolve.c (resolve_variable): Mark variables that are host
|
* resolve.c (resolve_variable): Mark variables that are host
|
associated.
|
associated.
|
* gfortran.h: Add the host_assoc bit to the symbol_attribute
|
* gfortran.h: Add the host_assoc bit to the symbol_attribute
|
structure.
|
structure.
|
|
|
2010-07-08 Jakub Jelinek
|
2010-07-08 Jakub Jelinek
|
|
|
PR fortran/44847
|
PR fortran/44847
|
* match.c (match_exit_cycle): Error on EXIT also from collapsed
|
* match.c (match_exit_cycle): Error on EXIT also from collapsed
|
!$omp do loops. Error on CYCLE to non-innermost collapsed
|
!$omp do loops. Error on CYCLE to non-innermost collapsed
|
!$omp do loops.
|
!$omp do loops.
|
|
|
2010-06-29 Paul Thomas
|
2010-06-29 Paul Thomas
|
|
|
PR fortran/44582
|
PR fortran/44582
|
* trans-expr.c (arrayfunc_assign_needs_temporary): New function
|
* trans-expr.c (arrayfunc_assign_needs_temporary): New function
|
to determine if a function assignment can be made without a
|
to determine if a function assignment can be made without a
|
temporary.
|
temporary.
|
(gfc_trans_arrayfunc_assign): Move all the conditions that
|
(gfc_trans_arrayfunc_assign): Move all the conditions that
|
suppress the direct function call to the above new functon and
|
suppress the direct function call to the above new functon and
|
call it.
|
call it.
|
|
|
2010-06-27 Paul Thomas
|
2010-06-27 Paul Thomas
|
|
|
PR fortran/43841
|
PR fortran/43841
|
PR fortran/43843
|
PR fortran/43843
|
* trans-expr.c (gfc_conv_expr): Supply an address expression for
|
* trans-expr.c (gfc_conv_expr): Supply an address expression for
|
GFC_SS_REFERENCE.
|
GFC_SS_REFERENCE.
|
(gfc_conv_expr_reference): Call gfc_conv_expr and return for
|
(gfc_conv_expr_reference): Call gfc_conv_expr and return for
|
GFC_SS_REFERENCE.
|
GFC_SS_REFERENCE.
|
* trans-array.c (gfc_add_loop_ss_code): Store the value rather
|
* trans-array.c (gfc_add_loop_ss_code): Store the value rather
|
than the address of a GFC_SS_REFERENCE.
|
than the address of a GFC_SS_REFERENCE.
|
* trans.h : Change comment on GFC_SS_REFERENCE.
|
* trans.h : Change comment on GFC_SS_REFERENCE.
|
|
|
2010-06-22 Tobias Burnus
|
2010-06-22 Tobias Burnus
|
|
|
PR fortran/44556
|
PR fortran/44556
|
* resolve.c (resolve_allocate_deallocate): Properly check
|
* resolve.c (resolve_allocate_deallocate): Properly check
|
part-refs in stat=/errmsg= for invalid use.
|
part-refs in stat=/errmsg= for invalid use.
|
|
|
2010-06-15 Tobias Burnus
|
2010-06-15 Tobias Burnus
|
|
|
* gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
|
* gfc-internals.texi (copyrights-gfortran): Fix copyright year format.
|
* gfortran.texi (copyrights-gfortran): Ditto.
|
* gfortran.texi (copyrights-gfortran): Ditto.
|
|
|
2010-06-15 Jakub Jelinek
|
2010-06-15 Jakub Jelinek
|
|
|
PR fortran/44536
|
PR fortran/44536
|
* trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
|
* trans-openmp.c (gfc_omp_predetermined_sharing): Don't return
|
OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
|
OMP_CLAUSE_DEFAULT_SHARED for artificial vars with
|
GFC_DECL_SAVED_DESCRIPTOR set.
|
GFC_DECL_SAVED_DESCRIPTOR set.
|
(gfc_omp_report_decl): New function.
|
(gfc_omp_report_decl): New function.
|
* trans.h (gfc_omp_report_decl): New prototype.
|
* trans.h (gfc_omp_report_decl): New prototype.
|
* f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
|
* f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine.
|
|
|
2010-06-12 Daniel Franke
|
2010-06-12 Daniel Franke
|
|
|
PR fortran/44347
|
PR fortran/44347
|
* check.c (gfc_check_selected_real_kind): Verify that the
|
* check.c (gfc_check_selected_real_kind): Verify that the
|
actual arguments are scalar.
|
actual arguments are scalar.
|
|
|
2010-06-12 Janus Weil
|
2010-06-12 Janus Weil
|
|
|
PR fortran/44430
|
PR fortran/44430
|
* dump-parse-tree.c (show_symbol): Avoid infinite loop.
|
* dump-parse-tree.c (show_symbol): Avoid infinite loop.
|
|
|
2010-06-09 Steven G. Kargl
|
2010-06-09 Steven G. Kargl
|
|
|
* fortran/intrinsic.c (add_functions): Change gfc_check_btest,
|
* fortran/intrinsic.c (add_functions): Change gfc_check_btest,
|
gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
|
gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn.
|
* fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
|
* fortran/intrinsic.h: Remove prototypes for gfc_check_btest,
|
gfc_check_ibclr, and gfc_check_ibset. Add prototype for
|
gfc_check_ibclr, and gfc_check_ibset. Add prototype for
|
gfc_check_bitfcn.
|
gfc_check_bitfcn.
|
* fortran/check.c (nonnegative_check, less_than_bitsize1,
|
* fortran/check.c (nonnegative_check, less_than_bitsize1,
|
less_than_bitsize2): New functions.
|
less_than_bitsize2): New functions.
|
(gfc_check_btest): Renamed to gfc_check_bitfcn. Use
|
(gfc_check_btest): Renamed to gfc_check_bitfcn. Use
|
nonnegative_check and less_than_bitsize1.
|
nonnegative_check and less_than_bitsize1.
|
(gfc_check_ibclr, gfc_check_ibset): Removed.
|
(gfc_check_ibclr, gfc_check_ibset): Removed.
|
(gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
|
(gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and
|
less_than_bitsize1.
|
less_than_bitsize1.
|
|
|
2010-06-02 Tobias Burnus
|
2010-06-02 Tobias Burnus
|
|
|
PR fortran/44360
|
PR fortran/44360
|
* parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
|
* parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated
|
symbols.
|
symbols.
|
|
|
2010-05-19 Tobias Burnus
|
2010-05-19 Tobias Burnus
|
|
|
PR fortran/43591
|
PR fortran/43591
|
* expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
|
* expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
|
proc-pointers and type-bound procedures.
|
proc-pointers and type-bound procedures.
|
(gfc_specification_expr): Check proc-pointers for pureness.
|
(gfc_specification_expr): Check proc-pointers for pureness.
|
|
|
2010-05-14 Steven G. Kargl
|
2010-05-14 Steven G. Kargl
|
|
|
PR fortran/44135
|
PR fortran/44135
|
* fortran/interface.c (get_sym_storage_size): Use signed instead of
|
* fortran/interface.c (get_sym_storage_size): Use signed instead of
|
unsigned mpz_get_?i routines.
|
unsigned mpz_get_?i routines.
|
|
|
2010-05-13 Jakub Jelinek
|
2010-05-13 Jakub Jelinek
|
|
|
PR fortran/44036
|
PR fortran/44036
|
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
|
* openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
|
variable lists.
|
variable lists.
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
|
* trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
|
by reference dummy procedures or non-dummy procedure pointers.
|
by reference dummy procedures or non-dummy procedure pointers.
|
(gfc_omp_predetermined_sharing): Return
|
(gfc_omp_predetermined_sharing): Return
|
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
|
OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
|
|
|
2010-05-12 Daniel Franke
|
2010-05-12 Daniel Franke
|
|
|
PR fortran/40728
|
PR fortran/40728
|
* intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
|
* intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
|
as external.
|
as external.
|
|
|
2010-05-06 Tobias Burnus
|
2010-05-06 Tobias Burnus
|
|
|
PR fortran/43985
|
PR fortran/43985
|
* trans-types.c (gfc_sym_type): Mark Cray pointees as
|
* trans-types.c (gfc_sym_type): Mark Cray pointees as
|
GFC_POINTER_TYPE_P.
|
GFC_POINTER_TYPE_P.
|
|
|
2010-05-05 Steven G. Kargl
|
2010-05-05 Steven G. Kargl
|
|
|
PR fortran/43592
|
PR fortran/43592
|
* fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
|
* fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
|
|
|
2010-04-25 Janne Blomqvist
|
2010-04-25 Janne Blomqvist
|
|
|
PR fortran/40539
|
PR fortran/40539
|
* gcc/fortran/gfortran.texi: Add section about representation of
|
* gcc/fortran/gfortran.texi: Add section about representation of
|
LOGICAL variables.
|
LOGICAL variables.
|
|
|
2010-04-24 Steven G. Kargl
|
2010-04-24 Steven G. Kargl
|
|
|
PR fortran/30073
|
PR fortran/30073
|
PR fortran/43793
|
PR fortran/43793
|
* trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
|
* trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
|
of mucking with a tree directly.
|
of mucking with a tree directly.
|
|
|
2010-04-24 Paul Thomas
|
2010-04-24 Paul Thomas
|
|
|
PR fortran/43227
|
PR fortran/43227
|
* resolve.c (resolve_fl_derived): If a component character
|
* resolve.c (resolve_fl_derived): If a component character
|
length has not been resolved, do so now.
|
length has not been resolved, do so now.
|
(resolve_symbol): The same as above for a symbol character
|
(resolve_symbol): The same as above for a symbol character
|
length.
|
length.
|
* trans-decl.c (gfc_create_module_variable): A 'length' decl is
|
* trans-decl.c (gfc_create_module_variable): A 'length' decl is
|
not needed for a character valued, procedure pointer.
|
not needed for a character valued, procedure pointer.
|
|
|
PR fortran/43266
|
PR fortran/43266
|
* resolve.c (ensure_not_abstract_walker): If 'overriding' is
|
* resolve.c (ensure_not_abstract_walker): If 'overriding' is
|
not found, return FAILURE rather than ICEing.
|
not found, return FAILURE rather than ICEing.
|
|
|
2010-04-21 Jakub Jelinek
|
2010-04-21 Jakub Jelinek
|
|
|
PR fortran/43836
|
PR fortran/43836
|
* f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
|
* f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
|
the decl.
|
the decl.
|
|
|
2010-04-20 Harald Anlauf
|
2010-04-20 Harald Anlauf
|
|
|
* intrinsic.c (sort_actual): Remove 'is' in error message.
|
* intrinsic.c (sort_actual): Remove 'is' in error message.
|
|
|
2010-04-20 Jakub Jelinek
|
2010-04-20 Jakub Jelinek
|
|
|
PR fortran/43339
|
PR fortran/43339
|
* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
|
* openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
|
sequential loops private in the innermost containing task region.
|
sequential loops private in the innermost containing task region.
|
|
|
2010-04-17 Steven G. Kargl
|
2010-04-17 Steven G. Kargl
|
|
|
PR fortran/31538
|
PR fortran/31538
|
* fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
|
* fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
|
gfc_msg_bounds by using 'Array bound mismatch' directly.
|
gfc_msg_bounds by using 'Array bound mismatch' directly.
|
(gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
|
(gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword
|
error message to include the mismatch in the extent of array bound.
|
error message to include the mismatch in the extent of array bound.
|
* fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
|
* fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
|
* fortran/trans.h: Remove extern definition of gfc_msg_bounds.
|
* fortran/trans.h: Remove extern definition of gfc_msg_bounds.
|
|
|
2010-04-16 Steven G. Kargl
|
2010-04-16 Steven G. Kargl
|
|
|
PR fortran/30073
|
PR fortran/30073
|
* trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
|
* trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
|
block of code. Set name to the variable associated with the descriptor.
|
block of code. Set name to the variable associated with the descriptor.
|
|
|
2010-04-14 Release Manager
|
2010-04-14 Release Manager
|
|
|
* GCC 4.5.0 released.
|
* GCC 4.5.0 released.
|
|
|
2010-03-31 Paul Thomas
|
2010-03-31 Paul Thomas
|
|
|
* ioparm.def : Update copyright.
|
* ioparm.def : Update copyright.
|
* lang.opt : ditto
|
* lang.opt : ditto
|
* trans-array.c : ditto
|
* trans-array.c : ditto
|
* trans-array.h : ditto
|
* trans-array.h : ditto
|
* expr.c: ditto
|
* expr.c: ditto
|
* trans-types.c: ditto
|
* trans-types.c: ditto
|
* dependency.c : ditto
|
* dependency.c : ditto
|
* gfortran.h : ditto
|
* gfortran.h : ditto
|
* options.c : ditto
|
* options.c : ditto
|
* trans-io.c : ditto
|
* trans-io.c : ditto
|
* trans-intrinsic.c : ditto
|
* trans-intrinsic.c : ditto
|
* libgfortran.h : ditto
|
* libgfortran.h : ditto
|
* invoke.texi : ditto
|
* invoke.texi : ditto
|
* intrinsic.texi : ditto
|
* intrinsic.texi : ditto
|
* trans.c : ditto
|
* trans.c : ditto
|
* trans.h : ditto
|
* trans.h : ditto
|
* intrinsic.c : ditto
|
* intrinsic.c : ditto
|
* interface.c : ditto
|
* interface.c : ditto
|
* iresolve.c : ditto
|
* iresolve.c : ditto
|
* trans-stmt.c : ditto
|
* trans-stmt.c : ditto
|
* trans-stmt.h : ditto
|
* trans-stmt.h : ditto
|
* parse,c : ditto
|
* parse,c : ditto
|
* match.h : ditto
|
* match.h : ditto
|
* error.c : ditto
|
* error.c : ditto
|
|
|
2010-03-20 Paul Thomas
|
2010-03-20 Paul Thomas
|
|
|
PR fortran/43450
|
PR fortran/43450
|
* trans-decl.c (gfc_create_module_variable): With -fwhole-file
|
* trans-decl.c (gfc_create_module_variable): With -fwhole-file
|
do not assert the context of derived types.
|
do not assert the context of derived types.
|
|
|
2010-03-20 Jerry DeLisle
|
2010-03-20 Jerry DeLisle
|
|
|
PR fortran/43409
|
PR fortran/43409
|
* ioparm.def: Change inquire size variable to type pointer to
|
* ioparm.def: Change inquire size variable to type pointer to
|
GFC_IO_INT type.
|
GFC_IO_INT type.
|
|
|
2010-03-18 Paul Thomas
|
2010-03-18 Paul Thomas
|
|
|
PR fortran/43039
|
PR fortran/43039
|
* trans-expr.c (conv_parent_component_references): Ensure that
|
* trans-expr.c (conv_parent_component_references): Ensure that
|
'dt' has a backend_decl.
|
'dt' has a backend_decl.
|
|
|
PR fortran/43043
|
PR fortran/43043
|
* trans-expr.c (gfc_conv_structure): Ensure that the derived
|
* trans-expr.c (gfc_conv_structure): Ensure that the derived
|
type has a backend_decl.
|
type has a backend_decl.
|
|
|
PR fortran/43044
|
PR fortran/43044
|
* resolve.c (resolve_global_procedure): Check that the 'cl'
|
* resolve.c (resolve_global_procedure): Check that the 'cl'
|
structure is not NULL.
|
structure is not NULL.
|
|
|
2010-03-18 Shujing Zhao
|
2010-03-18 Shujing Zhao
|
|
|
* lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
|
* lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
|
redundant tab.
|
redundant tab.
|
|
|
2010-03-17 Tobias Burnus
|
2010-03-17 Tobias Burnus
|
|
|
PR fortran/43331
|
PR fortran/43331
|
* trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
|
* trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
|
gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
|
gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
|
check.
|
check.
|
* decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
|
* decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
|
pointees as having explizit size.
|
pointees as having explizit size.
|
* expr.c (gfc_check_assign): Remove now unreachable Cray pointee
|
* expr.c (gfc_check_assign): Remove now unreachable Cray pointee
|
check.
|
check.
|
* trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
|
* trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
|
(gfc_sym_type): Don't mark Cray pointees as restricted pointers.
|
(gfc_sym_type): Don't mark Cray pointees as restricted pointers.
|
* resolve.c (resolve_symbol): Handle cp_was_assumed.
|
* resolve.c (resolve_symbol): Handle cp_was_assumed.
|
* trans-decl.c (gfc_trans_deferred_vars): Ditto.
|
* trans-decl.c (gfc_trans_deferred_vars): Ditto.
|
(gfc_finish_var_decl): Don't mark Cray pointees as restricted
|
(gfc_finish_var_decl): Don't mark Cray pointees as restricted
|
pointers.
|
pointers.
|
|
|
2010-03-14 Tobias Burnus
|
2010-03-14 Tobias Burnus
|
|
|
PR fortran/43362
|
PR fortran/43362
|
* resolve.c (resolve_structure_cons): Add missing PURE constraint.
|
* resolve.c (resolve_structure_cons): Add missing PURE constraint.
|
(resolve_ordinary_assign): Add check to avoid segfault.
|
(resolve_ordinary_assign): Add check to avoid segfault.
|
|
|
2010-03-12 Paul Thomas
|
2010-03-12 Paul Thomas
|
|
|
PR fortran/43291
|
PR fortran/43291
|
PR fortran/43326
|
PR fortran/43326
|
* resolve.c (resolve_compcall): Add new boolean dummy argument
|
* resolve.c (resolve_compcall): Add new boolean dummy argument
|
'class_members'. Only resolve expression at end if false.
|
'class_members'. Only resolve expression at end if false.
|
Remove redundant, static variable 'class_object'.
|
Remove redundant, static variable 'class_object'.
|
(check_class_members): Add extra argument to call of
|
(check_class_members): Add extra argument to call of
|
resolve_compcall.
|
resolve_compcall.
|
(resolve_typebound_function): Renamed resolve_class_compcall.
|
(resolve_typebound_function): Renamed resolve_class_compcall.
|
Do all the detection of class references here. Correct calls to
|
Do all the detection of class references here. Correct calls to
|
resolve_compcall for extra argument.
|
resolve_compcall for extra argument.
|
(resolve_typebound_subroutine): resolve_class_typebound_call
|
(resolve_typebound_subroutine): resolve_class_typebound_call
|
renamed. Otherwise same as resolve_typebound_function.
|
renamed. Otherwise same as resolve_typebound_function.
|
(gfc_resolve_expr): Call resolve_typebound_function.
|
(gfc_resolve_expr): Call resolve_typebound_function.
|
(resolve_code): Call resolve_typebound_subroutine.
|
(resolve_code): Call resolve_typebound_subroutine.
|
|
|
2010-03-10 Tobias Burnus
|
2010-03-10 Tobias Burnus
|
|
|
PR fortran/43303
|
PR fortran/43303
|
* symbol.c (get_iso_c_sym): Set sym->result.
|
* symbol.c (get_iso_c_sym): Set sym->result.
|
|
|
2010-03-08 Janus Weil
|
2010-03-08 Janus Weil
|
|
|
PR fortran/43256
|
PR fortran/43256
|
* resolve.c (resolve_compcall): Don't set 'value.function.name' here
|
* resolve.c (resolve_compcall): Don't set 'value.function.name' here
|
for TBPs, otherwise they will not be resolved properly.
|
for TBPs, otherwise they will not be resolved properly.
|
(resolve_function): Use 'value.function.esym' instead of
|
(resolve_function): Use 'value.function.esym' instead of
|
'value.function.name' to check if we're dealing with a TBP.
|
'value.function.name' to check if we're dealing with a TBP.
|
(check_class_members): Set correct type of passed object for all TBPs,
|
(check_class_members): Set correct type of passed object for all TBPs,
|
not only generic ones, except if the type is abstract.
|
not only generic ones, except if the type is abstract.
|
|
|
2010-03-04 Janus Weil
|
2010-03-04 Janus Weil
|
|
|
PR fortran/43244
|
PR fortran/43244
|
* decl.c (gfc_match_final_decl): Make sure variable names starting with
|
* decl.c (gfc_match_final_decl): Make sure variable names starting with
|
'final...' are not misinterpreted as FINAL statements.
|
'final...' are not misinterpreted as FINAL statements.
|
|
|
2010-03-03 Paul Thomas
|
2010-03-03 Paul Thomas
|
|
|
PR fortran/43243
|
PR fortran/43243
|
* trans-array.c (gfc_conv_array_parameter): Contiguous refs to
|
* trans-array.c (gfc_conv_array_parameter): Contiguous refs to
|
allocatable ultimate components do not need temporaries, whilst
|
allocatable ultimate components do not need temporaries, whilst
|
ultimate pointer components do.
|
ultimate pointer components do.
|
|
|
2010-03-03 Janus Weil
|
2010-03-03 Janus Weil
|
|
|
PR fortran/43169
|
PR fortran/43169
|
* resolve.c (resolve_code): Correctly set gfc_current_ns for
|
* resolve.c (resolve_code): Correctly set gfc_current_ns for
|
EXEC_SELECT_TYPE.
|
EXEC_SELECT_TYPE.
|
(gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
|
(gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
|
(gfc_pure): Ditto.
|
(gfc_pure): Ditto.
|
|
|
2010-03-02 Paul Thomas
|
2010-03-02 Paul Thomas
|
|
|
PR fortran/43180
|
PR fortran/43180
|
* trans-array.c (gfc_conv_array_parameter): A full array of
|
* trans-array.c (gfc_conv_array_parameter): A full array of
|
derived type need not be restricted to a symbol without an
|
derived type need not be restricted to a symbol without an
|
array spec to use the call to gfc_conv_expr_descriptor.
|
array spec to use the call to gfc_conv_expr_descriptor.
|
|
|
PR fortran/43173
|
PR fortran/43173
|
* trans-array.c (gfc_conv_array_parameter): Contiguous refs to
|
* trans-array.c (gfc_conv_array_parameter): Contiguous refs to
|
allocatable arrays do not need temporaries.
|
allocatable arrays do not need temporaries.
|
|
|
2010-03-01 Tobias Burnus
|
2010-03-01 Tobias Burnus
|
|
|
PR fortran/43199
|
PR fortran/43199
|
* resolve.c (find_array_spec): Handle REF_COMPONENT with
|
* resolve.c (find_array_spec): Handle REF_COMPONENT with
|
CLASS components.
|
CLASS components.
|
|
|
2010-02-28 Tobias Burnus
|
2010-02-28 Tobias Burnus
|
|
|
PR fortran/43205
|
PR fortran/43205
|
* trans-expr.c (is_zero_initializer_p): Move up in the file.
|
* trans-expr.c (is_zero_initializer_p): Move up in the file.
|
(gfc_conv_initializer): Handle zero initializer as special case.
|
(gfc_conv_initializer): Handle zero initializer as special case.
|
|
|
2010-02-27 Tobias Burnus
|
2010-02-27 Tobias Burnus
|
|
|
PR fortran/43185
|
PR fortran/43185
|
* resolve.c (resolve_fl_variable_derived): Imply SAVE
|
* resolve.c (resolve_fl_variable_derived): Imply SAVE
|
for module variables for Fortran 2008.
|
for module variables for Fortran 2008.
|
|
|
2010-02-25 Jakub Jelinek
|
2010-02-25 Jakub Jelinek
|
|
|
PR debug/43166
|
PR debug/43166
|
* trans-common.c (build_common_decl): Also update DECL_MODE,
|
* trans-common.c (build_common_decl): Also update DECL_MODE,
|
and DECL_SIZE when encountering a larger common block and call
|
and DECL_SIZE when encountering a larger common block and call
|
layout_decl.
|
layout_decl.
|
|
|
2010-02-24 Tobias Burnus
|
2010-02-24 Tobias Burnus
|
|
|
PR fortran/43042
|
PR fortran/43042
|
* trans-expr.c (gfc_conv_initializer): Call directly
|
* trans-expr.c (gfc_conv_initializer): Call directly
|
gfc_conv_constant for C_NULL_(FUN)PTR.
|
gfc_conv_constant for C_NULL_(FUN)PTR.
|
|
|
2010-02-22 Paul Thomas
|
2010-02-22 Paul Thomas
|
|
|
PR fortran/43072
|
PR fortran/43072
|
* dependency.c (gfc_full_array_ref_p): Check for contiguous by
|
* dependency.c (gfc_full_array_ref_p): Check for contiguous by
|
checking the rest of the dimensions for elements.
|
checking the rest of the dimensions for elements.
|
|
|
2010-02-21 Tobias Burnus
|
2010-02-21 Tobias Burnus
|
|
|
PR fortran/35259
|
PR fortran/35259
|
* gfortran.h (gfc_option_t): New flag -fprotect-parens.
|
* gfortran.h (gfc_option_t): New flag -fprotect-parens.
|
* lang.opt: Ditto.
|
* lang.opt: Ditto.
|
* option.c (gfc_init_options,gfc_handle_option): Ditto.
|
* option.c (gfc_init_options,gfc_handle_option): Ditto.
|
* trans-expr.c (gfc_conv_expr_op): Use the flag.
|
* trans-expr.c (gfc_conv_expr_op): Use the flag.
|
* invoke.texi: Document new -fno-protect-parens flag.
|
* invoke.texi: Document new -fno-protect-parens flag.
|
|
|
2010-02-20 Paul Thomas
|
2010-02-20 Paul Thomas
|
|
|
PR fortran/36932
|
PR fortran/36932
|
PR fortran/36933
|
PR fortran/36933
|
PR fortran/43072
|
PR fortran/43072
|
PR fortran/43111
|
PR fortran/43111
|
* dependency.c (gfc_check_argument_var_dependency): Use enum
|
* dependency.c (gfc_check_argument_var_dependency): Use enum
|
value instead of arithmetic vaue for 'elemental'.
|
value instead of arithmetic vaue for 'elemental'.
|
(check_data_pointer_types): New function.
|
(check_data_pointer_types): New function.
|
(gfc_check_dependency): Call check_data_pointer_types.
|
(gfc_check_dependency): Call check_data_pointer_types.
|
* trans-array.h : Change fourth argument of
|
* trans-array.h : Change fourth argument of
|
gfc_conv_array_parameter to boolean.
|
gfc_conv_array_parameter to boolean.
|
* trans-array.c (gfc_conv_array_parameter): A contiguous array
|
* trans-array.c (gfc_conv_array_parameter): A contiguous array
|
can be a dummy but it must not be assumed shape or deferred.
|
can be a dummy but it must not be assumed shape or deferred.
|
Change fourth argument to boolean. Array constructor exprs will
|
Change fourth argument to boolean. Array constructor exprs will
|
always be contiguous and do not need packing and unpacking.
|
always be contiguous and do not need packing and unpacking.
|
* trans-expr.c (gfc_conv_procedure_call): Clean up some white
|
* trans-expr.c (gfc_conv_procedure_call): Clean up some white
|
space and change fourth argument of gfc_conv_array_parameter
|
space and change fourth argument of gfc_conv_array_parameter
|
to boolean.
|
to boolean.
|
(gfc_trans_arrayfunc_assign): Change fourth argument of
|
(gfc_trans_arrayfunc_assign): Change fourth argument of
|
gfc_conv_array_parameter to boolean.
|
gfc_conv_array_parameter to boolean.
|
* trans-io.c (gfc_convert_array_to_string): The same.
|
* trans-io.c (gfc_convert_array_to_string): The same.
|
* trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
|
* trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
|
|
|
2010-02-20 Tobias Burnus
|
2010-02-20 Tobias Burnus
|
|
|
PR fortran/42958
|
PR fortran/42958
|
* libgfortran.h: Add GFC_RTCHECK_MEM.
|
* libgfortran.h: Add GFC_RTCHECK_MEM.
|
* invoke.texi (-fcheck=): Document -fcheck=mem.
|
* invoke.texi (-fcheck=): Document -fcheck=mem.
|
* tranc.c (gfc_call_malloc): Remove negative-size run-time error
|
* tranc.c (gfc_call_malloc): Remove negative-size run-time error
|
and enable malloc-success check only with -fcheck=mem.
|
and enable malloc-success check only with -fcheck=mem.
|
* option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
|
* option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
|
|
|
2010-02-16 Tobias Burnus
|
2010-02-16 Tobias Burnus
|
|
|
PR fortran/43040
|
PR fortran/43040
|
* gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
|
* gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
|
* intrinsic.c (add_functions): Ditto.
|
* intrinsic.c (add_functions): Ditto.
|
* iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
|
* iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
|
* mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
|
* mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
|
|
|
2010-02-14 Jerry DeLisle
|
2010-02-14 Jerry DeLisle
|
|
|
PR fortran/32382
|
PR fortran/32382
|
* trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
|
* trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
|
gfc_trans_do prototype.
|
gfc_trans_do prototype.
|
* trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
|
* trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in
|
a loop exit condition. If exit condition is given, build the loop exit
|
a loop exit condition. If exit condition is given, build the loop exit
|
code, checking IO results of implied do loops in READ and WRITE.
|
code, checking IO results of implied do loops in READ and WRITE.
|
(gfc_trans_do): Likewise.
|
(gfc_trans_do): Likewise.
|
* trans.c (trans_code): New static work function, previously
|
* trans.c (trans_code): New static work function, previously
|
gfc_trans_code. Passes exit condition to gfc_trans_do.
|
gfc_trans_code. Passes exit condition to gfc_trans_do.
|
(gfc_trans_code): Calls trans_code with NULL_TREE condition.
|
(gfc_trans_code): Calls trans_code with NULL_TREE condition.
|
(gfc_trans_code_cond): Calls trans_code with loop exit condition.
|
(gfc_trans_code_cond): Calls trans_code with loop exit condition.
|
* trans-io.c (build_dt): Build an exit condition to allow checking IO
|
* trans-io.c (build_dt): Build an exit condition to allow checking IO
|
result status bits in the dtparm structure. Use this condition in call
|
result status bits in the dtparm structure. Use this condition in call
|
to gfc_trans_code_cond.
|
to gfc_trans_code_cond.
|
|
|
2010-02-13 Paul Thomas
|
2010-02-13 Paul Thomas
|
|
|
PR fortran/41113
|
PR fortran/41113
|
PR fortran/41117
|
PR fortran/41117
|
* trans-array.c (gfc_conv_array_parameter): Use
|
* trans-array.c (gfc_conv_array_parameter): Use
|
gfc_full_array_ref_p to detect full and contiguous variable
|
gfc_full_array_ref_p to detect full and contiguous variable
|
arrays. Full array components and contiguous arrays do not need
|
arrays. Full array components and contiguous arrays do not need
|
internal_pack and internal_unpack.
|
internal_pack and internal_unpack.
|
|
|
2010-02-11 Jakub Jelinek
|
2010-02-11 Jakub Jelinek
|
|
|
PR fortran/43030
|
PR fortran/43030
|
* resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
|
* resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
|
|
|
PR fortran/43029
|
PR fortran/43029
|
* decl.c (enumerator_decl): Don't call gfc_free_enum_history
|
* decl.c (enumerator_decl): Don't call gfc_free_enum_history
|
here.
|
here.
|
(gfc_match_enumerator_def): But here whenever enumerator_decl returns
|
(gfc_match_enumerator_def): But here whenever enumerator_decl returns
|
MATCH_ERROR.
|
MATCH_ERROR.
|
|
|
2010-02-10 Joost VandeVondele
|
2010-02-10 Joost VandeVondele
|
Tobias Burnus
|
Tobias Burnus
|
|
|
PR fortran/40823
|
PR fortran/40823
|
* decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
|
* decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
|
|
|
2010-02-10 Tobias Burnus
|
2010-02-10 Tobias Burnus
|
|
|
PR fortran/43015
|
PR fortran/43015
|
* trans-decl.c (gfc_generate_function_code): Only check
|
* trans-decl.c (gfc_generate_function_code): Only check
|
actual-vs.-dummy character bounds if not bind(C).
|
actual-vs.-dummy character bounds if not bind(C).
|
|
|
2010-02-10 Jakub Jelinek
|
2010-02-10 Jakub Jelinek
|
|
|
PR fortran/42309
|
PR fortran/42309
|
* trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
|
* trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
|
info->dimen after info has been freed.
|
info->dimen after info has been freed.
|
|
|
2010-02-09 Jerry DeLisle
|
2010-02-09 Jerry DeLisle
|
|
|
PR fortran/42999
|
PR fortran/42999
|
* array.c (gfc_constant_ac): Do not prevent expansion of constructors
|
* array.c (gfc_constant_ac): Do not prevent expansion of constructors
|
with iterators.
|
with iterators.
|
|
|
2010-02-09 Jakub Jelinek
|
2010-02-09 Jakub Jelinek
|
|
|
* module.c (fix_mio_expr): Declare sym.
|
* module.c (fix_mio_expr): Declare sym.
|
|
|
2010-02-09 Paul Thomas
|
2010-02-09 Paul Thomas
|
|
|
PR fortran/41869
|
PR fortran/41869
|
* module.c (fix_mio_expr): Fix for private generic procedures.
|
* module.c (fix_mio_expr): Fix for private generic procedures.
|
|
|
2010-02-09 Daniel Kraft
|
2010-02-09 Daniel Kraft
|
|
|
PR fortran/39171
|
PR fortran/39171
|
* resolve.c (resolve_charlen): Change warning about negative CHARACTER
|
* resolve.c (resolve_charlen): Change warning about negative CHARACTER
|
length to be correct and issue only with -Wsurprising.
|
length to be correct and issue only with -Wsurprising.
|
* invoke.texi (Wsurprising): Mention this new warning that is
|
* invoke.texi (Wsurprising): Mention this new warning that is
|
turned on by -Wsurprising.
|
turned on by -Wsurprising.
|
|
|
2010-02-09 Daniel Kraft
|
2010-02-09 Daniel Kraft
|
|
|
PR fortran/41507
|
PR fortran/41507
|
* intrinsic.texi (MAXVAL): Remove wrong claim that array argument
|
* intrinsic.texi (MAXVAL): Remove wrong claim that array argument
|
can be CHARACTER type.
|
can be CHARACTER type.
|
(MINVAL), (MAXLOC), (MINLOC): Ditto.
|
(MINVAL), (MAXLOC), (MINLOC): Ditto.
|
|
|
2010-02-05 Paul Thomas
|
2010-02-05 Paul Thomas
|
|
|
PR fortran/42309
|
PR fortran/42309
|
* trans-expr.c (gfc_conv_subref_array_arg): Add new argument
|
* trans-expr.c (gfc_conv_subref_array_arg): Add new argument
|
'formal_ptr'. If this is true, give returned descriptor unity
|
'formal_ptr'. If this is true, give returned descriptor unity
|
lbounds, in all dimensions, and the appropriate offset.
|
lbounds, in all dimensions, and the appropriate offset.
|
(gfc_conv_procedure_call); If formal is a pointer, set the last
|
(gfc_conv_procedure_call); If formal is a pointer, set the last
|
argument of gfc_conv_subref_array_arg to true.
|
argument of gfc_conv_subref_array_arg to true.
|
* trans.h : Add last argument for gfc_conv_subref_array_arg.
|
* trans.h : Add last argument for gfc_conv_subref_array_arg.
|
* trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
|
* trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
|
new arg of gfc_conv_subref_array_arg to false.
|
new arg of gfc_conv_subref_array_arg to false.
|
* trans-stmt.c (forall_make_variable_temp): The same.
|
* trans-stmt.c (forall_make_variable_temp): The same.
|
|
|
2010-02-03 Tobias Burnus
|
2010-02-03 Tobias Burnus
|
|
|
PR fortran/42936
|
PR fortran/42936
|
* interface.c (compare_parameter): Disable rank-checking
|
* interface.c (compare_parameter): Disable rank-checking
|
for NULL().
|
for NULL().
|
|
|
2010-02-02 Tobias Burnus
|
2010-02-02 Tobias Burnus
|
|
|
PR fortran/42650
|
PR fortran/42650
|
* parse.c (decode_specification_statement): Use sym->result not sym.
|
* parse.c (decode_specification_statement): Use sym->result not sym.
|
|
|
2010-02-01 Tobias Burnus
|
2010-02-01 Tobias Burnus
|
|
|
PR fortran/42922
|
PR fortran/42922
|
* decl.c (variable_decl): Allow default initializer in
|
* decl.c (variable_decl): Allow default initializer in
|
TYPE declarations in PURE functions.
|
TYPE declarations in PURE functions.
|
|
|
2010-01-31 Janus Weil
|
2010-01-31 Janus Weil
|
|
|
PR fortran/42888
|
PR fortran/42888
|
* resolve.c (resolve_allocate_expr): Move default initialization code
|
* resolve.c (resolve_allocate_expr): Move default initialization code
|
here from gfc_trans_allocate.
|
here from gfc_trans_allocate.
|
* trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
|
* trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
|
EXEC_INIT_ASSIGN.
|
EXEC_INIT_ASSIGN.
|
* trans-expr.c (gfc_trans_class_assign): Handle default initialization
|
* trans-expr.c (gfc_trans_class_assign): Handle default initialization
|
of CLASS variables via memcpy.
|
of CLASS variables via memcpy.
|
* trans-stmt.c (gfc_trans_allocate): Move default initialization code
|
* trans-stmt.c (gfc_trans_allocate): Move default initialization code
|
to resolve_allocate_expr.
|
to resolve_allocate_expr.
|
|
|
2010-01-31 Paul Thomas
|
2010-01-31 Paul Thomas
|
|
|
PR fortran/38324
|
PR fortran/38324
|
* expr.c (gfc_get_full_arrayspec_from_expr): New function.
|
* expr.c (gfc_get_full_arrayspec_from_expr): New function.
|
* gfortran.h : Add prototype for above.
|
* gfortran.h : Add prototype for above.
|
* trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
|
* trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
|
(gfc_trans_subcomponent_assign): Call new function to replace
|
(gfc_trans_subcomponent_assign): Call new function to replace
|
the code to deal with allocatable components.
|
the code to deal with allocatable components.
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
|
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
|
gfc_get_full_arrayspec_from_expr to replace existing code.
|
gfc_get_full_arrayspec_from_expr to replace existing code.
|
|
|
2010-01-25 Tobias Burnus
|
2010-01-25 Tobias Burnus
|
|
|
PR fortran/42858
|
PR fortran/42858
|
* array.c (gfc_array_dimen_size): Fix intrinsic procedure
|
* array.c (gfc_array_dimen_size): Fix intrinsic procedure
|
check.
|
check.
|
|
|
2010-01-24 Paul Thomas
|
2010-01-24 Paul Thomas
|
|
|
PR fortran/41044
|
PR fortran/41044
|
PR fortran/41167
|
PR fortran/41167
|
* expr.c (remove_subobject_ref): If the constructor is NULL use
|
* expr.c (remove_subobject_ref): If the constructor is NULL use
|
the expression as the source.
|
the expression as the source.
|
(simplify_const_ref): Change the type of expression if
|
(simplify_const_ref): Change the type of expression if
|
there are component references. Allow for substring to be at
|
there are component references. Allow for substring to be at
|
the end of an arbitrarily long chain of references. If an
|
the end of an arbitrarily long chain of references. If an
|
element is found that is not in an EXPR_ARRAY, assume that this
|
element is found that is not in an EXPR_ARRAY, assume that this
|
is scalar initialization of array. Call remove_subobject_ref in
|
is scalar initialization of array. Call remove_subobject_ref in
|
this case with NULL second argument.
|
this case with NULL second argument.
|
|
|
2010-01-24 Tobias Burnus
|
2010-01-24 Tobias Burnus
|
|
|
PR fortran/39304
|
PR fortran/39304
|
* array.c (gfc_array_dimen_size): Use correct specific
|
* array.c (gfc_array_dimen_size): Use correct specific
|
function in the check.
|
function in the check.
|
|
|
2010-01-21 Paul Thomas
|
2010-01-21 Paul Thomas
|
|
|
PR fortran/42736
|
PR fortran/42736
|
* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
|
* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
|
is required, turn any trailing array elements after a range
|
is required, turn any trailing array elements after a range
|
into ranges so that offsets can be calculated.
|
into ranges so that offsets can be calculated.
|
|
|
2010-01-20 Joern Rennecke
|
2010-01-20 Joern Rennecke
|
|
|
* module.c (mio_f2k_derived): Use enumerator as initializer of
|
* module.c (mio_f2k_derived): Use enumerator as initializer of
|
enum variable.
|
enum variable.
|
|
|
PR bootstrap/42812
|
PR bootstrap/42812
|
* gfortran.h (struct gfc_namespace) : Change to signed
|
* gfortran.h (struct gfc_namespace) : Change to signed
|
bitfield of width 2.
|
bitfield of width 2.
|
|
|
2010-01-19 Janus Weil
|
2010-01-19 Janus Weil
|
|
|
PR fortran/42804
|
PR fortran/42804
|
* resolve.c (extract_compcall_passed_object): Set locus for
|
* resolve.c (extract_compcall_passed_object): Set locus for
|
passed-object argument.
|
passed-object argument.
|
(extract_ppc_passed_object): Set locus and correctly remove PPC
|
(extract_ppc_passed_object): Set locus and correctly remove PPC
|
reference.
|
reference.
|
|
|
2010-01-19 Paul Thomas
|
2010-01-19 Paul Thomas
|
|
|
PR fortran/42783
|
PR fortran/42783
|
* trans-decl.c (add_argument_checking): Do not use the backend
|
* trans-decl.c (add_argument_checking): Do not use the backend
|
decl directly to test for the presence of an optional dummy
|
decl directly to test for the presence of an optional dummy
|
argument. Use gfc_conv_expr_present, remembering to set the
|
argument. Use gfc_conv_expr_present, remembering to set the
|
symbol referenced.
|
symbol referenced.
|
|
|
PR fortran/42772
|
PR fortran/42772
|
* trans-decl.c (gfc_generate_function_code): Small white space
|
* trans-decl.c (gfc_generate_function_code): Small white space
|
changes. If 'recurcheckvar' is NULL do not try to reset it.
|
changes. If 'recurcheckvar' is NULL do not try to reset it.
|
|
|
2010-01-19 Janus Weil
|
2010-01-19 Janus Weil
|
|
|
PR fortran/42545
|
PR fortran/42545
|
* resolve.c (resolve_fl_derived): Set the accessibility of the parent
|
* resolve.c (resolve_fl_derived): Set the accessibility of the parent
|
component for extended types.
|
component for extended types.
|
* symbol.c (gfc_find_component): Remove a wrongly-worded error message
|
* symbol.c (gfc_find_component): Remove a wrongly-worded error message
|
and take care of parent component accessibility.
|
and take care of parent component accessibility.
|
|
|
2010-01-17 Janus Weil
|
2010-01-17 Janus Weil
|
|
|
PR fortran/42677
|
PR fortran/42677
|
* gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
|
* gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'.
|
* interface.c (check_interface1): Move a warning message here from
|
* interface.c (check_interface1): Move a warning message here from
|
resolve_fl_procedure.
|
resolve_fl_procedure.
|
(check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
|
(check_sym_interfaces): Removed 'attr.ambiguous_interfaces'.
|
* module.c (read_module): Remove call to gfc_check_interfaces, since
|
* module.c (read_module): Remove call to gfc_check_interfaces, since
|
this comes too early here.
|
this comes too early here.
|
* resolve.c (resolve_fl_procedure): Move warning message to
|
* resolve.c (resolve_fl_procedure): Move warning message to
|
check_interface1.
|
check_interface1.
|
|
|
2010-01-14 Jerry DeLisle
|
2010-01-14 Jerry DeLisle
|
|
|
PR fortran/42684
|
PR fortran/42684
|
* interface.c (check_interface1): Pass symbol name rather than NULL to
|
* interface.c (check_interface1): Pass symbol name rather than NULL to
|
gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
|
gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to
|
trap MULL.
|
trap MULL.
|
* resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
|
* resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
|
than NULL to gfc_compare_interfaces.
|
than NULL to gfc_compare_interfaces.
|
|
|
2010-01-14 Paul Thomas
|
2010-01-14 Paul Thomas
|
|
|
PR fortran/41478
|
PR fortran/41478
|
* trans-array.c (duplicate_allocatable): Static version of
|
* trans-array.c (duplicate_allocatable): Static version of
|
gfc_duplicate_allocatable with provision to handle scalar
|
gfc_duplicate_allocatable with provision to handle scalar
|
components. New boolean argument to switch off call to malloc
|
components. New boolean argument to switch off call to malloc
|
if true.
|
if true.
|
(gfc_duplicate_allocatable): New function to call above with
|
(gfc_duplicate_allocatable): New function to call above with
|
new argument false.
|
new argument false.
|
(gfc_copy_allocatable_data): New function to call above with
|
(gfc_copy_allocatable_data): New function to call above with
|
new argument true.
|
new argument true.
|
(structure_alloc_comps): Do not apply indirect reference to
|
(structure_alloc_comps): Do not apply indirect reference to
|
scalar pointers. Add new section to copy allocatable components
|
scalar pointers. Add new section to copy allocatable components
|
of arrays. Extend copying of allocatable components to include
|
of arrays. Extend copying of allocatable components to include
|
scalars.
|
scalars.
|
(gfc_copy_only_alloc_comp): New function to copy allocatable
|
(gfc_copy_only_alloc_comp): New function to copy allocatable
|
component derived types, without allocating the base structure.
|
component derived types, without allocating the base structure.
|
* trans-array.h : Add primitive for gfc_copy_allocatable_data.
|
* trans-array.h : Add primitive for gfc_copy_allocatable_data.
|
Add primitive for gfc_copy_only_alloc_comp.
|
Add primitive for gfc_copy_only_alloc_comp.
|
* trans-expr.c (gfc_conv_procedure_call): After calls to
|
* trans-expr.c (gfc_conv_procedure_call): After calls to
|
transformational functions with results that are derived types
|
transformational functions with results that are derived types
|
with allocatable components, copy the components in the result.
|
with allocatable components, copy the components in the result.
|
(gfc_trans_arrayfunc_assign): Deallocate allocatable components
|
(gfc_trans_arrayfunc_assign): Deallocate allocatable components
|
of lhs derived types before allocation.
|
of lhs derived types before allocation.
|
|
|
2010-01-14 Paul Thomas
|
2010-01-14 Paul Thomas
|
|
|
PR fortran/42481
|
PR fortran/42481
|
* module.c (load_generic_interfaces): If a procedure that is
|
* module.c (load_generic_interfaces): If a procedure that is
|
use associated but not generic is given an interface that
|
use associated but not generic is given an interface that
|
includes itself, then make it generic.
|
includes itself, then make it generic.
|
|
|
2010-01-11 Joseph Myers
|
2010-01-11 Joseph Myers
|
Shujing Zhao
|
Shujing Zhao
|
|
|
PR translation/42469
|
PR translation/42469
|
* lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
|
* lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=,
|
finit-logical=, finit-real=, fmax-array-constructor=): Use tab
|
finit-logical=, finit-real=, fmax-array-constructor=): Use tab
|
character between option name and help text.
|
character between option name and help text.
|
|
|
2010-01-09 Jerry DeLisle
|
2010-01-09 Jerry DeLisle
|
|
|
PR fortran/20923
|
PR fortran/20923
|
PR fortran/32489
|
PR fortran/32489
|
* trans-array.c (gfc_conv_array_initializer): Change call to
|
* trans-array.c (gfc_conv_array_initializer): Change call to
|
gfc_error_now to call to gfc_fatal_error.
|
gfc_error_now to call to gfc_fatal_error.
|
* array.c (count_elements): Whitespace. (extract_element): Whitespace.
|
* array.c (count_elements): Whitespace. (extract_element): Whitespace.
|
(is_constant_element): Changed name from constant_element.
|
(is_constant_element): Changed name from constant_element.
|
(gfc_constant_ac): Only use expand_construuctor for expression
|
(gfc_constant_ac): Only use expand_construuctor for expression
|
types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
|
types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to
|
call gfc_is_constant_expr.
|
call gfc_is_constant_expr.
|
* expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
|
* expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error
|
message.
|
message.
|
* resolve.c (gfc_is_expandable_expr): New function that determiners if
|
* resolve.c (gfc_is_expandable_expr): New function that determiners if
|
array expressions should have their constructors expanded.
|
array expressions should have their constructors expanded.
|
(gfc_resolve_expr): Use new function to determine whether or not to call
|
(gfc_resolve_expr): Use new function to determine whether or not to call
|
gfc_expand_constructor.
|
gfc_expand_constructor.
|
|
|
2010-01-09 Tobias Burnus
|
2010-01-09 Tobias Burnus
|
|
|
PR fortran/41298
|
PR fortran/41298
|
* trans-expr.c (gfc_trans_structure_assign): Handle
|
* trans-expr.c (gfc_trans_structure_assign): Handle
|
c_null_(fun)ptr.
|
c_null_(fun)ptr.
|
* symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
|
* symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR
|
to the constructor for c_null_(fun)ptr.
|
to the constructor for c_null_(fun)ptr.
|
* resolve.c (resolve_structure_cons): Add special case
|
* resolve.c (resolve_structure_cons): Add special case
|
for c_null_(fun)ptr.
|
for c_null_(fun)ptr.
|
|
|
2010-01-09 Jakub Jelinek
|
2010-01-09 Jakub Jelinek
|
|
|
* gfortranspec.c (lang_specific_driver): Update copyright notice
|
* gfortranspec.c (lang_specific_driver): Update copyright notice
|
dates.
|
dates.
|
|
|
2010-01-08 Tobias Burnus
|
2010-01-08 Tobias Burnus
|
|
|
PR/fortran 25829
|
PR/fortran 25829
|
* symbol.c (check_conflict, gfc_copy_attr): Add
|
* symbol.c (check_conflict, gfc_copy_attr): Add
|
ASYNCHRONOUS support.
|
ASYNCHRONOUS support.
|
(gfc_add_asynchronous): New function.
|
(gfc_add_asynchronous): New function.
|
* decl.c (match_attr_spec): Add ASYNCHRONOUS support.
|
* decl.c (match_attr_spec): Add ASYNCHRONOUS support.
|
(gfc_match_asynchronous): New function.
|
(gfc_match_asynchronous): New function.
|
* dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
|
* dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support.
|
* gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
|
* gfortran.h (symbol_attribute): New ASYNCHRONOUS bit.
|
(gfc_add_asynchronous): New Prototype.
|
(gfc_add_asynchronous): New Prototype.
|
* module.c (ab_attribute, mio_symbol_attribute): Add
|
* module.c (ab_attribute, mio_symbol_attribute): Add
|
ASYNCHRONOUS support.
|
ASYNCHRONOUS support.
|
* resolve.c (was_declared): Ditto.
|
* resolve.c (was_declared): Ditto.
|
* match.h (gfc_match_asynchronous): New prototype.
|
* match.h (gfc_match_asynchronous): New prototype.
|
* parse.c (decode_specification_statement,decode_statement):
|
* parse.c (decode_specification_statement,decode_statement):
|
Add ASYNCHRONOUS support.
|
Add ASYNCHRONOUS support.
|
|
|
2010-01-07 Tobias Burnus
|
2010-01-07 Tobias Burnus
|
|
|
PR fortran/42597
|
PR fortran/42597
|
* trans-decl.c (get_proc_pointer_decl): Fix call to
|
* trans-decl.c (get_proc_pointer_decl): Fix call to
|
gfc_conv_initializer for array-valued proc-pointer funcs.
|
gfc_conv_initializer for array-valued proc-pointer funcs.
|
|
|
2010-01-07 Tobias Burnus
|
2010-01-07 Tobias Burnus
|
|
|
PR fortran/41872
|
PR fortran/41872
|
* trans-decl.c (gfc_trans_deferred_vars): Don't initialize
|
* trans-decl.c (gfc_trans_deferred_vars): Don't initialize
|
allocatable scalars with SAVE attribute.
|
allocatable scalars with SAVE attribute.
|
|
|
2010-01-05 Tobias Burnus
|
2010-01-05 Tobias Burnus
|
|
|
PR fortran/42517
|
PR fortran/42517
|
* options.c (gfc_post_options): Set -frecursion
|
* options.c (gfc_post_options): Set -frecursion
|
when -fopenmp is used.
|
when -fopenmp is used.
|
|
|
2010-01-05 Tobias Burnus
|
2010-01-05 Tobias Burnus
|
|
|
PR fortran/41872
|
PR fortran/41872
|
* trans-expr.c (gfc_conv_procedure_call): Nullify
|
* trans-expr.c (gfc_conv_procedure_call): Nullify
|
return value for allocatable-scalar character functions.
|
return value for allocatable-scalar character functions.
|
|
|
2010-01-04 Tobias Burnus
|
2010-01-04 Tobias Burnus
|
|
|
PR fortran/36161
|
PR fortran/36161
|
* error.c (error_printf, gfc_warning, gfc_notify_std,
|
* error.c (error_printf, gfc_warning, gfc_notify_std,
|
gfc_warning_now, gfc_error, gfc_error_now,
|
gfc_warning_now, gfc_error, gfc_error_now,
|
gfc_fatal_error): Change argument name from nocmsgid to
|
gfc_fatal_error): Change argument name from nocmsgid to
|
gmsgid to enable (x)gettext's % checking.
|
gmsgid to enable (x)gettext's % checking.
|
|
|
2010-01-04 Tobias Burnus
|
2010-01-04 Tobias Burnus
|
|
|
* trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
|
* trans-decl.c (gfc_trans_deferred_vars): Fix spelling.
|
|
|
2010-01-04 Tobias Burnus
|
2010-01-04 Tobias Burnus
|
|
|
PR fortran/41872
|
PR fortran/41872
|
* trans-expr.c (gfc_conv_procedure_call): Add indirect ref
|
* trans-expr.c (gfc_conv_procedure_call): Add indirect ref
|
for functions returning allocatable scalars.
|
for functions returning allocatable scalars.
|
* trans-stmt.c (gfc_trans_allocate): Emmit error when
|
* trans-stmt.c (gfc_trans_allocate): Emmit error when
|
reallocating an allocatable scalar.
|
reallocating an allocatable scalar.
|
* trans.c (gfc_allocate_with_status): Fix pseudocode syntax
|
* trans.c (gfc_allocate_with_status): Fix pseudocode syntax
|
in comment.
|
in comment.
|
* trans-decl.c (gfc_trans_deferred_vars): Nullify local
|
* trans-decl.c (gfc_trans_deferred_vars): Nullify local
|
allocatable scalars.
|
allocatable scalars.
|
(gfc_generate_function_code): Nullify result variable for
|
(gfc_generate_function_code): Nullify result variable for
|
allocatable scalars.
|
allocatable scalars.
|
|
|
PR fortran/40849
|
PR fortran/40849
|
* module.c (gfc_use_module): Fix warning string to allow
|
* module.c (gfc_use_module): Fix warning string to allow
|
for translation.
|
for translation.
|
|
|
PR fortran/42517
|
PR fortran/42517
|
* invoke.texi (-fcheck=recursion): Mention that the checking
|
* invoke.texi (-fcheck=recursion): Mention that the checking
|
is also disabled for -frecursive.
|
is also disabled for -frecursive.
|
* trans-decl.c (gfc_generate_function_code): Disable
|
* trans-decl.c (gfc_generate_function_code): Disable
|
-fcheck=recursion when -frecursive is used.
|
-fcheck=recursion when -frecursive is used.
|
|
|
* intrinsic.texi (iso_c_binding): Improve wording.
|
* intrinsic.texi (iso_c_binding): Improve wording.
|
|
|
|
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
Copyright (C) 2010 Free Software Foundation, Inc.
|
|
|
Copying and distribution of this file, with or without modification,
|
Copying and distribution of this file, with or without modification,
|
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
notice and this notice are preserved.
|
notice and this notice are preserved.
|
|
|