+2010-05-17 Nathan Froyd <froydnj@cs.rice.edu>
+
+ * trans-array.c (gfc_trans_array_constructor_value): Use
+ build_constructor instead of build_constructor_from_list.
+ (gfc_build_constant_array_constructor): Likewise.
+ * trans-decl.c (create_main_function): Likewise.
+ * trans-stmt.c (gfc_trans_character_select): Likewise.
+
+2010-05-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44044
+ * resolve.c (resolve_fl_var_and_proc): Move error messages here from ...
+ (resolve_fl_variable_derived): ... this place.
+ (resolve_symbol): Make sure function symbols (and their result
+ variables) are not resolved twice.
+
+2010-05-16 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/35779
+ * array.c (match_array_list): Revert change from 2010-05-13.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * trans-decl.c (module_htab_decls_hash): Revert last change.
+
+2010-05-16 Richard Guenther <rguenther@suse.de>
+
+ * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE.
+
+2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * options.c (set_Wall): Remove special logic for Wuninitialized
+ without -O.
+
+2010-05-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44154
+ PR fortran/42647
+ * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of
+ if branches.
+
+2010-05-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43207
+ PR fortran/43969
+ * gfortran.h (gfc_class_null_initializer): New prototype.
+ * expr.c (gfc_class_null_initializer): New function to build a NULL
+ initializer for CLASS pointers.
+ * symbol.c (gfc_build_class_symbol): Modify internal naming of class
+ containers. Remove default NULL initialization of $data component.
+ * trans.c (gfc_allocate_array_with_status): Fix wording of an error
+ message.
+ * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign):
+ Use new function 'gfc_class_null_initializer'.
+ * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar
+ class variables.
+
+2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/44135
+ * fortran/interface.c (get_sym_storage_size): Use signed instead of
+ unsigned mpz_get_?i routines.
+
+2010-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ * trans.c (trans_code): Set backend locus early.
+ * trans-decl.c (gfc_get_fake_result_decl): Use source location
+ of the function instead of current input_location.
+
+2010-05-13 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/35779
+ * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag.
+ Updated all usages.
+ * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere.
+ * array.c (match_array_list): Pass on gfc_init_expr_flag when matching
+ iterators.
+
+2010-05-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/44036
+ * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause
+ variable lists.
+ * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize
+ by reference dummy procedures or non-dummy procedure pointers.
+ (gfc_omp_predetermined_sharing): Return
+ OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures.
+
+2010-05-11 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/43711
+ * openmp.c (gfc_match_omp_taskwait): Report unexpected characters
+ after OMP statement.
+ (gfc_match_omp_critical): Likewise.
+ (gfc_match_omp_flush): Likewise.
+ (gfc_match_omp_workshare): Likewise.
+ (gfc_match_omp_master): Likewise.
+ (gfc_match_omp_ordered): Likewise.
+ (gfc_match_omp_atomic): Likewise.
+ (gfc_match_omp_barrier): Likewise.
+ (gfc_match_omp_end_nowait): Likewise.
+
+2010-05-11 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/31820
+ * resolve.c (validate_case_label_expr): Removed FIXME.
+ (resolve_select): Raise default warning on case labels out of range
+ of the case expression.
+
+2010-05-10 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/27866
+ PR fortran/35003
+ PR fortran/42809
+ * intrinsic.c (gfc_convert_type_warn): Be more discriminative
+ about conversion warnings.
+
+2010-05-10 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44044
+ * match.c (gfc_match_select_type): Move error message to
+ resolve_select_type.
+ * resolve.c (resolve_select_type): Error message moved here from
+ gfc_match_select_type. Correctly set type of temporary.
+
+2010-05-10 Richard Guenther <rguenther@suse.de>
+
+ * trans-decl.c (gfc_build_library_function_decl): Split out
+ worker to ...
+ (build_library_function_decl_1): ... this new function.
+ Set a fnspec attribute if a specification was provided.
+ (gfc_build_library_function_decl_with_spec): New function.
+ (gfc_build_intrinsic_function_decls): Annotate internal_pack
+ and internal_unpack.
+
+2010-05-07 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/40728
+ * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol
+ as external
+
+2010-05-07 Jason Merrill <jason@redhat.com>
+
+ * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr
+ to avoid -Wc++-compat warning.
+
+2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 40989
+ * options.c (gfc_handle_option): Add argument kind.
+ * gfortran.h (gfc_handle_option): Update declaration.
+
+2010-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43985
+ * trans-types.c (gfc_sym_type): Mark Cray pointees as
+ GFC_POINTER_TYPE_P.
+
+2010-05-05 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/32331
+ * resolve.c (traverse_data_list): Rephrase error message for
+ non-constant bounds in data-implied-do.
+
+2010-05-05 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/24978
+ * gfortran.h: Removed repeat count from constructor, removed
+ all usages.
+ * data.h (gfc_assign_data_value_range): Changed return value from
+ void to gfc_try.
+ * data.c (gfc_assign_data_value): Add location to constructor element.
+ (gfc_assign_data_value_range): Call gfc_assign_data_value()
+ for each element in range. Return early if an error was generated.
+ * resolve.c (check_data_variable): Stop early if range assignment
+ generated an error.
+
+2010-05-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43696
+ * resolve.c (resolve_fl_derived): Some fixes for class variables.
+ * symbol.c (gfc_build_class_symbol): Add separate class container for
+ class pointers.
+
+2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/43592
+ * fortran/parse.c (parse_interface): Do not dereference a NULL pointer.
+
+2010-05-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
+ for lcobound, ucobound, image_index and this_image.
+ * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
+ gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
+ * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
+ gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
+ functions.
+ (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
+
+2010-04-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ PR fortran/43931
+ * trans-types.c (gfc_get_array_descriptor_base): Fix index
+ calculation for array descriptor types.
+
+2010-04-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43896
+ * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove
+ initializers for PPC members of the vtabs.
+
+2010-04-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42274
+ * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc'
+ attribute for all PPC members of the vtypes.
+ (copy_vtab_proc_comps): Copy the correct interface.
+ * trans.h (gfc_trans_assign_vtab_procs): Modified prototype.
+ * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as
+ a dummy argument and make sure all PPC members of the vtab are
+ initialized correctly.
+ (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument
+ in call to gfc_trans_assign_vtab_procs.
+ * trans-stmt.c (gfc_trans_allocate): Ditto.
+
+2010-04-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43326
+ * resolve.c (resolve_typebound_function): Renamed
+ resolve_class_compcall.Do all the detection of class references
+ here.
+ (resolve_typebound_subroutine): resolve_class_typebound_call
+ renamed. Otherwise same as resolve_typebound_function.
+ (gfc_resolve_expr): Call resolve_typebound_function.
+ (resolve_code): Call resolve_typebound_subroutine.
+
+2010-04-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43492
+ * resolve.c (resolve_typebound_generic_call): For CLASS methods
+ pass back the specific symtree name, rather than the target
+ name.
+
+2010-04-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/42353
+ * resolve.c (resolve_structure_cons): Make the initializer of
+ the vtab component 'extends' the same type as the component.
+
+2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/42680
+ * interface.c (check_interface1): Pass symbol name rather than NULL to
+ gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to
+ trap MULL. (gfc_compare_derived_types): Revert previous change
+ incorporated incorrectly during merge from trunk, r155778.
+ * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather
+ than NULL to gfc_compare_interfaces.
+ * symbol.c (add_generic_specifics): Likewise.
+
+2010-02-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42353
+ * interface.c (gfc_compare_derived_types): Add condition for vtype.
+ * symbol.c (gfc_find_derived_vtab): Sey access to private.
+ (gfc_find_derived_vtab): Likewise.
+ * module.c (ab_attribute): Add enumerator AB_VTAB.
+ (mio_symbol_attribute): Use new attribute, AB_VTAB.
+ (check_for_ambiguous): Likewise.
+
+2010-04-29 Paul Thomas <pault@gcc.gnu.org>
+ Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41829
+ * trans-expr.c (select_class_proc): Remove function.
+ (conv_function_val): Delete reference to previous.
+ (gfc_conv_derived_to_class): Add second argument to the call to
+ gfc_find_derived_vtab.
+ (gfc_conv_structure): Exclude proc_pointer components when
+ accessing $data field of class objects.
+ (gfc_trans_assign_vtab_procs): New function.
+ (gfc_trans_class_assign): Add second argument to the call to
+ gfc_find_derived_vtab.
+ * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and
+ implement holding off searching for the vptr derived type.
+ (add_proc_component): New function.
+ (add_proc_comps): New function.
+ (add_procs_to_declared_vtab1): New function.
+ (copy_vtab_proc_comps): New function.
+ (add_procs_to_declared_vtab): New function.
+ (void add_generic_specifics): New function.
+ (add_generics_to_declared_vtab): New function.
+ (gfc_find_derived_vtab): Add second argument to the call to
+ gfc_find_derived_vtab. Add the calls to
+ add_procs_to_declared_vtab and add_generics_to_declared_vtab.
+ * decl.c (build_sym, build_struct): Use new arg in calls to
+ gfc_build_class_symbol.
+ * gfortran.h : Add vtype bitfield to symbol_attr. Remove the
+ definition of struct gfc_class_esym_list. Modify prototypes
+ of gfc_build_class_symbol and gfc_find_derived_vtab.
+ * trans-stmt.c (gfc_trans_allocate): Add second argument to the
+ call to gfc_find_derived_vtab.
+ * module.c : Add the vtype attribute.
+ * trans.h : Add prototype for gfc_trans_assign_vtab_procs.
+ * resolve.c (resolve_typebound_generic_call): Add second arg
+ to pass along the generic name for class methods.
+ (resolve_typebound_call): The same.
+ (resolve_compcall): Use the second arg to carry the generic
+ name from the above. Remove the reference to class_esym.
+ (check_members, check_class_members, resolve_class_esym,
+ hash_value_expr): Remove functions.
+ (resolve_class_compcall, resolve_class_typebound_call): Modify
+ to use vtable rather than member by member calls.
+ (gfc_resolve_expr): Modify second arg in call to
+ resolve_compcall.
+ (resolve_select_type): Add second arg in call to
+ gfc_find_derived_vtab.
+ (resolve_code): Add second arg in call resolve_typebound_call.
+ (resolve_fl_derived): Exclude vtypes from check for late
+ procedure definitions. Likewise for checking of explicit
+ interface and checking of pass arg.
+ * iresolve.c (gfc_resolve_extends_type_of): Add second arg in
+ calls to gfc_find_derived_vtab.
+ * match.c (select_type_set_tmp): Use new arg in call to
+ gfc_build_class_symbol.
+ * trans-decl.c (gfc_get_symbol_decl): Complete vtable if
+ necessary.
+ * parse.c (endType): Finish incomplete classes.
+
+2010-04-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ PR fortran/43919
+ * simplify.c (simplify_cobound): Handle scalar coarrays.
+
+2010-04-27 Tobias Burnus <burnus@net-b.de>
+
+ * gfc-internals.texi: Update copyright year.
+ * gfortran.texi: Ditto.
+ * invoke.texi: Ditto.
+
+2010-04-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * resolve.c (resolve_allocate_expr): Allow array coarrays.
+ * trans-types.h (gfc_get_array_type_bounds): Update prototype.
+ * trans-types.c (gfc_get_array_type_bounds,
+ gfc_get_array_descriptor_base): Add corank argument.
+ * trans-array.c (gfc_array_init_size): Handle corank.
+ (gfc_trans_create_temp_array, gfc_array_allocate,
+ gfc_conv_expr_descriptor): Add corank argument to call.
+ * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto.
+
+2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/30073
+ PR fortran/43793
+ * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead
+ of mucking with a tree directly.
+
+2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/43832
+ * io.c (gfc_match_open): Remove branch to syntax error. Add call to
+ gfc_error with new error message.
+
+2010-04-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43841
+ PR fortran/43843
+ * trans-expr.c (gfc_conv_expr): Supply an address expression for
+ GFC_SS_REFERENCE.
+ (gfc_conv_expr_reference): Call gfc_conv_expr and return for
+ GFC_SS_REFERENCE.
+ * trans-array.c (gfc_add_loop_ss_code): Store the value rather
+ than the address of a GFC_SS_REFERENCE.
+ * trans.h : Change comment on GFC_SS_REFERENCE.
+
+2010-04-22 Richard Guenther <rguenther@suse.de>
+
+ PR fortran/43829
+ * resolve.c (gfc_resolve_index): Wrap around ...
+ (gfc_resolve_index_1): ... this. Add parameter to allow
+ any integer kind index type.
+ (resolve_array_ref): Allow any integer kind for the start
+ index of an array ref.
+
+2010-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/43836
+ * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on
+ the decl.
+
+2010-04-20 Harald Anlauf <anlauf@gmx.de>
+
+ * intrinsic.c (sort_actual): Remove 'is' in error message.
+
+2010-04-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43227
+ * resolve.c (resolve_fl_derived): If a component character
+ length has not been resolved, do so now.
+ (resolve_symbol): The same as above for a symbol character
+ length.
+ * trans-decl.c (gfc_create_module_variable): A 'length' decl is
+ not needed for a character valued, procedure pointer.
+
+ PR fortran/43266
+ * resolve.c (ensure_not_abstract_walker): If 'overriding' is
+ not found, return FAILURE rather than ICEing.
+
+2010-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/43339
+ * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for
+ sequential loops private in the innermost containing task region.
+
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * f95-lang.c (gfc_init_decl_processing): Remove second argument in call
+ to build_common_tree_nodes.
+
+2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/31538
+ * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of
+ gfc_msg_bounds by using 'Array bound mismatch' directly.
+ (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.
+ * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place.
+ * fortran/trans.h: Remove extern definition of gfc_msg_bounds.
+
+2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * gfortran.texi: Update information on temporary file locations.
+
+2010-04-16 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (gfc_build_qualified_array): Ensure
+ ubound.N and lbound.N artificial variable names don't appear
+ in debug info.
+
+2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/30073
+ * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant
+ block of code. Set name to the variable associated with the descriptor.
+
+2010-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P
+ on VAR_DECL LBOUND and/or UBOUND, even for -O1.
+
+2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * intrinsic.texi: Add the missing specific name of intrinsic
+ procedure where the specific name is identical to the generic name.
+ Fix inconsistent or mismatch in the argument names in intrinsic
+ procedure descriptions. Add the SCALAR allocatable description to
+ ALLOCATED.
+
+2010-04-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * array.c (gfc_find_array_ref): Handle codimensions.
+ (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error.
+ * check.c (is_coarray, dim_corank_check, gfc_check_lcobound,
+ gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound):
+ New functions.
+ * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX,
+ GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE,
+ GFC_ISYM_UCOBOUND.
+ * intrinsic.h (add_functions): Add this_image, image_index,
+ lcobound and ucobound intrinsics.
+ * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound,
+ gfc_check_image_index, gfc_check_this_image,
+ gfc_simplify_image_index, gfc_simplify_lcobound,
+ gfc_simplify_this_image, gfc_simplify_ucobound):
+ New function prototypes.
+ * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE
+ IMAGE_INDEX): Document new intrinsic functions.
+ * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none
+ error fatal.
+ * simplify.c (simplify_bound_dim): Handle coarrays.
+ (simplify_bound): Update simplify_bound_dim call.
+ (gfc_simplify_num_images): Add -fcoarray=none check.
+ (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound,
+ gfc_simplify_ucobound, gfc_simplify_ucobound): New functions.
+
+2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/43747
+ * constructor.c: Fix typo in comment.
+ * expr.c (find_array_section): Add check for max array limit.
+
+2010-04-13 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR bootstrap/31400
+ * gfortranspec.c (lookup_option): Check for -static and return
+ OPTION_static.
+ (lang_specific_driver): Break when OPTION_static is discovered.
+
+2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * array.c (extract_element): Restore function from trunk.
+ (gfc_get_array_element): Restore function from trunk.
+ (gfc_expand_constructor): Restore check against
+ flag_max_array_constructor.
+ * constructor.c (node_copy_and_append): Delete unused.
+ * gfortran.h: Delete comment and extra include.
+ * constructor.h: Bump copyright and clean up TODO comments.
+ * resolve.c: Whitespace.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro
+ with direct access access to elements. Adjusted prototype, fixed all
+ callers.
+ (gfc_simplify_dot_product): Removed duplicate check for zero-sized
+ array.
+ (gfc_simplify_matmul): Removed usage of ADVANCE macro.
+ (gfc_simplify_spread): Removed workaround, directly insert elements
+ at a given array position.
+ (gfc_simplify_transpose): Likewise.
+ (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding
+ function calls.
+ (gfc_simplify_unpack): Likewise.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * simplify.c (only_convert_cmplx_boz): Renamed to ...
+ (convert_boz): ... this and moved to start of file.
+ (gfc_simplify_abs): Whitespace fix.
+ (gfc_simplify_acos): Whitespace fix.
+ (gfc_simplify_acosh): Whitespace fix.
+ (gfc_simplify_aint): Whitespace fix.
+ (gfc_simplify_dint): Whitespace fix.
+ (gfc_simplify_anint): Whitespace fix.
+ (gfc_simplify_and): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_dnint): Whitespace fix.
+ (gfc_simplify_asin): Whitespace fix.
+ (gfc_simplify_asinh): Moved creation of result-expr out of switch.
+ (gfc_simplify_atan): Likewise.
+ (gfc_simplify_atanh): Whitespace fix.
+ (gfc_simplify_atan2): Whitespace fix.
+ (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED.
+ (gfc_simplify_bessel_j1): Likewise.
+ (gfc_simplify_bessel_jn): Likewise.
+ (gfc_simplify_bessel_y0): Likewise.
+ (gfc_simplify_bessel_y1): Likewise.
+ (gfc_simplify_bessel_yn): Likewise.
+ (gfc_simplify_ceiling): Reorderd statements.
+ (simplify_cmplx): Use convert_boz(), check for constant arguments.
+ Whitespace fix.
+ (gfc_simplify_cmplx): Use correct default kind. Removed check for
+ constant arguments.
+ (gfc_simplify_complex): Replaced if-gate. Removed check for
+ constant arguments.
+ (gfc_simplify_conjg): Whitespace fix.
+ (gfc_simplify_cos): Whitespace fix.
+ (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_dcmplx): Removed check for constant arguments.
+ (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant().
+ (gfc_simplify_digits): Whitespace fix.
+ (gfc_simplify_dim): Whitespace fix.
+ (gfc_simplify_dprod): Reordered statements.
+ (gfc_simplify_erf): Whitespace fix.
+ (gfc_simplify_erfc): Whitespace fix.
+ (gfc_simplify_epsilon): Whitespace fix.
+ (gfc_simplify_exp): Whitespace fix.
+ (gfc_simplify_exponent): Use convert_boz().
+ (gfc_simplify_floor): Reorderd statements.
+ (gfc_simplify_gamma): Whitespace fix.
+ (gfc_simplify_huge): Whitespace fix.
+ (gfc_simplify_iand): Whitespace fix.
+ (gfc_simplify_ieor): Whitespace fix.
+ (simplify_intconv): Use gfc_convert_constant().
+ (gfc_simplify_int): Use simplify_intconv().
+ (gfc_simplify_int2): Reorderd statements.
+ (gfc_simplify_idint): Reorderd statements.
+ (gfc_simplify_ior): Whitespace fix.
+ (gfc_simplify_ishftc): Removed duplicate type check.
+ (gfc_simplify_len): Use range_check() instead of manual range check.
+ (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix.
+ (gfc_simplify_log): Whitespace fix.
+ (gfc_simplify_log10): Whitespace fix.
+ (gfc_simplify_minval): Whitespace fix.
+ (gfc_simplify_maxval): Whitespace fix.
+ (gfc_simplify_mod): Whitespace fix.
+ (gfc_simplify_modulo): Whitespace fix.
+ (simplify_nint): Reorderd statements.
+ (gfc_simplify_not): Whitespace fix.
+ (gfc_simplify_or): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_radix): Removed unused result-variable. Whitespace fix.
+ (gfc_simplify_range): Removed unused result-variable. Whitespace fix.
+ (gfc_simplify_real): Use convert_boz() and gfc_convert_constant().
+ (gfc_simplify_realpart): Whitespace fix.
+ (gfc_simplify_selected_char_kind): Removed unused result-variable.
+ (gfc_simplify_selected_int_kind): Removed unused result-variable.
+ (gfc_simplify_selected_real_kind): Removed unused result-variable.
+ (gfc_simplify_sign): Whitespace fix.
+ (gfc_simplify_sin): Whitespace fix.
+ (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix.
+ (gfc_simplify_tan): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type.
+ (gfc_simplify_xor): Replaced if-gate by more common switch-over-type.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * gfortran.h (gfc_start_constructor): Removed.
+ (gfc_get_array_element): Removed.
+ * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr
+ instead. Fixed all callers.
+ (extract_element): Removed.
+ (gfc_expand_constructor): Temporarily removed check for
+ max-array-constructor. Will be re-introduced later if still required.
+ (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr
+ instead. Fixed all callers.
+ * expr.c (find_array_section): Replaced manual lookup of elements
+ by gfc_constructor_lookup.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * gfortran.h (gfc_get_null_expr): New prototype.
+ (gfc_get_operator_expr): New prototype.
+ (gfc_get_character_expr): New prototype.
+ (gfc_get_iokind_expr): New prototype.
+ * expr.c (gfc_get_null_expr): New.
+ (gfc_get_character_expr): New.
+ (gfc_get_iokind_expr): New.
+ (gfc_get_operator_expr): Moved here from matchexp.c (build_node).
+ * matchexp.c (build_node): Renamed and moved to
+ expr.c (gfc_get_operator_expr). Reordered arguments to match
+ other functions. Fixed all callers.
+ (gfc_get_parentheses): Use specific function to build expr.
+ * array.c (gfc_match_array_constructor): Likewise.
+ * arith.c (eval_intrinsic): Likewise.
+ (gfc_hollerith2int): Likewise.
+ (gfc_hollerith2real): Likewise.
+ (gfc_hollerith2complex): Likewise.
+ (gfc_hollerith2logical): Likewise.
+ * data.c (create_character_intializer): Likewise.
+ * decl.c (gfc_match_null): Likewise.
+ (enum_initializer): Likewise.
+ * io.c (gfc_match_format): Likewise.
+ (match_io): Likewise.
+ * match.c (gfc_match_nullify): Likewise.
+ * primary.c (match_string_constant): Likewise.
+ (match_logical_constant): Likewise.
+ (build_actual_constructor): Likewise.
+ * resolve.c (build_default_init_expr): Likewise.
+ * symbol.c (generate_isocbinding_symbol): Likewise.
+ (gfc_build_class_symbol): Likewise.
+ (gfc_find_derived_vtab): Likewise.
+ * simplify.c (simplify_achar_char): Likewise.
+ (gfc_simplify_adjustl): Likewise.
+ (gfc_simplify_adjustr): Likewise.
+ (gfc_simplify_and): Likewise.
+ (gfc_simplify_bit_size): Likewise.
+ (gfc_simplify_is_iostat_end): Likewise.
+ (gfc_simplify_is_iostat_eor): Likewise.
+ (gfc_simplify_isnan): Likewise.
+ (simplify_bound): Likewise.
+ (gfc_simplify_leadz): Likewise.
+ (gfc_simplify_len_trim): Likewise.
+ (gfc_simplify_logical): Likewise.
+ (gfc_simplify_maxexponent): Likewise.
+ (gfc_simplify_minexponent): Likewise.
+ (gfc_simplify_new_line): Likewise.
+ (gfc_simplify_null): Likewise.
+ (gfc_simplify_or): Likewise.
+ (gfc_simplify_precision): Likewise.
+ (gfc_simplify_repeat): Likewise.
+ (gfc_simplify_scan): Likewise.
+ (gfc_simplify_size): Likewise.
+ (gfc_simplify_trailz): Likewise.
+ (gfc_simplify_trim): Likewise.
+ (gfc_simplify_verify): Likewise.
+ (gfc_simplify_xor): Likewise.
+ * trans-io.c (build_dt): Likewise.
+ (gfc_new_nml_name_expr): Removed.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * arith.h (gfc_constant_result): Removed prototype.
+ * constructor.h (gfc_build_array_expr): Removed prototype.
+ (gfc_build_structure_constructor_expr): Removed prototype.
+ * gfortran.h (gfc_int_expr): Removed prototype.
+ (gfc_logical_expr): Removed prototype.
+ (gfc_get_array_expr): New prototype.
+ (gfc_get_structure_constructor_expr): New prototype.
+ (gfc_get_constant_expr): New prototype.
+ (gfc_get_int_expr): New prototype.
+ (gfc_get_logical_expr): New prototype.
+ * arith.c (gfc_constant_result): Moved and renamed to
+ expr.c (gfc_get_constant_expr). Fixed all callers.
+ * constructor.c (gfc_build_array_expr): Moved and renamed to
+ expr.c (gfc_get_array_expr). Split gfc_typespec argument to type
+ and kind. Fixed all callers.
+ (gfc_build_structure_constructor_expr): Moved and renamed to
+ expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument
+ to type and kind. Fixed all callers.
+ * expr.c (gfc_logical_expr): Renamed to ...
+ (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers.
+ (gfc_int_expr): Renamed to ...
+ (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all
+ callers.
+ (gfc_get_constant_expr): New.
+ (gfc_get_array_expr): New.
+ (gfc_get_structure_constructor_expr): New.
+ * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr
+ instead.
+
+2010-04-12 Daniel Franke <franke.daniel@gmail.com>
+
+ * constructor.h: New.
+ * constructor.c: New.
+ * Make-lang.in: Add new files to F95_PARSER_OBJS.
+ * arith.c (reducy_unary): Use constructor API.
+ (reduce_binary_ac): Likewise.
+ (reduce_binary_ca): Likewise.
+ (reduce_binary_aa): Likewise.
+ * check.c (gfc_check_pack): Likewise.
+ (gfc_check_reshape): Likewise.
+ (gfc_check_unpack): Likewise.
+ * decl.c (add_init_expr_to_sym): Likewise.
+ (build_struct): Likewise.
+ * dependency.c (gfc_check_dependency): Likewise.
+ (contains_forall_index_p): Likewise.
+ * dump-parse-tree.c (show_constructor): Likewise.
+ * expr.c (free_expr0): Likewise.
+ (gfc_copy_expr): Likewise.
+ (gfc_is_constant_expr): Likewise.
+ (simplify_constructor): Likewise.
+ (find_array_element): Likewise.
+ (find_component_ref): Likewise.
+ (find_array_section): Likewise.
+ (find_substring_ref): Likewise.
+ (simplify_const_ref): Likewise.
+ (scalarize_intrinsic_call): Likewise.
+ (check_alloc_comp_init): Likewise.
+ (gfc_default_initializer): Likewise.
+ (gfc_traverse_expr): Likewise.
+ * iresolve.c (check_charlen_present): Likewise.
+ (gfc_resolve_reshape): Likewise.
+ (gfc_resolve_transfer): Likewise.
+ * module.c (mio_constructor): Likewise.
+ * primary.c (build_actual_constructor): Likewise.
+ (gfc_match_structure_constructor): Likewise.
+ * resolve.c (resolve_structure_cons): Likewise.
+ * simplify.c (is_constant_array_expr): Likewise.
+ (init_result_expr): Likewise.
+ (transformational_result): Likewise.
+ (simplify_transformation_to_scalar): Likewise.
+ (simplify_transformation_to_array): Likewise.
+ (gfc_simplify_dot_product): Likewise.
+ (simplify_bound): Likewise.
+ (simplify_matmul): Likewise.
+ (simplify_minval_maxval): Likewise.
+ (gfc_simplify_pack): Likewise.
+ (gfc_simplify_reshape): Likewise.
+ (gfc_simplify_shape): Likewise.
+ (gfc_simplify_spread): Likewise.
+ (gfc_simplify_transpose): Likewise.
+ (gfc_simplify_unpack): Likewise.q
+ (gfc_convert_constant): Likewise.
+ (gfc_convert_char_constant): Likewise.
+ * target-memory.c (size_array): Likewise.
+ (encode_array): Likewise.
+ (encode_derived): Likewise.
+ (interpret_array): Likewise.
+ (gfc_interpret_derived): Likewise.
+ (expr_to_char): Likewise.
+ (gfc_merge_initializers): Likewise.
+ * trans-array.c (gfc_get_array_constructor_size): Likewise.
+ (gfc_trans_array_constructor_value): Likewise.
+ (get_array_ctor_strlen): Likewise.
+ (gfc_constant_array_constructor_p): Likewise.
+ (gfc_build_constant_array_constructor): Likewise.
+ (gfc_trans_array_constructor): Likewise.
+ (gfc_conv_array_initializer): Likewise.
+ * trans-decl.c (check_constant_initializer): Likewise.
+ * trans-expr.c (flatten_array_ctors_without_strlen): Likewise.
+ (gfc_apply_interface_mapping_to_cons): Likewise.
+ (gfc_trans_structure_assign): Likewise.
+ (gfc_conv_structure): Likewise.
+ * array.c (check_duplicate_iterator): Likewise.
+ (match_array_list): Likewise.
+ (match_array_cons_element): Likewise.
+ (gfc_match_array_constructor): Likewise.
+ (check_constructor_type): Likewise.
+ (check_constructor): Likewise.
+ (expand): Likewise.
+ (expand_constructor): Likewise.
+ (extract_element): Likewise.
+ (gfc_expanded_ac): Likewise.
+ (resolve_array_list): Likewise.
+ (gfc_resolve_character_array_constructor): Likewise.
+ (copy_iterator): Renamed to ...
+ (gfc_copy_iterator): ... this.
+ (gfc_append_constructor): Removed.
+ (gfc_insert_constructor): Removed unused function.
+ (gfc_get_constructor): Removed.
+ (gfc_free_constructor): Removed.
+ (qgfc_copy_constructor): Removed.
+ * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'.
+ Removed all references. Replaced constructor list by splay-tree.
+ (struct gfc_constructor): Removed member 'next', moved 'offset' from
+ the inner struct, added member 'base'.
+ (gfc_append_constructor): Removed prototype.
+ (gfc_insert_constructor): Removed prototype.
+ (gfc_get_constructor): Removed prototype.
+ (gfc_free_constructor): Removed prototype.
+ (qgfc_copy_constructor): Removed prototype.
+ (gfc_copy_iterator): New prototype.
+ * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype.
+
+2010-04-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43591
+ * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle
+ proc-pointers and type-bound procedures.
+ (gfc_specification_expr): Check proc-pointers for pureness.
+
+2010-04-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR bootstrap/43684
+ * gfortranspec.c (lang_specific_driver): Do not expose vars
+ only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling
+ for such.
+
+2010-04-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * decl.c (variable_decl, match_attr_spec): Fix setting the array
+ spec.
+ * array.c (match_subscript,gfc_match_array_ref): Add coarray support.
+ * data.c (gfc_assign_data_value): Ditto.
+ * expr.c (gfc_check_pointer_assign): Add check for coarray constraint.
+ (gfc_traverse_expr): Traverse also through codimension expressions.
+ (gfc_is_coindexed, gfc_has_ultimate_allocatable,
+ gfc_has_ultimate_pointer): New functions.
+ * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays.
+ (gfc_array_ref): Add codimen.
+ (gfc_array_ref): Add in_allocate.
+ (gfc_is_coindexed, gfc_has_ultimate_allocatable,
+ gfc_has_ultimate_pointer): Add prototypes.
+ * interface.c (compare_parameter, compare_actual_formal,
+ check_intents): Add coarray constraints.
+ * match.c (gfc_match_iterator): Add coarray constraint.
+ * match.h (gfc_match_array_ref): Update interface.
+ * primary.c (gfc_match_varspec): Handle codimensions.
+ * resolve.c (coarray_alloc, inquiry_argument): New static variables.
+ (check_class_members): Return gfc_try instead for error recovery.
+ (resolve_typebound_function,resolve_typebound_subroutine,
+ check_members): Handle return value of check_class_members.
+ (resolve_structure_cons, resolve_actual_arglist, resolve_function,
+ check_dimension, compare_spec_to_ref, resolve_array_ref,
+ resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays,
+ resolve_allocate_expr, resolve_ordinary_assign): Add coarray
+ support.
+ * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr):
+ Skip over coarray refs.
+ (gfc_array_allocate) Add support for references containing coindexes.
+ * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute.
+ (gfc_map_intrinsic_function): Ignore codimensions.
+
+2010-04-08 Bud Davis <bdavis9659@sbcglobal.net>
+
+ PR fortran/28039
+ * io.c (check_format_string): Added check for additional non
+ blank characters after the format string was successfully
+ parsed.
+ * io.c (check_format): Changed the error messages for positive
+ int required and period required to drop through the error logic
+ and report with gfc_error instead of gfc_error_now. Corrected
+ format postion for hollerith strings.
+
+2010-04-08 Tobias Burnus <burnus@net-b.de>
+
+ * module.c (use_iso_fortran_env_module): Fix standard check.
+
+2010-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ * parse.c (parse_derived, parse_enum): Avoid set but not used
+ warning.
+
+2010-04-07 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/40539
+ * gfortran.texi: Add section about representation of
+ LOGICAL variables.
+
+2010-04-07 Simon Baldwin <simonb@google.com>
+
+ * cpp.c (cb_cpp_error): Add warning reason argument, set a value
+ for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE.
+
+2010-04-07 Richard Guenther <rguenther@suse.de>
+
+ * options.c (gfc_init_options): Do not set.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * array.c (gfc_match_array_spec): Add error for -fcoarray=none.
+ * match.c (gfc_match_critical, sync_statement): Ditto.
+ * gfortran.h (gfc_fcoarray): New enum.
+ (gfc_option_t): Use it.
+ * lang.opt (fcoarray): Add new flag.
+ * invoke.texi (fcoarray): Document it.
+ * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=.
+ (gfc_handle_coarray_option): New function.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.h (gfc_array_spec): Add cotype.
+ * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it
+ and defer error diagnostic.
+ * resolve.c (resolve_fl_derived): Add missing check.
+ (resolve_symbol): Add cotype/type check.
+ * parse.c (parse_derived): Fix setting of coarray_comp.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * array.c (gfc_free_array_spec,gfc_resolve_array_spec,
+ match_array_element_spec,gfc_copy_array_spec,
+ gfc_compare_array_spec): Include corank.
+ (match_array_element_spec,gfc_set_array_spec): Support codimension.
+ * decl.c (build_sym,build_struct,variable_decl,
+ match_attr_spec,attr_decl1,cray_pointer_decl,
+ gfc_match_volatile): Add codimension.
+ (gfc_match_codimension): New function.
+ * dump-parse-tree.c (show_array_spec,show_attr): Support codimension.
+ * gfortran.h (symbol_attribute,gfc_array_spec): Ditto.
+ (gfc_add_codimension): New function prototype.
+ * match.h (gfc_match_codimension): New function prototype.
+ (gfc_match_array_spec): Update prototype
+ * match.c (gfc_match_common): Update gfc_match_array_spec call.
+ * module.c (MOD_VERSION): Bump.
+ (mio_symbol_attribute): Support coarray attributes.
+ (mio_array_spec): Add corank support.
+ * parse.c (decode_specification_statement,decode_statement,
+ parse_derived): Add coarray support.
+ * resolve.c (resolve_formal_arglist, was_declared,
+ is_non_constant_shape_array, resolve_fl_variable,
+ resolve_fl_derived, resolve_symbol): Add coarray support.
+ * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr,
+ gfc_build_class_symbol): Add coarray support.
+ (gfc_add_codimension): New function.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * iso-fortran-env.def: Add the integer parameters atomic_int_kind,
+ atomic_logical_kind, iostat_inquire_internal_unit, stat_locked,
+ stat_locked_other_image, stat_stopped_image and stat_unlocked of
+ Fortran 2008.
+ * intrinsic.texi (iso_fortran_env): Ditto.
+ * libgfortran.h (libgfortran_stat_codes): New enum.
+ * module.c (use_iso_fortran_env_module): Honour -std= when loading
+ constants from the intrinsic module.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39997
+ * intrinsic.c (add_functions): Add num_images.
+ * decl.c (gfc_match_end): Handle END CRITICAL.
+ * intrinsic.h (gfc_simplify_num_images): Add prototype.
+ * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP,
+ and SYNC.
+ * gfortran.h (gfc_statement): Add enum items for those.
+ (gfc_exec_op) Ditto.
+ (gfc_isym_id): Add num_images.
+ * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP.
+ (gfc_trans_sync,gfc_trans_critical): New functions.
+ * trans-stmt.h (gfc_trans_stop,gfc_trans_sync,
+ gfc_trans_critical): Add/update prototypes.
+ * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP,
+ and SYNC statements.
+ * trans.h (gfor_fndecl_error_stop_string) Add variable.
+ * resolve.c (resolve_sync): Add function.
+ (gfc_resolve_blocks): Handle CRITICAL.
+ (resolve_code): Handle CRITICAL, ERROR STOP,
+ (resolve_branch): Add CRITICAL constraint check.
+ and SYNC statements.
+ * st.c (gfc_free_statement): Add new statements.
+ * trans-decl.c (gfor_fndecl_error_stop_string): Global variable.
+ (gfc_build_builtin_function_decls): Initialize it.
+ * match.c (gfc_match_if): Handle ERROR STOP and SYNC.
+ (gfc_match_critical, gfc_match_error_stop, sync_statement,
+ gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory):
+ New functions.
+ (match_exit_cycle): Handle CRITICAL constraint.
+ (gfc_match_stopcode): Handle ERROR STOP.
+ * match.h (gfc_match_critical, gfc_match_error_stop,
+ gfc_match_sync_all, gfc_match_sync_images,
+ gfc_match_sync_memory): Add prototype.
+ * parse.c (decode_statement, gfc_ascii_statement,
+ parse_executable): Handle new statements.
+ (parse_critical_block): New function.
+ * parse.h (gfc_compile_state): Add COMP_CRITICAL.
+ * intrinsic.texi (num_images): Document new function.
+ * simplify.c (gfc_simplify_num_images): Add function.
+
+2010-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43178
+ * trans-array.c (gfc_conv_expr_descriptor): Update
+ gfc_trans_scalar_assign call.
+ (has_default_initializer): New function.
+ (gfc_trans_deferred_array): Nullify less often.
+ * trans-expr.c (gfc_conv_subref_array_arg,
+ gfc_trans_subcomponent_assign): Update call to
+ gfc_trans_scalar_assign.
+ (gfc_trans_scalar_assign): Add parameter and pass it on.
+ (gfc_trans_assignment_1): Optionally, do not dealloc before
+ assignment.
+ * trans-openmp.c (gfc_trans_omp_array_reduction): Update
+ call to gfc_trans_scalar_assign.
+ * trans-decl.c (gfc_get_symbol_decl): Do not always apply
+ initializer to static variables.
+ (gfc_init_default_dt): Add dealloc parameter and pass it on.
+ * trans-stmt.c (forall_make_variable_temp,
+ generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
+ gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3
+ gfc_trans_allocate): Update gfc_trans_assignment call.
+ * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt,
+ gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc
+ parameter to prototype.
+
+2010-03-31 Paul Thomas <pault@gcc.gnu.org>
+
+ * ioparm.def : Update copyright.
+ * lang.opt : ditto
+ * trans-array.c : ditto
+ * trans-array.h : ditto
+ * expr.c: ditto
+ * trans-types.c: ditto
+ * dependency.c : ditto
+ * gfortran.h : ditto
+ * options.c : ditto
+ * trans-io.c : ditto
+ * trans-intrinsic.c : ditto
+ * libgfortran.h : ditto
+ * invoke.texi : ditto
+ * intrinsic.texi : ditto
+ * trans.c : ditto
+ * trans.h : ditto
+ * intrinsic.c : ditto
+ * interface.c : ditto
+ * iresolve.c : ditto
+ * trans-stmt.c : ditto
+ * trans-stmt.h : ditto
+ * parse,c : ditto
+ * match.h : ditto
+ * error.c : ditto
+
+2010-03-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43450
+ * trans-decl.c (gfc_create_module_variable): With -fwhole-file
+ do not assert the context of derived types.
+
+2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/43409
+ * ioparm.def: Change inquire size variable to type pointer to
+ GFC_IO_INT type.
+
+2010-03-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43039
+ * trans-expr.c (conv_parent_component_references): Ensure that
+ 'dt' has a backend_decl.
+
+ PR fortran/43043
+ * trans-expr.c (gfc_conv_structure): Ensure that the derived
+ type has a backend_decl.
+
+ PR fortran/43044
+ * resolve.c (resolve_global_procedure): Check that the 'cl'
+ structure is not NULL.
+
+2010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
+
+ * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove
+ redundant tab.
+
+2010-03-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43331
+ * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref,
+ gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed
+ check.
+ * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray
+ pointees as having explizit size.
+ * expr.c (gfc_check_assign): Remove now unreachable Cray pointee
+ check.
+ * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert.
+ (gfc_sym_type): Don't mark Cray pointees as restricted pointers.
+ * resolve.c (resolve_symbol): Handle cp_was_assumed.
+ * trans-decl.c (gfc_trans_deferred_vars): Ditto.
+ (gfc_finish_var_decl): Don't mark Cray pointees as restricted
+ pointers.
+
+2010-03-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43362
+ * resolve.c (resolve_structure_cons): Add missing PURE constraint.
+ (resolve_ordinary_assign): Add check to avoid segfault.
+
+2010-03-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43291
+ PR fortran/43326
+ * resolve.c (resolve_compcall): Add new boolean dummy argument
+ 'class_members'. Only resolve expression at end if false.
+ Remove redundant, static variable 'class_object'.
+ (check_class_members): Add extra argument to call of
+ resolve_compcall.
+ (resolve_typebound_function): Renamed resolve_class_compcall.
+ Do all the detection of class references here. Correct calls to
+ resolve_compcall for extra argument.
+ (resolve_typebound_subroutine): resolve_class_typebound_call
+ renamed. Otherwise same as resolve_typebound_function.
+ (gfc_resolve_expr): Call resolve_typebound_function.
+ (resolve_code): Call resolve_typebound_subroutine.
+
+2010-03-10 Tobias Burnus <burnus@net-b.de
+
+ PR fortran/43303
+ * symbol.c (get_iso_c_sym): Set sym->result.
+
+2010-03-08 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43256
+ * resolve.c (resolve_compcall): Don't set 'value.function.name' here
+ for TBPs, otherwise they will not be resolved properly.
+ (resolve_function): Use 'value.function.esym' instead of
+ 'value.function.name' to check if we're dealing with a TBP.
+ (check_class_members): Set correct type of passed object for all TBPs,
+ not only generic ones, except if the type is abstract.
+
+2010-03-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43244
+ * decl.c (gfc_match_final_decl): Make sure variable names starting with
+ 'final...' are not misinterpreted as FINAL statements.
+
+2010-03-03 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43243
+ * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
+ allocatable ultimate components do not need temporaries, whilst
+ ultimate pointer components do.
+
+2010-03-03 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/43169
+ * resolve.c (resolve_code): Correctly set gfc_current_ns for
+ EXEC_SELECT_TYPE.
+ (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc).
+ (gfc_pure): Ditto.
+
+2010-03-02 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43180
+ * trans-array.c (gfc_conv_array_parameter): A full array of
+ derived type need not be restricted to a symbol without an
+ array spec to use the call to gfc_conv_expr_descriptor.
+
+ PR fortran/43173
+ * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
+ allocatable arrays do not need temporaries.
+
+2010-03-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43199
+ * resolve.c (find_array_spec): Handle REF_COMPONENT with
+ CLASS components.
+
+2010-02-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43205
+ * trans-expr.c (is_zero_initializer_p): Move up in the file.
+ (gfc_conv_initializer): Handle zero initializer as special case.
+
+2010-02-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43185
+ * resolve.c (resolve_fl_variable_derived): Imply SAVE
+ for module variables for Fortran 2008.
+
+2010-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43166
+ * trans-common.c (build_common_decl): Also update DECL_MODE,
+ and DECL_SIZE when encountering a larger common block and call
+ layout_decl.
+
+2010-02-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43042
+ * trans-expr.c (gfc_conv_initializer): Call directly
+ gfc_conv_constant for C_NULL_(FUN)PTR.
+
+2010-02-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/43072
+ * dependency.c (gfc_full_array_ref_p): Check for contiguous by
+ checking the rest of the dimensions for elements.
+
+2010-02-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/35259
+ * gfortran.h (gfc_option_t): New flag -fprotect-parens.
+ * lang.opt: Ditto.
+ * option.c (gfc_init_options,gfc_handle_option): Ditto.
+ * trans-expr.c (gfc_conv_expr_op): Use the flag.
+ * invoke.texi: Document new -fno-protect-parens flag.
+
+2010-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/36932
+ PR fortran/36933
+ PR fortran/43072
+ PR fortran/43111
+ * dependency.c (gfc_check_argument_var_dependency): Use enum
+ value instead of arithmetic vaue for 'elemental'.
+ (check_data_pointer_types): New function.
+ (gfc_check_dependency): Call check_data_pointer_types.
+ * trans-array.h : Change fourth argument of
+ gfc_conv_array_parameter to boolean.
+ * trans-array.c (gfc_conv_array_parameter): A contiguous array
+ can be a dummy but it must not be assumed shape or deferred.
+ Change fourth argument to boolean. Array constructor exprs will
+ always be contiguous and do not need packing and unpacking.
+ * trans-expr.c (gfc_conv_procedure_call): Clean up some white
+ space and change fourth argument of gfc_conv_array_parameter
+ to boolean.
+ (gfc_trans_arrayfunc_assign): Change fourth argument of
+ gfc_conv_array_parameter to boolean.
+ * trans-io.c (gfc_convert_array_to_string): The same.
+ * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
+
+2010-02-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42958
+ * libgfortran.h: Add GFC_RTCHECK_MEM.
+ * invoke.texi (-fcheck=): Document -fcheck=mem.
+ * tranc.c (gfc_call_malloc): Remove negative-size run-time error
+ and enable malloc-success check only with -fcheck=mem.
+ * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem.
+
+2010-02-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43040
+ * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA.
+ * intrinsic.c (add_functions): Ditto.
+ * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma.
+ * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma".
+
+2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/32382
+ * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to
+ gfc_trans_do prototype.
+ * 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
+ code, checking IO results of implied do loops in READ and WRITE.
+ (gfc_trans_do): Likewise.
+ * trans.c (trans_code): New static work function, previously
+ gfc_trans_code. Passes exit condition to gfc_trans_do.
+ (gfc_trans_code): Calls trans_code with NULL_TREE 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
+ result status bits in the dtparm structure. Use this condition in call
+ to gfc_trans_code_cond.
+
+2010-02-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41113
+ PR fortran/41117
+ * trans-array.c (gfc_conv_array_parameter): Use
+ gfc_full_array_ref_p to detect full and contiguous variable
+ arrays. Full array components and contiguous arrays do not need
+ internal_pack and internal_unpack.
+
+2010-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/43030
+ * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts.
+
+ PR fortran/43029
+ * decl.c (enumerator_decl): Don't call gfc_free_enum_history
+ here.
+ (gfc_match_enumerator_def): But here whenever enumerator_decl returns
+ MATCH_ERROR.
+
+2010-02-10 Joost VandeVondele <jv244@cam.ac.uk>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/40823
+ * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at.
+
+2010-02-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/43015
+ * trans-decl.c (gfc_generate_function_code): Only check
+ actual-vs.-dummy character bounds if not bind(C).
+
+2010-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/42309
+ * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing
+ info->dimen after info has been freed.
+
+2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/42999
+ * array.c (gfc_constant_ac): Do not prevent expansion of constructors
+ with iterators.
+
+2010-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ * module.c (fix_mio_expr): Declare sym.
+
+2010-02-09 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41869
+ * module.c (fix_mio_expr): Fix for private generic procedures.
+
+2010-02-09 Daniel Kraft <d@domob.eu>
+
+ PR fortran/39171
+ * resolve.c (resolve_charlen): Change warning about negative CHARACTER
+ length to be correct and issue only with -Wsurprising.
+ * invoke.texi (Wsurprising): Mention this new warning that is
+ turned on by -Wsurprising.
+
+2010-02-09 Daniel Kraft <d@domob.eu>
+
+ PR fortran/41507
+ * intrinsic.texi (MAXVAL): Remove wrong claim that array argument
+ can be CHARACTER type.
+ (MINVAL), (MAXLOC), (MINLOC): Ditto.
+
+2010-02-05 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/42309
+ * trans-expr.c (gfc_conv_subref_array_arg): Add new argument
+ 'formal_ptr'. If this is true, give returned descriptor unity
+ lbounds, in all dimensions, and the appropriate offset.
+ (gfc_conv_procedure_call); If formal is a pointer, set the last
+ argument of gfc_conv_subref_array_arg to true.
+ * trans.h : Add last argument for gfc_conv_subref_array_arg.
+ * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the
+ new arg of gfc_conv_subref_array_arg to false.
+ * trans-stmt.c (forall_make_variable_temp): The same.
+
+2010-02-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42936
+ * interface.c (compare_parameter): Disable rank-checking
+ for NULL().
+
+2010-02-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42650
+ * parse.c (decode_specification_statement): Use sym->result not sym.
+
+2010-02-01 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42922
+ * decl.c (variable_decl): Allow default initializer in
+ TYPE declarations in PURE functions.
+
+2010-01-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42888
+ * resolve.c (resolve_allocate_expr): Move default initialization code
+ here from gfc_trans_allocate.
+ * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
+ EXEC_INIT_ASSIGN.
+ * trans-expr.c (gfc_trans_class_assign): Handle default initialization
+ of CLASS variables via memcpy.
+ * trans-stmt.c (gfc_trans_allocate): Move default initialization code
+ to resolve_allocate_expr.
+
+2010-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/38324
+ * expr.c (gfc_get_full_arrayspec_from_expr): New function.
+ * gfortran.h : Add prototype for above.
+ * trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
+ (gfc_trans_subcomponent_assign): Call new function to replace
+ the code to deal with allocatable components.
+ * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
+ gfc_get_full_arrayspec_from_expr to replace existing code.
+
+2010-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/42858
+ * array.c (gfc_array_dimen_size): Fix intrinsic procedure
+ check.
+
+2010-01-24 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/41044
+ PR fortran/41167
+ * expr.c (remove_subobject_ref): If the constructor is NULL use
+ the expression as the source.
+ (simplify_const_ref): Change the type of expression if
+ there are component references. Allow for substring to be at
+ the end of an arbitrarily long chain of references. If an
+ element is found that is not in an EXPR_ARRAY, assume that this
+ is scalar initialization of array. Call remove_subobject_ref in
+ this case with NULL second argument.
+
+2010-01-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39304
+ * array.c (gfc_array_dimen_size): Use correct specific
+ function in the check.
+
+2010-01-21 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/42736
+ * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
+ is required, turn any trailing array elements after a range
+ into ranges so that offsets can be calculated.
+
+2010-01-20 Joern Rennecke <amylaar@spamcop.net>
+
+ * module.c (mio_f2k_derived): Use enumerator as initializer of
+ enum variable.
+
+ PR bootstrap/42812
+ * gfortran.h (struct gfc_namespace) <resolved>: Change to signed
+ bitfield of width 2.
+
+2010-01-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42804
+ * resolve.c (extract_compcall_passed_object): Set locus for
+ passed-object argument.
+ (extract_ppc_passed_object): Set locus and correctly remove PPC
+ reference.
+
+2010-01-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/42783
+ * trans-decl.c (add_argument_checking): Do not use the backend
+ decl directly to test for the presence of an optional dummy
+ argument. Use gfc_conv_expr_present, remembering to set the
+ symbol referenced.
+
+ PR fortran/42772
+ * trans-decl.c (gfc_generate_function_code): Small white space
+ changes. If 'recurcheckvar' is NULL do not try to reset it.
+
+2010-01-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/42545
+ * resolve.c (resolve_fl_derived): Set the accessibility of the parent
+ component for extended types.
+ * symbol.c (gfc_find_component): Remove a wrongly-worded error message
+ and take care of parent component accessibility.
+
2010-01-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/42677