From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/fortran/ChangeLog | 1417 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1417 insertions(+) create mode 100644 gcc/fortran/ChangeLog (limited to 'gcc/fortran/ChangeLog') diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog new file mode 100644 index 000000000..d7fbc56cd --- /dev/null +++ b/gcc/fortran/ChangeLog @@ -0,0 +1,1417 @@ +2013-04-12 Release Manager + + * GCC 4.6.4 released. + +2013-03-15 Tobias Burnus + + PR fortran/56615 + * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays + if they are not simply contiguous. + +2013-03-13 Paul Thomas + + PR fortran/56575 + * expr.c (gfc_default_initializer): Check that a class declared + type has any components. + * resolve.c (resolve_fl_derived0): On failing the test for C437 + set the type to BT_UNKNOWN to prevent repeat error messages. + +2013-03-10 Paul Thomas + + PR fortran/55362 + * check.c (array_check): It is an error if a procedure is + passed. + +2013-02-23 Janus Weil + + PR fortran/56385 + * trans-array.c (structure_alloc_comps): Handle procedure-pointer + components with allocatable result. + +2013-02-15 Tobias Burnus + Mikael Morin + + PR fortran/56318 + * simplify.c (gfc_simplify_matmul): Fix result shape + and matmul result. + +2013-02-13 Tobias Burnus + + Backported from mainline + 2013-01-07 Tobias Burnus + Thomas Koenig + Jakub Jelinek + + PR fortran/55852 + * expr.c (gfc_build_intrinsic_call): Avoid clashes + with user's procedures. + * gfortran.h (gfc_build_intrinsic_call): Update prototype. + (GFC_PREFIX): Define. + * simplify.c (gfc_simplify_size): Update call. + +2013-02-03 Thomas Koenig + + Backport from trunk + PR fortran/50627 + PR fortran/56054 + * decl.c (gfc_match_end): Remove half-ready namespace + from parent if the end of a block is missing. + * parse.c (parse_module): Do not put namespace into + gsymbol on error. + +2013-01-14 Janus Weil + + PR fortran/55072 + * trans-array.c (gfc_conv_array_parameter): No packing was done for + full arrays of derived type. + +2013-01-14 Paul Thomas + + PR fortran/55618 + * trans-expr.c (gfc_conv_procedure_call): Dereference scalar + character function arguments to elemental procedures in + scalarization loops. + +2013-01-08 Mikael Morin + + PR fortran/42769 + PR fortran/45836 + PR fortran/45900 + * module.c (read_module): Don't reuse local symtree if the associated + symbol isn't exactly the one wanted. Don't reuse local symtree if it is + ambiguous. + * resolve.c (resolve_call): Use symtree's name instead of symbol's to + lookup the symtree. + +2013-01-07 Steven G. Kargl + Mikael Morin + + PR fortran/55827 + * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it. + +2012-11-24 Thomas Koenig + + PR fortran/55314 + Backport from trunk + * resolve.c (resolve_allocate_deallocate): Compare all + subscripts when deciding if to reject a (de)allocate + statement. + +2012-09-13 Tobias Burnus + + PR fortran/54225 + PR fortran/53306 + * array.c (match_subscript, gfc_match_array_ref): Fix + diagnostic of coarray's '*'. + +2012-09-13 Tobias Burnus + + PR fortran/54556 + * resolve.c (gfc_impure_variable): Don't check gfc_pure such + that the function also works for gfc_implicit_pure procedures. + +2012-09-12 Mikael Morin + + PR fortran/54208 + * simplify.c (simplify_bound_dim): Resolve array spec before + proceeding with simplification. + +2012-07-14 Mikael Morin + + Backport from trunk: + 2012-01-09 Mikael Morin + + PR fortran/51758 + * trans-array.c (gfc_walk_elemental_function_args): + Skip over NULL() actual arguments. + +2012-06-14 Tobias Burnus + + PR fortran/53597 + * decl.c (match_attr_spec): Only mark module variables + as SAVE_IMPLICIT for Fortran 2008 and later. + +2012-06-05 Tobias Burnus + + PR fortran/50619 + * resolve.c (build_default_init_expr): Don't initialize + ASSOCIATE names. + +2012-06-01 Tobias Burnus + + PR fortran/53521 + * trans.c (gfc_deallocate_scalar_with_status): Properly + handle the case size == 0. + +2012-05-23 Tobias Burnus + + PR fortran/53389 + * trans-array.c (gfc_add_loop_ss_code): Don't evaluate + expression, if ss->is_alloc_lhs is set. + +2012-05-02 Tobias Burnus + + Backport from mainline + 2012-04-12 Tobias Burnus + + PR fortran/52864 + * expr.c (gfc_check_vardef_context): Fix assignment check for + pointer components. + +2012-03-10 Tobias Burnus + + PR fortran/52469 + * trans-types.c (gfc_get_function_type): Handle backend_decl + of a procedure pointer. + +2012-03-06 Tobias Burnus + + Backport from mainline + 2012-03-02 Tobias Burnus + + PR fortran/52452 + * resolve.c (resolve_intrinsic): Don't search for a + function if we know that it is a subroutine. + +2012-03-01 Release Manager + + * GCC 4.6.3 released. + +2012-02-29 Paul Thomas + + PR fortran/52386 + * trans-expr.c (fcncall_realloc_result): Dereference the + descriptor if needed. + +2012-02-23 Tobias Burnus + + PR fortran/52335 + * io.c (gfc_match_open): Remove bogus F2003 DELIM= check. + +2012-02-09 Jakub Jelinek + + Backported from mainline + 2011-12-15 Jakub Jelinek + + PR debug/51517 + * trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span. + (gfc_trans_deferred_vars): Instead add its runtime initialization + here. + +2012-02-08 Tobias Burnus + + PR fortran/52151 + * trans-expr.c (fcncall_realloc_result): Set also the stride. + +2012-02-03 Tobias Burnus + + PR fortran/52093 + * simplify.c (gfc_simplify_size): Handle INTRINSIC_PARENTHESES. + +2012-02-03 Paul Thomas + + PR fortran/52012 + * trans-expr.c (fcncall_realloc_result): Correct calculation of + result offset. If variable shape is correct, retain the bounds, + whatever they are. + +2012-01-28 Tobias Burnus + + PR fortran/52022 + * trans-expr.c (gfc_conv_procedure_call): Fix passing + of functions, which return allocatables. + +2012-01-25 Tobias Burnus + + PR fortran/51966 + * resolve.c (resolve_structure_cons): Only create an + array constructors for nonscalars. + +2012-01-24 Tobias Burnus + + PR fortran/51948 + * check.c (variable_check): Fix checking for + result variables and deeply nested BLOCKs. + +2012-01-21 Tobias Burnus + + PR fortran/51913 + * interface.c (compare_parameter): Fix CLASS comparison. + +2012-01-19 Tobias Burnus + + PR fortran/51904 + *expr.c (gfc_build_intrinsic_call): Also set the symtree. + +2012-01-14 Tobias Burnus + + Backported from mainline + 2012-01-14 Tobias Burnus + + PR fortran/51800 + * resolve.c (build_default_init_expr): Also initialize + nonconstant-length strings with -finit-character=. + +2012-01-01 Thomas König + + Backport from trunk + PR fortran/51502 + * expr.c (gfc_check_vardef_context): When determining + implicit pure status, also check for variable definition + context. Walk up namespaces until a procedure is + found to reset the implict pure attribute. + * resolve.c (gfc_implicit_pure): Walk up namespaces + until a procedure is found. + +2011-12-22 Toon Moene + + PR fortran/51310 + * resolve.c (build_default_init_expr): Allow non-allocatable, + non-compile-time-constant-shape arrays to have a default + initializer. + * invoke.texi: Delete the restriction on automatic arrays not + being initialized by -finit-=. + +2011-12-15 Tobias Burnus + + PR fortran/51550 + PR fortran/47545 + PR fortran/49050 + PR fortran/51075 + * resolve.c (resolve_fl_derived0): Print not-implemented error + for deferred-length character components. + +2011-12-11 Tobias Burnus + + PR fortran/50923 + * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only + if the front end has printed a warning. + (gfc_generate_function_code): Fix unset-result warning. + +2011-12-11 Thomas Koenig + + PR fortran/51338 + Backport from trunk + * dependency.c (are_identical_variables): Handle case where + end fields of substring references are NULL. + +2011-12-08 Toon Moene + + PR fortran/51310 + * invoke.texi: Itemize the cases for which + -finit-= doesn't work. + +2011-12-08 Tobias Burnus + + PR fortran/51448 + * fortran/trans-array.c (get_std_lbound): Fix handling of + conversion functions. + +2011-12-06 Tobias Burnus + + PR fortran/51435 + * expr.c (gfc_has_default_initializer): Fix handling of + DT with initialized pointer components. + +2011-12-03 Tobias Burnus + + PR fortran/50684 + * check.c (variable_check): Fix intent(in) check. + +2011-11-25 Tobias Burnus + + PR fortran/50408 + * trans-decl.c (gfc_get_module_backend_decl): Also copy + ts.u.derived from the gsym if the ts.type is BT_CLASS. + (gfc_get_extern_function_decl): Copy also the backend_decl + for the symbol's ts.u.{derived,cl} from the gsym. + * trans-types.c (gfc_copy_dt_decls_ifequal): Directly + return if "from" and "to" are the same. + +2011-11-24 Tobias Burnus + + PR fortran/51218 + * gfortran.dg/implicit_pure_1.f90: New. + +2011-10-26 Release Manager + + * GCC 4.6.2 released. + +2011-10-17 Janus Weil + + PR fortran/47023 + * primary.c (match_kind_param): Detect ISO_C_BINDING kinds. + (get_kind): Pass on 'is_iso_c' flag. + (match_integer_constant,match_real_constant,match_logical_constant): + Set 'ts.is_c_interop'. + +2011-10-15 Janus Weil + + PR fortran/50570 + * expr.c (gfc_check_vardef_context): Don't throw an error on + non-pointer assignments involving an intent(in) pointer dummy. + +2011-10-15 Tobias Burnus + + PR fortran/50718 + * gfortran.dg/pointer_check_11.f90: New. + * gfortran.dg/pointer_check_12.f90: New. + +2011-10-12 Janus Weil + + PR fortran/50659 + * expr.c (replace_symbol): Only do replacement if the symbol is a dummy. + +2011-10-11 Tobias Burnus + Janus Weil + + * invoke.texi (-fwhole-file): Update wording since -fwhole-file + is now enabled by default. + +2011-10-11 Tobias Burnus + + PR fortran/50273 + * trans-common.c (translate_common): Fix -Walign-commons check. + +2011-10-07 Janus Weil + + PR fortran/50585 + * interface.c (get_expr_storage_size): Check if 'length' component is + associated. + + PR fortran/50625 + * class.c (gfc_build_class_symbol): Fix whitespace. + * module.c (mio_symbol): Set 'class_ok' attribute. + * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has + been built for class symbols. + +2011-10-04 Janus Weil + + PR fortran/48706 + * module.c (write_dt_extensions): Do not write extended types which + are local to a subroutine. + +2011-08-26 Mikael Morin + + PR fortran/50050 + * expr.c (gfc_free_shape): Do nothing if shape is NULL. + (free_expr0): Remove redundant NULL shape check. + * resolve.c (check_host_association): Ditto. + * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is + non-NULL. + * trans-io.c (transfer_array_component): Ditto. + +2011-08-25 Tobias Burnus + + PR fortran/50163 + * check_init_expr (check_init_expr): Return when an error occured. + +2011-08-22 Mikael Morin + + PR fortran/50050 + * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes. + * expr.c (gfc_clear_shape, gfc_free_shape): New functions. + (free_expr0): Re-use gfc_free_shape. + * trans-expr.c (gfc_trans_subarray_assign): Ditto. + * trans-io.c (transfer_array_component): Ditto. + * resolve.c (check_host_association): Ditto. + (gfc_expr_to_initialize): Don't force the rank value and free the shape + after updating the expression. Recalculate shape and rank. + (resolve_where_shape): Re-use gfc_clear_shape. + * array.c (gfc_array_ref_shape): Ditto. + +2011-08-22 Thomas Koenig + + Backport from trunk + PR fortran/50130 + * resolve.c (resolve_array_ref): Don't calculate upper bound + if the stride is zero. + +2011-08-20 Mikael Morin + + PR fortran/50129 + * parse.c (parse_where): Undo changes after emitting an error. + +2011-08-19 Jakub Jelinek + + PR fortran/49792 + * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS + bit in ompws_flags only if loop.temp_ss is NULL, and clear it if + lhs needs reallocation. + * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if + code is NULL, emit a barrier if workshare emitted no code at all + and NOWAIT clause isn't present. + +2011-08-05 Janus Weil + + PR fortran/49112 + * resolve.c (resolve_structure_cons): Don't do the full dt resolution, + only call 'resolve_fl_derived0'. + (resolve_typebound_procedures): Resolve typebound procedures of + parent type. + (resolve_fl_derived0): New function, which does a part of the work + for 'resolve_fl_derived'. + (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional + things. + +2011-08-03 Daniel Kraft + + PR fortran/49885 + * trans-array.c (gfc_trans_auto_array_allocation): Change + gfc_start_block to gfc_init_block to avoid spurious extra-scope. + +2011-07-30 Thomas Koenig + + Backport from trunk. + PR fortran/48876 + * expr.c (gfc_simplify_expr): If end of a string is less + than zero, set it to zero. + +2011-07-28 Tobias Burnus + + PR fortran/45586 + * trans-types.c (gfc_get_derived_type): Ensure that pointer + component types are marked as nonrestricted. + +2011-07-23 Janus Weil + + PR fortran/49708 + * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers. + +2011-07-18 Mikael Morin + + PR fortran/49648 + * resolve.c (resolve_symbol): Force resolution of function result's + array specification. + +2011-07-11 Jakub Jelinek + + PR fortran/49698 + * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize + inner_size to gfc_index_one_node instead of integer_one_node. + +2011-07-10 Tobias Burnus + + PR fortran/49690 + * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL. + +2011-07-10 Janus Weil + + PR fortran/49562 + * expr.c (gfc_check_vardef_context): Handle type-bound procedures. + +2011-07-09 Uros Bizjak + + PR fortran/48926 + * expr.c (gfc_get_corank): Change return value to int. + * gfortran.h (gfc_get_corank): Update function prototype. + +2011-07-04 Jakub Jelinek + + PR fortran/49623 + * gfortranspec.c (lang_specific_driver): Ignore options with + CL_ERR_MISSING_ARG errors. + + Backported from mainline + 2011-06-30 Jakub Jelinek + + PR fortran/49540 + * gfortran.h (gfc_constructor): Add repeat field. + * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1. + * array.c (current_expand): Add repeat field. + (expand_constructor): Copy repeat. + * constructor.c (node_free, node_copy, gfc_constructor_get, + gfc_constructor_lookup): Handle repeat field. + (gfc_constructor_lookup_next, gfc_constructor_remove): New functions. + * data.h (gfc_assign_data_value): Add mpz_t * argument. + (gfc_assign_data_value_range): Removed. + * constructor.h (gfc_constructor_advance): Removed. + (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes. + * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and + also handle overwriting a range with a single entry. + (gfc_assign_data_value_range): Removed. + * resolve.c (check_data_variable): Adjust gfc_assign_data_value + call. Use gfc_assign_data_value instead of + gfc_assign_data_value_expr. + +2011-07-02 Janus Weil + + PR fortran/49466 + * trans-array.c (structure_alloc_comps): Make sure sub-components + and extended types are correctly deallocated. + +2011-06-27 Release Manager + + * GCC 4.6.1 released. + +2011-06-21 Janus Weil + + PR fortran/49112 + * class.c (gfc_find_derived_vtab): Make vtab and default initialization + symbols SAVE_IMPLICIT. + +2011-06-19 Janus Weil + + PR fortran/47601 + * module.c (mio_component_ref): Handle components of extended types. + * symbol.c (gfc_find_component): Return if sym is NULL. + + PR fortran/48699 + * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic, + make sure the vtab is present. + + PR fortran/49074 + * interface.c (gfc_extend_assign): Propagate the locus from the + assignment to the type-bound procedure call. + + PR fortran/49417 + * module.c (mio_component): Make sure the 'class_ok' attribute is set + for use-associated CLASS components. + * parse.c (parse_derived): Check for 'class_ok' attribute. + * resolve.c (resolve_fl_derived): Ditto. + +2011-06-17 Tobias Burnus + + PR fortran/49324 + * trans-expr.c (gfc_trans_assignment_1): Tell + gfc_trans_scalar_assign to also deep-copy RHS nonvariables + with allocatable components. + * trans-array.c (gfc_conv_expr_descriptor): Ditto. + +2011-06-06 Asher Langton + + PR fortran/49268 + * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray + pointees as AS_EXPLICIT. + +2011-06-02 Steven G. Kargl + + PR fortran/49265 + * decl.c (gfc_match_modproc): Allow for a double colon in a module + procedure statement. + * parse.c ( decode_statement): Deal with whitespace around :: in + gfc_match_modproc. + +2011-05-31 Thomas Koenig + + Backport from trunk + PR fortran/45786 + * interface.c (gfc_equivalent_op): New function. + (gfc_check_interface): Use gfc_equivalent_op instead + of switch statement. + * decl.c (access_attr_decl): Also set access to an + equivalent operator. + +2011-05-26 Paul Thomas + Thomas Koenig + + PR fortran/48955 + * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET + changed to GFC_ENABLE_REVERSE. + * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed + to GFC_INHIBIT_REVERSE. + * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE, + GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE. + * dependency.c (gfc_dep_resolver): Change names for elements of + gfc_reverse as necessary. Change the logic so that forward + dependences are remembered as well as backward ones. When both + have appeared, force a temporary. + +2011-05-11 Tobias Burnus + + PR fortran/48889 + * expr.c (gfc_is_constant_expr): Use e->value.function.esym + instead of e->symtree->n.sym, if available. + +2011-05-04 Steven G. Kargl + + PR fortran/48720 + * gfortran.texi: Document the 'Q' exponent-letter extension. + * invoke.texi: Document -Wreal-q-constant. + * lang.opt: Add -Wreal-q-constant option. + * gfortran.h: Add warn_real_q_constant to option struct. + * primary.c (match_real_constant): Use it. Accept 'Q' as + exponent-letter for REAL(16) real-literal-constant with a + fallback to REAL(10) or error if REAL(10) is not available. + * options.c (gfc_init_options, set_Wall) Set it. + (gfc_handle_option): Handle new option. + +2011-04-30 Paul Thomas + + PR fortran/48462 + PR fortran/48746 + * trans-expr.c ( arrayfunc_assign_needs_temporary): Need a temp + if automatic reallocation on assignement is active, the lhs is a + target and the rhs an intrinsic function. + (realloc_lhs_bounds_for_intrinsic_call): Rename as next. + (fcncall_realloc_result): Renamed version of above function. + Free the original descriptor data after the function call.Set the bounds and the + offset so that the lbounds are one. + (gfc_trans_arrayfunc_assign): Call renamed function. + +2011-04-29 Tobias Burnus + + PR fortran/48810 + * resolve.c (resolve_typebound_generic_call): Don't check access + flags of the specific function. + + PR fortran/48800 + * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED + to AS_ASSUMED_SHAPE for function results. + (resolve_fl_var_and_proc): Print also for function results with + AS_DEFERRED an error, if they are not a pointer or allocatable. + (resolve_types): Make sure arguments of procedures in interface + blocks are resolved. + +2011-04-28 Tobias Burnus + + PR fortran/48112 + * resolve.c (resolve_fl_var_and_proc): Print diagnostic of + function results only once. + (resolve_symbol): Always resolve function results. + + PR fortran/48279 + * expr.c (gfc_check_vardef_context): Fix handling of generic + EXPR_FUNCTION. + * interface.c (check_interface0): Reject internal functions + in generic interfaces, unless -std=gnu. + +2011-04-28 Tobias Burnus + + PR fortran/48788 + * resolve.c (resolve_global_procedure): Error recovery - + avoid segfault for (non)character-returning functions. + +2011-04-26 Tobias Burnus + + PR fortran/48588 + * parse.c (resolve_all_program_units): Skip modules. + (translate_all_program_units): Handle modules. + (gfc_parse_file): Defer code generation for modules. + * module.c (fix_mio_expr): Commit created symbol. + +2011-04-13 Paul Thomas + + PR fortran/48360 + PR fortran/48456 + * trans-array.c (get_std_lbound): For derived type variables + return array valued component lbound. + +2011-04-05 Duncan Sands + + * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types. + +2011-04-04 Janus Weil + + PR fortran/48291 + * class.c (get_unique_hashed_string): Adjust maximum allowable length + for unique type string. + +2011-03-25 Release Manager + + * GCC 4.6.0 released. + +2011-03-12 Janus Weil + + PR fortran/48059 + * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type + for polymorphic arguments. + +2011-03-12 Francois-Xavier Coudert + + PR fortran/48054 + * intrinsic.texi: Clarify doc of logarithm functions. + +2011-03-12 Francois-Xavier Coudert + + PR fortran/47552 + * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of + the string length variable. + +2011-03-11 Janus Weil + + PR fortran/47768 + * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP. + (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'. + +2011-03-06 Paul Thomas + Jerry DeLisle + + PR fortran/47850 + * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if + the expression has an iterator. Otherwise, iterate through the + array, checking for constant expressions for each element. + +2011-03-04 Janne Blomqvist + + PR libfortran/47802 + * intrinsic.texi: Update CTIME and FDATE documentation. + +2011-03-03 Ralf Wildenhues + + * invoke.texi (Option Summary, Fortran Dialect Options) + (Preprocessing Options, Runtime Options, Code Gen Options): + Fix vertical list spacing by using @itemx for additinoal + items, empty line before @table. Fix typos. + +2011-02-28 Francois-Xavier Coudert + + PR fortran/47894 + * intrinsic.texi: Fix doc of the VERIFY intrinsic. + +2011-02-26 Tobias Burnus + + PR fortran/47846 + * trans-stmt.c (gfc_trans_allocate): Fix allocation with + type-spec of deferred-length strings. + +2011-02-26 Tobias Burnus + + PR fortran/47886 + * openmp.c (gfc_resolve_omp_directive): Resolve if() + condition of OpenMP's task. + +2011-02-26 Francois-Xavier Coudert + + PR fortran/47894 + * intrinsic.texi: Fix doc of the VERIFY intrinsic. + +2011-02-24 Tobias Burnus + + PR fortran/47872 + * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add + multitable for linebreak between different syntax variants. + +2011-02-24 Richard Guenther + + PR fortran/47839 + * f95-lang.c (pushdecl): For externs in non-global scope push + a copy of the decl into the BLOCK. + +2011-02-23 Mikael Morin + + PR fortran/40850 + * trans.c (gfc_prepend_expr_to_block): New function. + * trans.h (gfc_prepend_expr_to_block): Declare. + * trans-array.c (gfc_conv_array_parameter): Replace + gfc_add_expr_to_block with gfc_prepend_expr_to_block. + +2011-02-22 Paul Thomas + + PR fortran/45743 + * trans-decl.c (gfc_get_extern_function_decl): Don't use the + gsymbol backend_decl if the procedure has a formal argument + that is a procedure. + +2011-02-22 Tobias Burnus + + PR fortran/41359 + * trans-stmt.c (gfc_trans_if_1): Use correct line for + expressions in the if condition. + +2011-02-20 Tobias Burnus + + PR fortran/47797 + * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and + gfc_restore_backend_locus to have better debug locations. + * trans-array.c (gfc_trans_deferred_array): Ditto. + +2011-02-20 Paul Thomas + + PR fortran/45077 + PR fortran/44945 + * trans-types.c (gfc_get_derived_type): Remove code that looks + for decls in gsym and add call to gfc_get_module_backend_decl. + * trans.h : Add prototype for gfc_get_module_backend_decl. + * trans-decl.c (gfc_get_module_backend_decl): New function. + (gfc_get_symbol_decl): Call it. + +2011-02-19 Paul Thomas + + PR fortran/47348 + * trans-array.c (get_array_ctor_all_strlen): Move up in file. + (get_array_ctor_var_strlen): Add block dummy and add call to + get_array_ctor_all_strlen instead of giving up on substrings. + Call gcc_unreachable for default case. + (get_array_ctor_strlen): Add extra argument to in call to + get_array_ctor_var_strlen. + +2011-02-18 Janus Weil + + PR fortran/47789 + * primary.c (gfc_match_structure_constructor): Handle empty parent + types. + +2011-02-18 Tobias Burnus + + PR fortran/47775 + * trans-expr.c (arrayfunc_assign_needs_temporary): Use + esym to check whether the specific procedure returns an + allocatable or pointer. + +2011-02-18 Michael Matz + + PR fortran/45586 + * gfortran.h (struct gfc_component): Add norestrict_decl member. + * trans.h (struct lang_type): Add nonrestricted_type member. + * trans-expr.c (gfc_conv_component_ref): Search fields with correct + parent type. + * trans-types.c (mirror_fields, gfc_nonrestricted_type): New. + (gfc_sym_type): Use it. + +2011-02-18 Janus Weil + + PR fortran/47768 + * resolve.c (resolve_transfer): Reject variables with procedure pointer + components. + +2011-02-18 Janus Weil + + PR fortran/47767 + * gfortran.h (gfc_check_access): Removed prototype. + (gfc_check_symbol_access): Added prototype. + * module.c (gfc_check_access): Renamed to 'check_access', made static. + (gfc_check_symbol_access): New function, basically a shortcut for + 'check_access'. + (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use + 'gfc_check_symbol_access'. + (write_operator,write_module): Renamed 'gfc_check_access'. + * resolve.c (resolve_fl_procedure,resolve_fl_derived, + resolve_fl_namelist,resolve_symbol,resolve_fntype): Use + 'gfc_check_symbol_access'. + +2011-02-16 Janus Weil + + PR fortran/47745 + * class.c (gfc_build_class_symbol): Set 'class_ok' attribute. + * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into + 'gfc_build_class_symbol'. + (gfc_match_decl_type_spec): Reject unlimited polymorphism. + * interface.c (matching_typebound_op): Check for 'class_ok' attribute. + * match.c (select_type_set_tmp): Move setting of 'class_ok' into + 'gfc_build_class_symbol'. + * primary.c (gfc_variable_attr): Check for 'class_ok' attribute. + +2011-02-15 Steven G. Kargl + + PR fortran/47633 + . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue. + +2011-02-14 Janus Weil + + PR fortran/47730 + * parse.c (gfc_build_block_ns): Commit 'block@' symbol. + +2011-02-14 Janus Weil + + PR fortran/47728 + * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic + arrays. + * primary.c (gfc_match_varspec): Avoid ICE for invalid class + declaration. + +2011-02-14 Janus Weil + + PR fortran/47349 + * interface.c (get_expr_storage_size): Handle derived-type components. + +2011-02-13 Tobias Burnus + + PR fortran/47569 + * interface.c (compare_parameter): Avoid ICE with + character components. + +2011-02-12 Janus Weil + + * class.c (gfc_build_class_symbol): Reject polymorphic arrays. + * decl.c (build_sym,build_struct,attr_decl1): Use return value of + 'gfc_build_class_symbol'. + +2011-02-12 Michael Matz + Janus Weil + Tobias Burnus + + PR fortran/45586 + * trans-expr.c (conv_parent_component_references): Avoid unintendent + skipping of parent compounds. + +2011-02-11 Tobias Burnus + + PR fortran/47550 + * resolve.c (resolve_formal_arglist): PURE with VALUE + and no INTENT: Add -std= diagnostics. + +2011-02-09 Janus Weil + + PR fortran/47352 + * resolve.c (resolve_procedure_interface): If interface has a result + variable, copy the typespec and set result pointer to self. + +2011-02-09 Janus Weil + + PR fortran/47463 + * resolve.c (resolve_typebound_subroutine): Remove erroneous line. + +2011-02-09 Janus Weil + + PR fortran/47637 + * trans-decl.c (init_intent_out_dt): Handle CLASS arguments. + +2011-02-08 Jerry DeLisle + + * io.c (match_io_element): Do not set dt if not inquire. + +2011-02-08 Janus Weil + + PR fortran/45290 + * expr.c (gfc_check_assign_symbol): Reject pointers as pointer + initialization target. + +2011-02-07 Janne Blomqvist + Ralf Wildenhues + + * gfortran.texi (Thread-safety): texinfo styling fixes. + * intrinsic.texi: Likewise. + +2011-02-06 Janne Blomqvist + + * gfortran.texi (Compiler Characteristics): Add reference to + thread-safety section. + +2011-02-06 Janne Blomqvist + + * gfortran.texi (Thread-safety): New section. + * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety. + (GETENV): Likewise. + (GET_ENVIRONMENT_VARIABLE): Likewise. + (SYSTEM): Likewise. + +2011-02-06 Paul Thomas + + PR fortran/47592 + * trans-stmt.c (gfc_trans_allocate): For deferred character + length allocations with SOURCE, store to the values and string + length to avoid calculating twice. Replace gfc_start_block + with gfc_init_block to avoid unnecessary contexts and to keep + declarations of temporaries where they should be. Tidy up the + code a bit. + +2011-02-05 Janne Blomqvist + + PR fortran/42434 + * intrinsic.texi (SYSTEM_CLOCK): Update documentation. + +2011-02-02 Janus Weil + Paul Thomas + + PR fortran/47082 + * trans-expr.c (gfc_trans_class_init_assign): Add call to + gfc_get_derived_type. + * module.c (read_cleanup): Do not use unique_symtrees for vtabs + or vtypes. + +2011-02-02 Janus Weil + + PR fortran/47572 + * resolve.c (resolve_fl_variable): Handle polymorphic allocatables. + +2011-02-01 Janus Weil + + PR fortran/47565 + * trans-expr.c (gfc_conv_structure): Handle constructors for procedure + pointer components with allocatable result. + +2011-01-31 Janus Weil + + PR fortran/47455 + * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers + with pointer or allocatable result. + +2011-01-31 Paul Thomas + + PR fortran/47519 + * trans-stmt.c (gfc_trans_allocate): Improve handling of + deferred character lengths with SOURCE. + * iresolve.c (gfc_resolve_repeat): Calculate character + length from source length and ncopies. + * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE + expressions for ALLOCATE. + +2011-01-31 Janus Weil + + PR fortran/47463 + * resolve.c (resolve_typebound_subroutine): Bug fix for the case of + an argument of a typebound assignment being a component. + +2011-01-31 Rainer Orth + + * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use + LD_STATIC_OPTION, LD_DYNAMIC_OPTION. + +2011-01-31 Tobias Burnus + + PR fortran/47042 + * resolve.c (resolve_fl_procedure): Reject stmt functions + with pointer/allocatable attribute. + +2011-01-31 Tobias Burnus + + PR fortran/47042 + * interface.c (gfc_procedure_use): Add explicit interface check for + pointer/allocatable functions. + +2011-01-30 Paul Thomas + + PR fortran/47523 + * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op + expr and is assigned to a deferred character length scalar, + make sure that the function is called before reallocation, + so that the length is available. Include procedure pointer + and procedure pointer component rhs as well. + + PR fortran/45170 + PR fortran/35810 + PR fortran/47350 + * gfortran.dg/allocatable_function_5.f90: New test not added by + mistake on 2011-01-28. + +2011-01-29 Tobias Burnus + + PR fortran/47531 + * check.c (gfc_check_shape): Support kind argument in SHAPE. + * intrinsic.c (add_functions): Ditto. + * resolve.c (gfc_resolve_shape): Ditto. + * simplify.c (gfc_simplify_shape): Ditto. + * intrinsic.h (gfc_check_shape, gfc_resolve_shape, + gfc_simplify_shape): Update prototypes. + * intrinisc.text (SHAPE): Document kind argument. + +2011-01-28 Tobias Burnus + + PR fortran/47507 + * resolve.c (resolve_formal_arglist): Allow arguments with VALUE + attribute also without INTENT. + +2011-01-28 Tobias Burnus + + * gfortran.texi (Fortran 2003 status): Mention support for + nonconstant namelist variables. + +2011-01-28 Paul Thomas + Tobias Burnus + + PR fortran/45170 + PR fortran/35810 + PR fortran/47350 + * interface.c (compare_actual_formal): An allocatable or pointer + deferred length actual is only allowed if the formal argument + is also deferred length. Clean up whitespace. + * trans-expr.c (gfc_conv_procedure_call): Pass string length for + deferred character length formal arguments by reference. Do the + same for function results. + (gfc_trans_pointer_assignment): Do not do runtime check of lhs + and rhs character lengths, if deferred length lhs. In this case + set the lhs character length to that of the rhs. + (gfc_conv_string_parameter): Remove assert that string length is + an integer type. + (is_scalar_reallocatable_lhs): New function. + (alloc_scalar_allocatable_for_assignment): New function. + (gfc_trans_assignment_1): Call above new function. If the rhs is + a deferred character length itself, makes ure that the function + is called before reallocation, so that the length is available. + (gfc_trans_asssignment): Remove error about assignment to + deferred length character variables. + * gfortran.texi : Update entry about (re)allocation on + assignment. + * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred + length character variables. + * module.c (mio_typespec): Transfer deferred characteristic. + * trans-types.c (gfc_get_function_type): New code to generate + hidden typelist, so that those character lengths that are + passed by reference get the right type. + * resolve.c (resolve_contained_fntype): Supress error for + deferred character length functions. + (resolve_function, resolve_fl_procedure) The same. + (check_symbols): Remove the error that support for + entity with deferred type parameter is not yet implemented. + (resolve_fl_derived): The same. + match.c (alloc_opt_list): Allow MOLD for deferred length object. + * trans-decl.c (gfc_get_symbol_decl): For deferred character + length dummies, generate a local variable for string length. + (create_function_arglist): Hidden length can be a pointer. + (gfc_trans_deferred_vars): For deferred character length + results and dummies, assign the string length to the local + variable from the hidden argument on entry and the other way + round on exit, as appropriate. + +2011-01-27 Tobias Burnus + + PR fortran/47474 + * trans-decl.c (gfc_generate_function_code): Fix init + of allocatable result variable with allocatable components. + +2011-01-27 Tobias Burnus + + PR fortran/47472 + * options.c (gfc_handle_module_path_options): Save + module path without trailing slash as include path. + +2011-01-25 Tobias Burnus + + PR fortran/47448 + * interface.c (gfc_check_operator_interface): Fix + defined-assignment check. + +2011-01-23 Tobias Burnus + + PR fortran/47421 + * trans-decl.c (gfc_trans_deferred_vars): Do not nullify + scalar allocatable dummy arguments. + +2011-01-22 Thomas Koenig + + PR fortran/38536 + * resolve.c (gfc_iso_c_func_interface): For C_LOC, + check for array sections followed by component references + which are illegal. Also check for coindexed arguments. + +2011-01-22 Tobias Burnus + + PR fortran/47399 + * primary.c (gfc_match_varspec): Relax gcc_assert to allow for + PARAMETER TBP. + +2011-01-21 Tobias Burnus + + PR fortran/47394 + * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check): + Use defined instead of magic number exit status codes. + * scanner.c (include_line, gfc_new_file): Ditto. + +2011-01-21 Tobias Burnus + + PR fortran/47377 + * expr.c (gfc_check_pointer_assign): Reject expr data-targets + without pointer attribute. + +2011-01-18 Janus Weil + + PR fortran/47240 + * resolve.c (expression_rank): Fix rank of procedure poiner components. + * trans-expr.c (gfc_conv_procedure_call): Take care of procedure + pointer components as actual arguments. + +2011-01-17 Jakub Jelinek + + PR fortran/47331 + * gfortran.h (struct gfc_omp_saved_state): New type. + (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes. + * resolve.c (resolve_global_procedure): Call it around gfc_resolve + call. + * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New + functions. + +2011-01-17 Tobias Burnus + + PR fortran/47327 + * invoke.texi (Options to request or suppress errors + and warnings): Fix cross link. + +2011-01-15 Tobias Burnus + + * gfortran.texi: Update Fortran 2003 Status section. + + PR fortran/47177 + * invoke.texi: Add missing "-E" to the -dM example. + +2011-01-13 Tobias Burnus + + PR fortran/47268 + * intrinsic.texi (get_command_argument, get_environment_variable): + Mark arguments as optional in the Arguments section. + +2011-01-13 Kai Tietz + Tobias Burnus + + PR fortran/47260 + * trans-decl.c (gfc_get_extern_function_decl, + build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before + calling decl_attributes. + +2011-01-13 Tobias Burnus + Mikael Morin + + PR fortran/45848 + PR fortran/47204 + * gfortran.h (gfc_code): Move union ext's case_list into + the struct block. + * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list + by "block.". + * frontend-passes.c (gfc_code_walker): Ditto. + * match.c (gfc_match_goto, gfc_match_call, gfc_match_case, + gfc_match_type_is, gfc_match_class_is): Ditto. + * resolve.c (resolve_select, resolve_select_type): Ditto. + * st.c (gfc_free_statement): Ditto. + * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select, + gfc_trans_character_select): Ditto. + * parse.c (resolve_all_program_units): For error recovery, avoid + segfault is proc_name is NULL. + +2011-01-11 Paul Thomas + + PR fortran/47051 + * trans-array.c (gfc_alloc_allocatable_for_assignment): Change + to be standard compliant by testing for shape rather than size + before skipping reallocation. Improve comments. + +2011-01-09 Janus Weil + + PR fortran/47224 + * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece + of code. + +2011-01-09 Thomas Koenig + + PR fortran/38536 + * resolve.c (is_scalar_expr_ptr): For a substring reference, + use gfc_dep_compare_expr to compare start and end expession. + Add FIXME for using gfc_deb_compare_expr elsewhere. + +2011-01-09 Janus Weil + + PR fortran/46313 + * class.c (get_unique_type_string): Make type name start with upper + case letter. + +2011-01-08 Thomas Koenig + + PR fortran/46405 + * invoke.texi: Mention -ffree-line-length-none and + -ffixed-line-length-none for preprocessing. + +2011-01-08 Paul Thomas + + PR fortran/46896 + * trans-expr.c (gfc_conv_procedure_call): With a non-copying + procedure argument (eg TRANSPOSE) use a temporary if there is + any chance of aliasing due to host or use association. + (arrayfunc_assign_needs_temporary): Correct logic for function + results and do not use a temporary for implicitly PURE + variables. Use a temporary for Cray pointees. + * symbol.c (gfc_add_save): Explicit SAVE not compatible with + implicit pureness of containing procedure. + * decl.c (match_old_style_init, gfc_match_data): Where decl + would fail in PURE procedure, set implicit_pure to zero. + * gfortran.h : Add implicit_pure to structure symbol_attr and + add prototype for function gfc_implicit_pure. + * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context): + Where decl would fail in PURE procedure, reset implicit_pure. + * io.c (match_vtag, gfc_match_open, gfc_match_close, + gfc_match_print, gfc_match_inquire, gfc_match_wait): The same. + * match.c (gfc_match_critical, gfc_match_stopcode, + sync_statement, gfc_match_allocate, gfc_match_deallocate): The + same. + * parse.c (decode_omp_directive): The same. + (parse_contained): If not PURE, set implicit pure attribute. + * resolve.c (resolve_formal_arglist, resolve_structure_cons, + resolve_function, resolve_ordinary_assign) : The same. + (gfc_implicit_pure): New function. + * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE + to ab_attribute enum and use it in this function. + +2011-01-08 Thomas Koenig + + PR fortran/45777 + * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix, + make static and move in front of its only caller, to ... + * trans-array.c (symbols_could_alias): ... here. + Pass information about pointer and target status as + arguments. Allocatable arrays don't alias anything + unless they have the POINTER attribute. + (gfc_could_be_alias): Keep track of pointer and target + status when following references. Also check if typespecs + of components match those of other components or symbols. + +2011-01-07 Tobias Burnus + + PR fortran/41580 + * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab. + * intrinsic.c (add_functions): Use simplify functions for + EXTENDS_TYPE_OF and SAME_TYPE_AS. + * intrinsic.h (gfc_simplify_extends_type_of, + gfc_simplify_same_type_as): New prototypes. + * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of, + gfc_simplify_same_type_as): New functions. + +2011-01-07 Janus Weil + + PR fortran/47189 + PR fortran/47194 + * gfortran.h (gfc_lval_expr_from_sym): Moved prototype. + * class.c (gfc_class_null_initializer): Initialize _vptr to declared + type. + * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c. + * resolve.c (resolve_deallocate_expr): _data component will be added + at translation stage. + * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c. + * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type. + +2011-01-06 Daniel Franke + + PR fortran/33117 + PR fortran/46478 + * parse.c (parse_interface): Remove check for procedure types. + * interface.c (check_interface0): Verify that procedures are + either all SUBROUTINEs or all FUNCTIONs. + +2011-01-05 Janus Weil + + PR fortran/47180 + * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure + 'vtab' is initialized). + +2011-01-05 Janus Weil + + PR fortran/47180 + * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer + assignment, set the _vptr component to the declared type. + +2011-01-05 Thomas Koenig + + PR fortran/46017 + * resolve.c (resolve_allocate_deallocate): Follow references to + check for duplicate occurence of allocation/deallocation objects. + +2011-01-05 Janus Weil + + PR fortran/47024 + * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component + of polymorphic allocatables according to their declared type. + +2011-01-04 Janus Weil + + PR fortran/46448 + * class.c (gfc_find_derived_vtab): Set the module field for the copying + routine to make sure it receives module name mangling. + +2011-01-03 Jakub Jelinek + + * gfortranspec.c (lang_specific_driver): Update copyright notice + dates. + +2011-01-03 Janus Weil + + * intrinsic.texi (LEADZ): Fix example. + +2011-01-02 Janus Weil + + PR fortran/46408 + * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_ + routine. + + +Copyright (C) 2011 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. -- cgit v1.2.3