OSDN Git Service

2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 950e678..6e37b80 100644 (file)
@@ -1,3 +1,754 @@
+2008-08-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 28875
+       * options.c (set_Wall): Replace set_Wunused by warn_unused.
+
+2008-08-08  Daniel Kraft  <d@domob.eu>
+
+       * gfortran.h (gfc_finalizer):  Replaced member `procedure' by two
+       new members `proc_sym' and `proc_tree' to store the symtree after
+       resolution.
+       (gfc_find_sym_in_symtree):  Made public.
+       * decl.c (gfc_match_final_decl):  Adapted for new member name.
+       * interface.c (gfc_find_sym_in_symtree):  Made public.
+       (gfc_extend_expr), (gfc_extend_assign):  Changed call accordingly.
+       * module.c (mio_finalizer), (mio_f2k_derived), (mio_full_f2k_derived):
+       New methods for module-file IO of f2k_derived.
+       (mio_symbol):  Do IO of f2k_derived namespace.
+       * resolve.c (gfc_resolve_finalizers):  Adapted for new member name and
+       finding the symtree for the symbol here.
+       * symbol.c (gfc_free_finalizer):  Adapted for new members.
+
+2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gfc-internals.texi: Update to GFDL 1.2.  Do not list GPL as
+       Invariant Section.
+       * gfortran.texi: Likewise.
+       * intrinsic.texi: Do not list GPL as Invariant Section.
+       * invoke.texi: Likewise.  Update copyright years.
+
+2008-07-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       * trans-expr.c (conv_parent_component_references): New function
+       to build missing parent references.
+       (gfc_conv_variable): Call it
+       * symbol.c (gfc_add_component): Check that component name in a
+       derived type extension does not appear in parent.
+       (gfc_find_component): For a derived type extension, check if
+       the component appears in the parent derived type by calling
+       self. Separate errors for private components and private types.
+       * decl.c (match_data_constant): Add extra arg to call to
+       gfc_match_structure_constructor.
+       (check_extended_derived_type): New function to check that a
+       parent derived type exists and that it is OK for exension.
+       (gfc_get_type_attr_spec): Add extra argument 'name' and return
+       it if extends is specified.
+       (gfc_match_derived_decl): Match derived type extension and
+       build a first component of the parent derived type if OK. Add
+       the f2k namespace if not present.
+       * gfortran.h : Add the extension attribute.
+       * module.c : Handle attribute 'extension'.
+       * match.h : Modify prototypes for gfc_get_type_attr_spec and
+       gfc_match_structure_constructor.
+       * primary.c (build_actual_constructor): New function extracted
+       from gfc_match_structure_constructor and modified to call self
+       iteratively to build derived type extensions, when f2k named
+       components are used.
+       (gfc_match_structure_constructor): Do not throw error for too
+       many components if a parent type is being handled. Use
+       gfc_find_component to generate errors for non-existent or
+       private components.  Iteratively call self for derived type
+       extensions so that parent constructor is built.  If extension
+       and components left over, throw error.
+       (gfc_match_rvalue): Add extra arg to call to
+       gfc_match_structure_constructor.
+
+       * trans-array.c (gfc_conv_resolve_dependencies): If lhs and rhs
+       are the same symbol, aliassing does not matter.
+
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * options.c (gfc_post_options): Do not set flag_no_inline.
+
+2008-07-29  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/36403
+       * trans-intrinsic.c (conv_generic_with_optional_char_arg):  New method
+       to append a string-length even if the string argument is missing, e.g.
+       for EOSHIFT.
+       (gfc_conv_intrinsic_function):  Call the new method for EOSHIFT, PACK
+       and RESHAPE.
+
+2008-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortran.h (try): Remove macro.  Replace try with gfc_try
+       throughout.
+       * array.c: Likewise.
+       * check.c: Likewise.
+       * cpp.c: Likewise.
+       * cpp.h: Likewise.
+       * data.c: Likewise.
+       * data.h: Likewise.
+       * decl.c: Likewise.
+       * error.c: Likewise.
+       * expr.c: Likewise.
+       * interface.c: Likewise.
+       * intrinsic.c: Likewise.
+       * intrinsic.h: Likewise.
+       * io.c: Likewise.
+       * match.h: Likewise.
+       * parse.c: Likewise.
+       * parse.h: Likewise.
+       * resolve.c: Likewise.
+       * scanner.c: Likewise.
+       * simplify.c: Likewise.
+       * symbol.c: Likewise.
+       * trans-openmp.c: Likewise.
+       * trans-types.c: Likewise.
+
+2008-07-28  Tobias Burnus  <burnus@net-b.de>
+
+       * Make-lang.in: Remove -Wno-* from fortran-warn.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       Merge from gimple-tuples-branch.
+
+       2008-07-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * trans-expr.c: Include gimple.h instead of tree-gimple.h.
+       * trans-array.c: Same.
+       * trans-openmp.c: Same.
+       * trans-stmt.c: Same.
+       * f95-lang.c: Same.
+       * trans-io.c: Same.
+       * trans-decl.c: Same.
+       * trans-intrinsic.c: Same.
+       * trans.c: Same.  Include tree-iterator.h.
+       * Make-lang.in (trans.o): Depend on tree-iterator.h
+
+       2008-07-14  Aldy Hernandez  <aldyh@redhat.com>
+
+       * trans-array.h (gfc_conv_descriptor_data_set_internal):
+       Rename to gfc_conv_descriptor_data_set.
+       (gfc_conv_descriptor_data_set_tuples): Remove.
+       * trans-array.c (gfc_conv_descriptor_data_get): Rename
+       from gfc_conv_descriptor_data_set_internal.
+       Remove last argument to gfc_add_modify.
+       (gfc_trans_allocate_array_storage): Rename gfc_add_modify_expr to
+       gfc_add_modify.
+       (gfc_trans_create_temp_array): Same.
+       (gfc_conv_array_transpose): Same.
+       (gfc_grow_array): Same.
+       (gfc_put_offset_into_var): Same.
+       (gfc_trans_array_ctor_element): Same.
+       (gfc_trans_array_constructor_subarray): Same.
+       (gfc_trans_array_constructor_value): Same.
+       (gfc_trans_scalarized_loop_end): Same.
+       (gfc_array_init_size): Same.
+       (gfc_array_allocate): Same.
+       (gfc_trans_array_bounds): Same.
+       (gfc_trans_auto_array_allocation): Same.
+       (gfc_trans_g77_array): Same.
+       (gfc_trans_dummy_array_bias): Same.
+       (gfc_conv_expr_descriptor): Same.
+       (structure_alloc_comps): Same.
+       * trans-expr.c: Same.
+       * trans-openmp.c (gfc_omp_clause_default_ctor): Same.
+       Rename gfc_conv_descriptor_data_set_tuples to
+       gfc_conv_descriptor_data_set.
+       (gfc_omp_clause_copy_ctor): Change build_gimple_modify_stmt to
+       build2_v.
+       (gfc_omp_clause_assign_op): Same.
+       (gfc_trans_omp_array_reduction): Rename gfc_add_modify_expr to
+       gfc_add_modify.
+       (gfc_trans_omp_atomic): Same.
+       (gfc_trans_omp_do): Same.  Change GIMPLE_MODIFY_STMT to MODIFY_EXPR.
+       Rename gfc_add_modify_stmt to gfc_add_modify.
+       * trans-stmt.c: Rename gfc_add_modify_expr to
+       gfc_add_modify.
+       * trans.c: Rename gfc_add_modify_expr to
+       gfc_add_modify.
+       (gfc_add_modify): Remove last argument.
+       Rename GIMPLE_MODIFY_STMT to MODIFY_EXPR.
+       * trans.h: Remove gfc_add_modify_expr, gfc_add_modify_stmt.
+       Add prototype for gfc_add_modify.
+       * f95-lang.c (union lang_tree_node): Rename GENERIC_NEXT to TREE_CHAIN.
+       * trans-decl.c: Rename gfc_add_modify_stmt to gfc_add_modify.
+       * trans-io.c: Same.
+       * trans-intrinsic.c: Same.
+
+       2008-02-25  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Make-lang.in (fortran-warn): Add -Wno-format.
+
+       2008-02-19  Diego Novillo  <dnovillo@google.com>
+
+       http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00804.html
+
+       * fortran/Make-lang.in (fortran-warn): Remove.
+
+       2007-11-22  Aldy Hernandez  <aldyh@redhat.com>
+
+       * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a
+       memset.
+
+       2007-11-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * Make-lang.in (fortran-warn): Set to -Wno-format.
+       * trans.c (gfc_trans_code): Update comment to say GENERIC.
+       Call tree_annotate_all_with_locus instead of annotate_all_with_locus.
+
+2008-07-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36132
+       PR fortran/29952
+       PR fortran/36909
+       * trans.c (gfc_trans_runtime_check): Allow run-time warning besides
+       run-time error.
+       * trans.h (gfc_trans_runtime_check): Update declaration.
+       * trans-array.c (gfc_trans_array_ctor_element,gfc_trans_array_bound_check,
+       gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias):
+       Updated gfc_trans_runtime_check calls.
+       (gfc_conv_array_parameter): Implement flag_check_array_temporaries,
+       fix packing/unpacking for nonpresent optional actuals to optional
+       formals.
+       * trans-array.h (gfc_conv_array_parameter): Update declaration.
+       * trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign,
+       gfc_conv_function_call): Updated gfc_trans_runtime_check calls.
+       (gfc_conv_function_call): Update gfc_conv_array_parameter calls.
+       * trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check
+       calls.
+       * trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto.
+       (gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for
+       gfc_conv_array_parameter.
+       * trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto.
+       * trans-decl.c (gfc_build_builtin_function_decls): Add
+       gfor_fndecl_runtime_warning_at.
+       * lang.opt: New option fcheck-array-temporaries.
+       * gfortran.h (gfc_options): New flag_check_array_temporaries.
+       * options.c (gfc_init_options, gfc_handle_option): Handle flag.
+       * invoke.texi: New option fcheck-array-temporaries.
+
+2008-07-24  Jan Hubicka  <jh@suse.cz>
+
+       * fortran/options.c (gfc_post_options): Remove flag_unline_trees code.
+
+2008-07-24  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/33141
+       * lang.opt (Wnonstd-intrinsics):  Removed option.
+       (Wintrinsics-std), (Wintrinsic-shadow):  New options.
+       * invoke.texi (Option Summary):  Removed -Wnonstd-intrinsics
+       from the list and added -Wintrinsics-std and -Wintrinsic-shadow.
+       (Error and Warning Options):  Documented the new options and removed
+       the documentation for -Wnonstd-intrinsics.
+       * gfortran.h (gfc_option_t):  New members warn_intrinsic_shadow and
+       warn_intrinsics_std, removed warn_nonstd_intrinsics.
+       (gfc_is_intrinsic):  Renamed from gfc_intrinsic_name.
+       (gfc_warn_intrinsic_shadow), (gfc_check_intrinsic_standard):  New.
+       * decl.c (match_procedure_decl):  Replaced gfc_intrinsic_name by
+       the new name gfc_is_intrinsic.
+       (warn_intrinsic_shadow):  New helper method.
+       (gfc_match_function_decl), (gfc_match_subroutine):  Call the new method
+       warn_intrinsic_shadow to check the just-parsed procedure.
+       * expr.c (check_init_expr):  Call new gfc_is_intrinsic to check whether
+       the function called is really an intrinsic in the selected standard.
+       * intrinsic.c (gfc_is_intrinsic):  Renamed from gfc_intrinsic_name and
+       extended to take into account the selected standard settings when trying
+       to find out whether a symbol is an intrinsic or not.
+       (gfc_check_intrinsic_standard):  Made public and extended.
+       (gfc_intrinsic_func_interface), (gfc_intrinsic_sub_interface):  Removed
+       the calls to check_intrinsic_standard, this check now happens inside
+       gfc_is_intrinsic.
+       (gfc_warn_intrinsic_shadow):  New method defined.
+       * options.c (gfc_init_options):  Initialize new warning flags to false
+       and removed intialization of Wnonstd-intrinsics flag.
+       (gfc_post_options):  Removed logic for Wnonstd-intrinsics flag.
+       (set_Wall):  Set new warning flags and removed Wnonstd-intrinsics flag.
+       (gfc_handle_option):  Handle the new flags and removed handling of the
+       old Wnonstd-intrinsics flag.
+       * primary.c (gfc_match_rvalue):  Replaced call to gfc_intrinsic_name by
+       the new name gfc_is_intrinsic.
+       * resolve.c (resolve_actual_arglist):  Ditto.
+       (resolve_generic_f), (resolve_unknown_f):  Ditto.
+       (is_external_proc):  Ditto.
+       (resolve_generic_s), (resolve_unknown_s):  Ditto.
+       (resolve_symbol):  Ditto and ensure for symbols declared INTRINSIC that
+       they are really available in the selected standard setting.
+
+2008-07-24  Daniel Kraft  <d@domob.eu>
+
+       * match.c (gfc_match):  Add assertion to catch wrong calls trying to
+       match upper-case characters.
+
+2008-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/29952
+       * gfortran.h:  Add "warn_array_temp" to gfc_option_t.
+       * lang.opt:  Add -Warray-temporaries.
+       * invoke.texi:  Document -Warray-temporaries
+       * trans-array.h (gfc_trans_create_temp_array):  Add argument of
+       type *locus.
+       (gfc_conv_loop_setup):  Likewise.
+       * trans-array.c (gfc_trans_create_temp_array):  If
+       -Warray-temporaries is given and locus is present, warn about
+       creation of array temporaries.
+       (gfc_trans_array_constructor_subarray):  Add locus to call
+       of gfc_conv_loop_setup.
+       (gfc_trans_array_constructor):  Add where argument.  Pass where
+       argument to call of gfc_trans_create_temp_array.
+       (gfc_add_loop_ss_code):  Add where argument.  Pass where argument
+       to recursive call of gfc_add_loop_ss_code and to call of
+       gfc_trans_array_constructor.
+       (gfc_conv_loop_setup):  Add where argument.  Pass where argument
+       to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array.
+       (gfc_conv_expr_descriptor):  Pass location to call of
+       gfc_conv_loop_setup.
+       (gfc_conv_array_parameter):  If -Warray-temporaries is given,
+       warn about creation of temporary arrays.
+       * trans-expr.c (gfc_conv_subref_array_arg):  Add where argument
+       to call to gfc_conv_loop_setup.
+       (gfc_conv_function_call):  Add where argument to call to
+       gfc_trans_creat_temp_array.
+       (gfc_trans_subarray_assign):  Likewise.
+       (gfc_trans_assignment_1):  Add where argument to call to
+       gfc_conv_loop_setup.
+       * trans-stmt.c (gfc_conv_elemental_dependencies):  Add where
+       argument to call to gfc_trans_create_temp_array.
+       (gfc_trans_call):  Add where argument to call to gfc_conv_loop_setup.
+       (generate_loop_for_temp_to_lhs):  Likewise.
+       (generate_loop_for_rhs_to_temp):  Likewise.
+       (compute_inner_temp_size):  Likewise.
+       (gfc_trans-pointer_assign_need_temp):  Likewise.
+       (gfc_evaluate_where_mask):  Likewise.
+       (gfc_trans_where_assign):  Likewise.
+       (gfc_trans_where_3):  Likewise.
+       * trans-io.c (transfer_srray_component):  Add where argument
+       to function. Add where argument to call to gfc_conv_loop_setup.
+       (transfer_expr):  Add where argument to call to
+       transfer_array_component.
+       (gfc_trans_transfer):  Add where expression to call to
+       gfc_conv_loop_setup.
+       * trans-intrinsic.c (gfc_conv_intrinsic_anyall):  Add
+       where argument to call to gfc_conv_loop_setup.
+       (gfc_conv_intrinsic_count):  Likewise.
+       (gfc_conv_intrinsic_arith):  Likewise.
+       (gfc_conv_intrinsic_dot_product):  Likewise.
+       (gfc_conv_intrinsic_minmaxloc):  Likewise.
+       (gfc_conv_intrinsic_minmaxval):  Likewise.
+       (gfc_conv_intrinsic_array_transfer):  Warn about
+       creation of temporary array.
+       Add where argument to call to gfc_trans_create_temp_array.
+       * options.c (gfc_init_options):  Initialize gfc_option.warn_array_temp.
+       (gfc_handle_option):  Set gfc_option.warn_array_temp.
+
+2008-07-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 35058
+       * f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed.
+
+2008-07-22  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/29835
+       * io.c (error_element), (format_locus):  New static globals.
+       (unexpected_element):  Spelled out this message fully.
+       (next_char):  Keep track of locus when not MODE_STRING.
+       (next_char_not_space):  Remember last parsed element in error_element.
+       (format_lex):  Fix two indentation errors.
+       (check_format):  Use format_locus and possibly error_element for a
+       slightly better error message on invalid format.
+       (check_format_string):  Set format_locus to start of the string
+       expression used as format.
+
+2008-07-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * expr.c (gfc_check_pointer_assign): Fix typo in string.
+       * io.c (check_format): Fix typo in string.  Fix comment typos.
+       * parse.c (gfc_global_used): Likewise.
+       * resolve.c (resolve_allocate_expr): Likewise.
+       * symbol.c (gfc_set_default_type): Likewise.
+       * arith.c: Fix typos in comments.
+       * array.c: Likewise.
+       * data.c: Likewise.
+       * decl.c: Likewise.
+       * dependency.c: Likewise.
+       * f95-lang.c: Likewise.
+       * gfortran.h: Likewise.
+       * matchexp.c: Likewise.
+       * module.c: Likewise.
+       * primary.c: Likewise.
+       * scanner.c: Likewise.
+       * trans-array.c: Likewise.
+       * trans-common.c: Likewise.
+       * trans-decl.c: Likewise.
+       * trans-expr.c: Likewise.
+       * trans-intrinsic.c: Likewise.
+       * trans-types.c: Likewise.
+       * trans.c: Likewise.
+       * trans.h: Likewise.
+
+2008-07-19  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36795
+       * matchexp.c (gfc_get_parentheses): Remove obsolete workaround,
+       which caused the generation of wrong code.
+
+2008-07-19  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36342
+       * scanner.c (load_file): Add argument to destinguish between
+       true filename and displayed filename.
+       (include_line,gfc_new_file): Adapt accordingly.
+
+2008-07-19  Tobias Burnus  <burnus@net-b.de>
+
+       * check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add rank
+       checks for cshift's shift and eoshift's shift and boundary args.
+       (gfc_check_unpack): Add rank and shape tests for unpack.
+
+2008-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortran.h (new): Remove macro.
+       * array.c (gfc_append_constructor, match_array_list,
+       gfc_match_array_constructor): Likewise.
+       * bbt.c (insert, gfc_insert_bbt): Likewise.
+       * decl.c (var_element, top_var_list, top_val_list, gfc_match_data,
+       get_proc_name): Likewise.
+       * expr.c (gfc_copy_actual_arglist): Likewise.
+       * interface.c (compare_actual_formal, check_new_interface,
+       gfc_add_interface): Likewise.
+       * intrinsic.c gfc_convert_type_warn, gfc_convert_chartype):
+       Likewise.
+       * io.c (match_io_iterator, match_io_list): Likewise.
+       * match.c (match_forall_header): Likewise.
+       * matchexp.c (build_node): Likewise.
+       * module.c (gfc_match_use): Likewise.
+       * scanner.c (load_file): Likewise.
+       * st.c (gfc_append_code): Likewise.
+       * symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols,
+       gfc_commit_symbols): Likewise.
+       * trans-common.c (build_field): Likewise.
+       * trans-decl.c (gfc_finish_var_decl): Likewise.
+       * trans-expr.c (gfc_free_interface_mapping,
+       gfc_get_interface_mapping_charlen, gfc_add_interface_mapping,
+       gfc_finish_interface_mapping,
+       gfc_apply_interface_mapping_to_expr): Likewise.
+       * trans.h (gfc_interface_sym_mapping): Likewise.
+
+2008-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortran.h (operator): Remove macro.
+       (gfc_namespace, gfc_expr): Avoid C++ keywords.
+       * arith.c (eval_intrinsic, eval_intrinsic_f2, eval_intrinsic_f3):
+       Likewise.
+       * decl.c (access_attr_decl): Likewise.
+       * dependency.c (gfc_dep_compare_expr): Likewise.
+       * dump-parse-tree.c (show_expr, show_uop, show_namespace):
+       Likewise.
+       * expr.c (gfc_copy_expr, gfc_type_convert_binary,
+       simplify_intrinsic_op, check_intrinsic_op): Likewise.
+       * interface.c (fold_unary, gfc_match_generic_spec,
+       gfc_match_interface, gfc_match_end_interface,
+       check_operator_interface, check_uop_interfaces,
+       gfc_check_interfaces, gfc_extend_expr, gfc_extend_assign,
+       gfc_add_interface, gfc_current_interface_head,
+       gfc_set_current_interface_head): Likewise.
+       * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
+       Likewise.
+       * matchexp.c (gfc_get_parentheses, build_node): Likewise.
+       * module.c (gfc_use_rename, gfc_match_use, find_use_name_n,
+       number_use_names, mio_expr, load_operator_interfaces, read_module,
+       write_operator, write_module): Likewise.
+       * openmp.c (resolve_omp_atomic): Likewise.
+       * resolve.c (resolve_operator, gfc_resolve_character_operator,
+       gfc_resolve_uops): Likewise.
+       * symbol.c (free_uop_tree, gfc_free_namespace): Likewise.
+       * trans-expr.c (gfc_conv_expr_op): Likewise.
+       * trans-openmp.c (gfc_trans_omp_atomic): Likewise.
+
+2008-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gfortran.h (protected): Remove macro.
+       * dump-parse-tree.c (show_attr): Avoid C++ keywords.
+       * expr.c (gfc_check_pointer_assign): Likewise.
+       * interface.c (compare_parameter_protected): Likewise.
+       * intrinsic.c (enum class, add_sym, add_sym_0, add_sym_1,
+       add_sym_1s, add_sym_1m, add_sym_2, add_sym_2s, add_sym_3,
+       add_sym_3ml, add_sym_3red, add_sym_3s, add_sym_4, add_sym_4s,
+       add_sym_5s): Likewise.
+       * match.c (gfc_match_assignment, gfc_match_pointer_assignment):
+       Likewise.
+       * module.c (mio_symbol_attribute): Likewise.
+       * primary.c (match_variable): Likewise.
+       * resolve.c (resolve_equivalence): Likewise.
+       * symbol.c (check_conflict, gfc_add_protected, gfc_copy_attr):
+       Likewise.
+       * trans-types.c (gfc_get_array_type_bounds): Likewise.
+
+2008-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * arith.c (eval_type_intrinsic0): Avoid C++ keywords.
+       * gfortran.h (try, protected, operator, new): Likewise.
+
+2008-07-17  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36825
+       PR fortran/36824
+       * array.c (gfc_match_array_spec): Fix array-rank check.
+       * resolve.c (resolve_fl_derived): Fix constentness check
+       for the array dimensions.
+
+2008-07-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Make-lang.in (gfortranspec.o): Fix dependencies.
+
+2008-07-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36725
+       * io.c: Add error check for g0 edit descriptor followed by '.'.
+
+2008-07-12  Daniel Kraft  <d@domob.eu>
+
+       * resolve.c (resolve_fl_derived):  Allow pointer components to empty
+       derived types fixing a missing part of PR fortran/33221.
+
+2008-07-10  Daniel Kraft  <d@domob.eu>
+
+       * gfc-internals.texi (section gfc_expr):  Created documentation about
+       the gfc_expr internal data structure.
+
+2008-07-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36670
+       * iresolve.c (gfc_resolve_product):  Set shape of return
+       value from array.
+       (gfc_resolve_sum):  Likewise.
+
+2008-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36726
+       * f95-lang.c (poplevel): Don't ever add subblocks to
+       global_binding_level.
+
+2008-07-02  Janus Weil  <janus@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/32580
+       * gfortran.h (struct gfc_symbol): New member "proc_pointer".
+       * check.c (gfc_check_associated,gfc_check_null): Implement
+       procedure pointers.
+       * decl.c (match_procedure_decl): Ditto.
+       * expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol): Ditto.
+       * interface.c (compare_actual_formal): Ditto.
+       * match.h: Ditto.
+       * match.c (gfc_match_pointer_assignment): Ditto.
+       * parse.c (parse_interface): Ditto.
+       * primary.c (gfc_match_rvalue,match_variable): Ditto.
+       * resolve.c (resolve_fl_procedure): Ditto.
+       * symbol.c (check_conflict,gfc_add_external,gfc_add_pointer,
+       gfc_copy_attr,gen_fptr_param,build_formal_args): Ditto.
+       * trans-decl.c (get_proc_pointer_decl,gfc_get_extern_function_decl,
+       create_function_arglist): Ditto.
+       * trans-expr.c (gfc_conv_variable,gfc_conv_function_val,
+       gfc_conv_function_call,gfc_trans_pointer_assignment): Ditto.
+
+2008-07-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36590
+       PR fortran/36681
+       * iresolve.c (resolve_mask_arg):  Don't convert mask to
+       kind=1 logical if it is of that type already.
+
+2008-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36341
+       * iresolve.c (gfc_resolve_matmul): Copy shapes
+       from arguments.
+
+2008-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * invoke.texi: Add documentation for runtime behavior of
+       -fno-range-check.
+
+2008-06-28  Daniel Kraft  <d@domob.eu>
+
+       * gfc-internals.texi (section gfc_code):  Extended documentation about
+       gfc_code in the internal datastructures chapter including details about
+       how IF, DO and SELECT blocks look like and an example for how the
+       block-chaining works.
+
+2008-06-25  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/36526
+       * interface.c (check_intents):  Correct error where the actual
+       arg was checked for a pointer argument, rather than the formal.
+
+2008-06-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34371
+       * expr.c (gfc_check_assign):  Change message and locus for
+       error when conform == 0.
+
+2008-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/36597
+       * cpp.c (cpp_define_builtins): Change _OPENMP value to 200805.
+
+2008-06-20  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34908
+       PR fortran/36276
+       * scanner.c (preprocessor_line): do not call gfc_free for
+       current_file->filename if it differs from filename.
+
+2008-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * arith.c (hollerith2representation): Fix for -Wc++-compat.
+       * array.c (gfc_get_constructor): Likewise.
+       * decl.c (gfc_get_data_variable, gfc_get_data_value, gfc_get_data,
+       create_enum_history, gfc_match_final_decl): Likewise.
+       * error.c (error_char): Likewise.
+       * expr.c (gfc_get_expr, gfc_copy_expr): Likewise.
+       * gfortran.h (gfc_get_charlen, gfc_get_array_spec,
+       gfc_get_component, gfc_get_formal_arglist, gfc_get_actual_arglist,
+       gfc_get_namelist, gfc_get_omp_clauses, gfc_get_interface,
+       gfc_get_common_head, gfc_get_dt_list, gfc_get_array_ref,
+       gfc_get_ref, gfc_get_equiv, gfc_get_case, gfc_get_iterator,
+       gfc_get_alloc, gfc_get_wide_string): Likewise.
+       * interface.c (count_types_test): Likewise.
+       * intrinsic.c (add_char_conversions, gfc_intrinsic_init_1):
+       Likewise.
+       * io.c (gfc_match_open, gfc_match_close, match_filepos, match_io,
+       gfc_match_inquire, gfc_match_wait): Likewise.
+       * match.c (gfc_match, match_forall_iterator): Likewise.
+       * module.c (gfc_get_pointer_info, gfc_get_use_rename, add_fixup,
+       add_true_name, parse_string, write_atom, quote_string,
+       mio_symtree_ref, mio_gmp_real, write_common_0): Likewise.
+       * options.c (gfc_post_options): Likewise.
+       * primary.c (match_integer_constant, match_hollerith_constant,
+       match_boz_constant, match_real_constant,
+       gfc_get_structure_ctor_component, gfc_match_structure_constructor): Likewise.
+       * scanner.c (gfc_widechar_to_char, add_path_to_list,
+       add_file_change, load_line, get_file, preprocessor_line,
+       load_file, unescape_filename, gfc_read_orig_filename): Likewise.
+       * simplify.c (gfc_simplify_ibits, gfc_simplify_ishft,
+       gfc_simplify_ishftc): Likewise.
+       * symbol.c (gfc_get_st_label, gfc_get_namespace, gfc_new_symtree,
+       gfc_get_uop, gfc_new_symbol, save_symbol_data, gfc_get_gsymbol):
+       Likewise.
+       * target-memory.c (gfc_target_interpret_expr): Likewise.
+       * trans-const.c (gfc_build_wide_string_const): Likewise.
+       * trans-expr.c (gfc_add_interface_mapping): Likewise.
+       * trans-intrinsic.c (gfc_conv_intrinsic_conversion,
+       gfc_conv_intrinsic_int, gfc_conv_intrinsic_lib_function,
+       gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_ctime,
+       gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
+       gfc_conv_intrinsic_minmax, gfc_conv_intrinsic_minmax_char,
+       gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_index_scan_verify,
+       gfc_conv_intrinsic_merge, gfc_conv_intrinsic_trim): Likewise.
+       * trans.c (gfc_get_backend_locus): Likewise.
+       * trans.h (gfc_get_ss): Likewise.
+
+2008-06-18  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/36517, fortran/36492
+       * array.c (gfc_resolve_character_array_constructor):  Call
+       gfc_set_constant_character_len with changed length-chec argument.
+       * decl.c (gfc_set_constant_character_len):  Changed array argument to
+       be a generic length-checking argument that can be used for correct
+       checking with typespec and in special cases where the should-be length
+       is different from the target length.
+       (build_struct):  Call gfc_set_constant_character_len with changed length
+       checking argument and introduced additional checks for exceptional
+       conditions on invalid code.
+       (add_init_expr_to_sym), (do_parm):  Call gfc_set_constant_character_len
+       with changed argument.
+       * match.h (gfc_set_constant_character_len):  Changed third argument to
+       int for the should-be length rather than bool.
+
+2008-06-17  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/36112
+       * array.c (gfc_resolve_character_array_constructor):  Check that all
+       elements with constant character length have the same one rather than
+       fixing it if no typespec is given, emit an error if they don't.  Changed
+       return type to "try" and return FAILURE for the case above.
+       (gfc_resolve_array_constructor):  Removed unneeded call to
+       gfc_resolve_character_array_constructor in this function.
+       * gfortran.h (gfc_resolve_character_array_constructor):  Returns try.
+       * trans-array.c (get_array_ctor_strlen):  Return length of first element
+       rather than last element.
+       * resolve.c (gfc_resolve_expr):  Handle FAILURE return from
+       gfc_resolve_character_array_constructor.
+
+2008-06-17  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/34396
+       * resolve.c (add_dt_to_dt_list):  New function.
+       (resolve_fl_derived): Call new function for pointer components
+       and when derived type resolved.
+
+2008-06-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36515
+       * trans-decl.c (gfc_generate_function_code): Add range_check to options
+       array.
+
+2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gfc-internals.texi: Expand TABs, drop indentation outside examples.
+       * gfortran.texi: Likewise.
+       * intrinsic.texi: Likewise.
+       * invoke.texi: Likewise.
+
+2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/35863
+       * trans-io.c (gfc_build_io_library_fndecls): Build declaration for
+       transfer_character_wide which includes passing in the character kind to
+       support wide character IO. (transfer_expr): If the kind == 4, create the
+       argument and build the call.
+       * gfortran.texi: Fix typo.
+
+2008-06-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36476
+       * decl.c (do_parm): Handle init expression for len=*.
+
+2008-06-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36462
+       * trans-intrinsic.c (gfc_conv_intrinsic_index_scan_verify):
+       Fix passing of the BACK= argument.
+
+2008-06-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * cpp.c: Add copyright notice.
+       * cpp.h: Add copyright notice.
+
+2008-06-08  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/36459
+       * decl.c (match_procedure_decl): Correctly recognize if the interface
+       is an intrinsic procedure.
+
+2008-06-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35830
+       * resolve.c (resolve_symbol): Copy more attributes for
+       PROCEDUREs with interfaces.
+
+2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36420
+       PR fortran/36422
+       * io.c (check_format): Add new error message for zero width.
+       Use new error message for FMT_A and with READ, FMT_G.  Allow
+       FMT_G with WRITE except when -std=F95 and -std=F2003.
+
 2008-06-07  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/36437
        (check_init_expr): Remove tests that first argument is an array
        in the call to scalarize_intrinsic_call.
 
-2008-04-06  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-04-06  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        PR fortran/35832
        * io.c (io_tag): Add field 'value'.  Split 'spec' field in
        function, ensure that the derived type is visible in the same
        namespace as the function.
 
-2008-03-23  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-03-23  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * trans.h: Use fold_build in build1_v, build2_v and build3_v
        macros.
        (gfc_call_realloc): Likewise.
        * trans-io.c (gfc_trans_io_runtime_check): Likewise.
 
-2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * arith.c: Update copyright years.
        * arith.h: Likewise.
        (gfc_simplify_real): Add call gfc_clear_ts to initialize the
        temporary gfc_typspec variable.
 
-2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * trans-array.c (gfc_conv_descriptor_data_get,
        gfc_conv_descriptor_data_set_internal,