OSDN Git Service

PR fortran/19754
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 3727be2..514b29a 100644 (file)
@@ -1,3 +1,771 @@
+2005-03-05  Steven G. Kargl  <kargls@comcast.net> 
+
+       PR fortran/19754
+       * resolve.c (compare_shapes):  New function.
+       (resolve_operator): Use it.
+
+2005-03-05  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
+       type for COMPLEX constants.
+
+2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/19673
+       * trans-expr.c (gfc_conv_function_call): Correctly dereference
+       argument from a pointer function also if it has a result clause.
+
+2005-03-04  Steven G. Kargl  <kargls@comcast.net>
+
+       * expr.c (gfc_copy_shape_excluding): Change && to ||.
+
+2005-03-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
+       clarify comment.
+
+2005-02-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+       (port from g95)
+
+       PR fortran/19479
+       * simplify.c (gfc_simplify_bound): Rename to ...
+       (simplify_bound): ... this and overhaul.
+
+2005-02-28  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
+       (gfc_conv_intrinsic_function): update function calls
+
+2005-02-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/20058
+       * trans-types.c (gfc_max_integer_kind): Declare
+       (gfc_init_kinds): Initialize it.
+       * gfortran.h (gfc_max_integer_kind): extern it.
+       * primary.c (match_boz_constant): Use it; remove gfortran extension
+       of kind suffixes on BOZ literal constants
+
+
+2005-02-27  Steven G. Kargl  <kargls@comcast.net>
+
+       * arith.c (gfc_check_real_range):  Remove multiple returns
+       (check_result): New function.
+       (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
+       gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
+
+
+2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
+
+
+2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-meunchen.de>
+
+       Unrevert previously reverted patch.  Adding this fix:
+       * module.c (find_true_name): Deal with NULL module.
+
+2005-02-24  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       Revert yesterday's patch:
+       2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+               * gfortran.h (gfc_component, gfc_actual_arglist, ...
+               ... argument.  Copy string instead of pointing to it.
+
+2005-02-23  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortran.h (gfc_get_namespace): Add second argument to prototype.
+       * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
+       gfc_get_namespace.
+       * module.c (mio_namespace_ref, load_needed): Likewise.
+       * parse.c (parse_interface, parse_contained): Likewise.  Here the
+       correct second argument matters.
+       * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
+       parent's implicit types if this is set.
+       (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
+       * trans-common.c (build_common_decl): Likewise.
+
+       * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
+       formatting.
+       * symbol.c (gfc_set_default_type): Issue error only once, by setting
+       and checking 'untyped' attribute.
+
+       * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
+       fields into new struct 'op' inside the 'value' union.
+       * arith.c (eval_intrinsic): Adapt all users.
+       * dependency.c (gfc_check_dependency): Likewise.
+       * dump-parse-tree.c (gfc_show_expr): Likewise.
+       * expr.c (gfc_get_expr): Don't clear removed fields.
+       (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
+       gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
+       check_intrinsic_op): Adapt to new field names.
+       * interface.c (gfc_extend_expr): Likewise.  Also explicitly
+       nullify 'esym' and 'isym' fields of new function call.
+       * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
+       Adapt to renamed structure fields.
+       * matchexp.c (build_node, match_level_1, match_expr): Likewise.
+       * module.c (mio_expr): Likewise.
+       * resolve.c (resolve_operator): Likewise.
+       (gfc_find_forall_index): Likewise.  Only look through operands
+       if dealing with EXPR_OP
+       * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
+       * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
+       gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
+
+       [ Reverted ]
+       * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
+       'name' a 'const char *'.
+       (gfc_symbol): Likewise, also for 'module'.
+       (gfc_symtree): Make 'name' a 'const char *'.
+       (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
+       (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
+       'char *' argument.
+       (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
+       initialize 'SYM->module'.
+       * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
+       pointer instead of empty string.
+       * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
+       * interface.c (gfc_compare_types): Adapt check to account for possible
+       NULL pointer.
+       (compare_actual_formal): Check for NULL pointer instead of empty
+       string.
+       * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
+       Add 'const' qualifier.  
+       (conv_name): Return a heap allocated string.
+       (find_conv): Add 'const' qualifier to 'target'.
+       (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
+       (make_generic): Check for NULL pointer instead of empty string.
+       (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
+       (add_conv): No need to strcpy result from 'conv_name'.
+       (sort_actual): Check for NULL pointer instead of empty  string.
+       * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
+       Adapt prototype.
+       * module.c (compare_true_names): Compare pointers instead of strings
+       for 'module' member.
+       (find_true_name): Initialize string fields with gfc_get_string.
+       (mio_pool_string): New function.
+       (mio_internal_string): Adapt comment.
+       (mio_component_ref, mio_component, mio_actual_arg): Use
+       'mio_pool_string' instead of 'mio_internal_string'.
+       (mio_symbol_interface): Add 'const' qualifier to string arguments.
+       Add level of indirection. Use 'mio_pool_string' instead of
+       'mio_internal_string'.
+       (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
+       (write_common, write_symbol): Use 'mio_pool_string' instead of
+       'mio_internal_string'.
+       (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
+       instead of empty string.
+       (write_operator, write_generic): Pass correct type variable to
+       'mio_symbol_interface'.
+       (write_symtree): Use 'mio_pool_string' instead of
+       'mio_internal_string'.
+       * primary.c (match_keyword_arg): Adapt check to possible
+       case of NULL pointer.  Use 'gfc_get_string' instead of 'strcpy'.
+       * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
+       gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
+       'strcpy'.
+       (ambiguous_symbol): Check for NULL pointer instead of empty string.
+       (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
+       arguments.
+       * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
+       pointer instead of empty string.
+       * trans-decl.c (gfc_sym_mangled_identifier,
+       gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
+       gfc_get_symbol_decl): Likewise.
+       * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
+       argument.  Copy string instead of pointing to it.
+
+2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * intrinsic.h, st.c: Update copyright.
+
+2005-02-20  Steven G. Kargl  <kargls@comcast.net>
+
+       * symbol.c: Typos in comments.
+
+2005-02-20  Steven G. Kargl  <kargls@comcast.net>
+
+       * expr.c (gfc_type_convert_binary): Typo in comment.
+
+2005-02-19  Steven G. Kargl  <kargls@comcast.net>
+  
+       * check.c (gfc_check_selected_int_kind): New function.
+       * intrinsic.h: Prototype it.
+       * intrinsic.c (add_function): Use it.
+       * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
+         BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
+
+2005-02-19  Steven G. Kargl  <kargls@comcast.net>
+  
+       * check.c (gfc_check_int): improve checking of optional kind
+       * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
+
+2005-02-19  Steven G. Kargl  <kargls@comcast.net>
+  
+       * check.c (gfc_check_achar): New function
+       * intrinsic.h: Prototype it.
+       * intrinsic.c (add_function): Use it.
+
+2005-02-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-stmt.c (generate_loop_for_temp_to_lhs,
+       generate_loop_for_rhs_to_temp): Remove if whose condition is
+       always true.
+
+2005-02-12  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
+       (gfc_use_derived): ... this function.
+
+2005-02-09  Richard Henderson  <rth@redhat.com>
+
+       * f95-lang.c (gfc_init_builtin_functions): Call
+       build_common_builtin_nodes; do not define any functions handled
+       by it.
+
+2005-02-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
+       EXPR_SUBSTRING.
+       (gfc_is_constant_expr): Check 'ref' to determine if substring
+       reference is constant.
+       (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
+       (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
+       and 'op2'.
+       * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
+
+2005-02-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
+       gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
+       gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
+       gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
+       gfc_add_procedure): Add argument.
+       * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
+       gfc_match_null, match_type_spec, match_attr_spec,
+       gfc_match_formal_arglist, match_result, gfc_match_function_decl):
+       Update callers to match.
+       (gfc_match_entry) : Likewise, fix comment typo.
+       (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
+       access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
+       gfc_match_derived_decl): Update callers.
+       * interface.c (gfc_match_interface): Likewise.
+       * match.c (gfc_match_label, gfc_add_flavor,
+       gfc_match_call, gfc_match_common, gfc_match_block_data,
+       gfc_match_namelist, gfc_match_module, gfc_match_st_function):
+       Likewise.
+       * parse.c (parse_derived, parse_interface, parse_contained),
+       primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
+       * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
+       * symbol.c (check_conflict, check_used): Add new 'name' argument,
+       use when printing error message.
+       (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
+       gfc_add_generic, gfc_add_in_common, gfc_add_data,
+       gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
+       gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
+       gfc_add_procedure): Add new 'name' argument.  Pass along to
+       check_conflict and check_used.
+       (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
+       gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
+       gfc_add_pure, gfc_add_recursive, gfc_add_intent,
+       gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
+       argument in calls to any of the modified functions.
+
+2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * gfortran.texi: Don't give last update date.
+
+2006-01-30  Richard Henderson  <rth@redhat.com>
+
+       * options.c (gfc_init_options): Zero flag_errno_math.
+
+2005-01-29  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/18565
+       * check.c (real_or_complex_check): New function.
+       (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
+       * intrinsic.c (add_functions): Use new check functions.
+       * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
+       Add prototypes.
+
+2005-01-29  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/19589
+       * expr.c (gfc_check_assign):  Check for conformance of logical operands
+
+2004-01-27  Steven Bosscher  <stevenb@suse.de>
+
+       * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
+       TREE_USED for all labels.
+       (gfc_trans_entry_master_switch): Use it instead of building a
+       label by hand.
+       * trans-io.c (add_case): Likewise.
+       * trans-stmt.c (gfc_trans_integer_select): Likewise.
+
+2004-01-23  Paul Brook  <paul@codesourcery.com>
+       Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/17941
+       * arith.c (gfc_convert_real): Remove sign handling.
+       * primary.c (match_digits): Allow whitespace after initial sign.
+       (match_real_const): Handle signs here.  Allow whitespace after
+       initial sign.  Remove dead code.
+       (match_const_complex_part): Remove.
+       (match_complex_part): Use match_{real,integer}_const.
+       (match_complex_constant): Cross-promote integer types.
+
+2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR fortran/19294
+       * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
+       transpose_c8 for complex types.
+
+2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
+       trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
+       trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
+       Follow spelling conventions.
+
+2005-01-22  Bud Davis  <bdavis9659@comcast.net>
+
+       PR fortran/19313
+       * trans-io.c (gfc_trans_inquire): Added code to support
+       pad.
+
+2005-01-22  Steven G. Kargl  <kargls@comcast.net>
+
+       * intrinsic.c (make_alias):  Add standard argument. 
+       (add_functions): Update make_alias calls.
+
+2005-01-22  Paul Brook  <paul@codesourcery.com>
+
+       * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
+
+2005-01-22  Paul Brook  <paul@codesourcery.com>
+
+       * gfortran.h (gfc_check_access): Add prototype.
+       * match.c (gfc_match_namelist): Remove TODO.
+       * module.c (check_access): Rename ...
+       (gfc_check_access): ... to this.  Boolify.  Update callers.
+       * resolve.c (resolve_symbol): Check for private objects in public
+       namelists.
+
+2005-01-22  Paul Brook  <paul@codesourcery.com>
+
+       * primary.c (gfc_match_rvalue): Only apply implicit type if variable
+       does not have an explicit type.
+       (gfc_match_variable): Resolve implicit derived types in all cases.
+       Resolve contained function types from their own namespace, not the
+       parent.
+       * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
+       checking.  Resolve from the contained namespace, not the parent.
+
+2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/19543
+       * trans-const.c (gfc_conv_constant_to_tree): Give logical
+       constants the correct type.
+
+       PR fortran/19194
+       * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
+       length parameters.
+       (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
+       pointer fields.
+
+2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
+       gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
+       match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
+       scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
+       trans-io.c, trans-stmt.c, trans.c: Update copyright.
+
+2005-01-17  Ira Rosen  <irar@il.ibm.com>
+
+       * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
+
+2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/19182
+       * error.c (error_char): Line-buffer errors / warnings.
+
+2005-01-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
+       unsigned issue.  Use build_int_cst instead of converting
+       integer_zero_node.  Remove unnecessary conversion.
+
+       * trans-types.c (gfc_get_character_type_len): : Use
+       gfc_charlen_type_node as basic type for the range field.
+
+       * trans-intrinsic.c (build_fixbound_expr,
+       gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
+       gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
+       gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
+       of converting 'integer_zero_node' or 'integer_one_node'
+       respectively.
+       (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
+       evade re-building.
+       (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
+       gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
+       'build_int_cst' instead of converting 'integer_zero_node' or
+       'integer_one_node' respectively.
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_index,
+       gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
+       'gfc'-prefix from local variable, remove dead code, use correct
+       type when inserting argument.
+
+       * trans-intrinsic.c, trans-types.c: Update copyright years.
+
+2005-01-16  Steven G. Kargl  <kargls@comcast.net>
+
+       PR 19168
+       * resolve.c (check_case_overlap): Typo in comment.
+       (validate_case_label_expr):  Fix up kinds of case values
+       (resolve_select): Properly handle kind mismatches.
+
+2004-01-16  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/17675
+       * trans-common.c (translate_common): Remove duplicate function call.
+       (finish_equivalences): Preserve alignment when biasing offsets.
+
+2005-01-15  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de
+
+       * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
+       ASCII-like character encoding.
+
+2005-01-14  Steven G. Kargl  <kargls@comcast.net>
+
+       * resolve.c (compare_case): Cleanup.
+
+2005-01-14  Steven G. Kargl  <kargls@comcast.net>
+
+       * resolve.c (compare_case): Give arguments correct type.
+
+2005-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * iresolve.c, trans-common.c, trans-types.c: Fix comment
+       typos.
+
+2005-01-09  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/17675
+       * trans-common.c (current_common, current_offset): Remove.
+       (create_common): Add head argument.
+       (align_segment): New function.
+       (apply_segment_offset): New function.
+       (translate_common): Merge code from new_segment.  Handle alignment.
+       (new_segment): Remove.
+       (finish_equivalences): Ensure proper alignment.
+
+2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-const.c: Don't include unused math.h.
+
+       * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
+       gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
+       gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
+       trailing whitespace.
+       (prepare_arg_info): Fix formatting, indenting and remove trailing
+       whitespace.
+       (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
+       trailing whitespace.
+
+       * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
+       gfc_constant_result, gfc_range_check, gfc_arith_power,
+       eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
+       gfc_real2complex, gfc_complex2int, gfc_complex2real,
+       gfc_complex2complex): Fix whitespace issues.
+       * check.c (must_be, type_check, numeric_check, int_or_real_check,
+       logical_array_check, array_check, scalar_check, nonoptional_check,
+       variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
+       gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
+       gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
+       gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
+       gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
+       gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
+       gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
+       gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
+       gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
+       gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
+       gfc_check_lbound, gfc_check_logical, min_max_args,
+       gfc_check_min_max_integer, gfc_check_min_max_real,
+       gfc_check_min_max_double, gfc_check_matmul,
+       gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
+       gfc_check_pack, gfc_check_precision, gfc_check_radix,
+       gfc_check_range, gfc_check_real, gfc_check_repeat,
+       gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
+       gfc_check_set_exponent): Fix formatting issues.
+       (gfc_check_size, gfc_check_sign): Alphabetize function order,
+       remove whitespace-only line.
+       (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
+       gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
+       gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
+       gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
+       gfc_check_random_number, gfc_check_random_seed,
+       gfc_check_second_sub, gfc_check_system_clock,
+       gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
+       gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
+       gfc_check_unlink_sub): Fix formatting issues.
+       
+2005-01-08  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortran.h: Remove outdated comment.  Don't include stdio.h
+       explicitly.
+
+2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortranspec.c (lang_specific_driver): Change year to 2005 in
+       output of 'gfortran --version'.
+
+2005-01-03  Steven G. Kargl  <kargls@comcast.net>
+
+       * arith.c: Add system.h; remove string.h
+       * decl.c: Ditto
+       * matchexp.c: Ditto
+       * parse.c: Ditto
+       * resolve.c: Ditto
+       * st.c: Ditto
+       * check.c: Remove stdlib.h and stdarg.h
+       * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
+       * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
+       * f95-lang.c: Add system.h; remove stdio.h
+       * interface.c: Add system.h; remove stdlib.h and string.h
+       * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
+       * io.c: Remove string.h
+       * simplify.c: Ditto
+       * match.c: Remove stdarg.h and string.h
+       * misc.c: Update copyright; add system.h; remove stdlib.h,
+       string.h, and sys/stat.h
+       * module.c: Add system.h; remove string.h, stdio.h, errno.h,
+       unistd.h, and time.h
+       * option.c: Remove string.h and stdlib.h
+       * primary.c: Ditto
+       * scanner.c: Update copyright; add system.h; remove stdlib.h,
+       stdio.h, string.h, and strings.h
+       * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
+       * trans-array.c: Remove stdio.h and gmp.h
+       * trans-const.c: Ditto
+       * trans-expr.c: Ditto
+       * trans-io.c: Ditto
+       * trans-stmt.c: Ditto
+       * trans.c: Ditto
+       * trans-intrinsic.c: Remove stdio.h and string.h
+
+2004-12-29  Steven G. Kargl  <kargls@comcast.net>
+
+       * gfortran.h (gfc_case): fix typo in comment.
+
+2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de> 
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
+       logical shift.  Call fold.  Remove 0-bit shift shortcut.
+       (gfc_conv_intrinsic_ishftc): Convert first argument to at least
+       4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
+       result if width(arg 1) < 4 bytes.  Call fold.
+
+       PR fortran/19032
+       * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
+       in front of function to match the standard.  Correct handling
+       of MODULO.
+
+2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * trans-expr.c (gfc_conv_cst_int_power): Only check for
+       flag_unsafe_math_optimizations if we have a float type.
+
+2004-12-23  Steven G. Kargl  <kargls@comcast.net>
+
+       * gfortran.texi: Fix typo.
+
+2004-12-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
+       comment typo.
+
+2004-12-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/18993
+       * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
+       (gfc_match_nullify): Make sure that ')' is in front of the end of
+       statement.
+
+       * scanner.c (skip_fixed_comments): Fix typo in comment preceding
+       function.
+
+2004-12-14  Richard Henderson  <rth@redhat.com>
+
+       * gfortran.h (gfc_expr.function.name): Make const.
+       (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
+       (gfc_get_string): Update prototype.
+       * iresolve.c: Include tree.h.
+       (string_node, HASH_SIZE, string_head, hash): Remove.
+       (gfc_get_string): Use vsnprintf, get_identifier.
+       (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
+       * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
+       (gfc_done_1): Don't call gfc_iresolve_done_1.
+       * module.c (mio_allocated_string): Take and return const char *,
+       instead of modifying char**.
+       (mio_expr): Update to match.
+       * resolve.c (pure_function): Constify name argument.
+       (resolve_function): Constify name.
+       * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+       * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
+       gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
+       gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
+       gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
+       gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
+       gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
+       gfc_resolve_unpack: Use PREFIX.
+
+2004-12-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/18869
+       * match.c (gfc_match_common): Skip whitespace.
+
+2004-12-12  Steven G. Kargl  <kargls@comcast.net>
+
+       PR fortran/16581
+       * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
+       gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
+       integer kind check; Issue error for -std=f95 when needed.
+       * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
+       GFC_STD_F95.
+       * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
+       Promote arguments to same kind.
+
+2004-12-12  Steven G. Kargl  <kargls@comcast.net>
+       Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/16222
+       * resolve.c (gfc_resolve_iterator_expr): New function.
+       (gfc_resolve_iterator): Use it.  Add real_ok argument.  Convert
+       start, end and stride to correct type.
+       (resolve_code): Pass extra argument.
+       * array.c (resolve_array_list): Pass extra argument.
+       * gfortran.h (gfc_resolve): Add prototype.
+       * trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
+       Handle real type iterators.
+
+2004-12-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/17175
+       * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
+       same kind as C's 'int'.
+       (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4.
+
+2004-12-08  Richard Henderson  <rth@redhat.com>
+
+       * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
+       to the output expression.
+       * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
+       warning conversion.
+       (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
+       to index kind.
+
+2004-12-08  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/18826
+       * resolve.c (resolve_code): Impose correct restrictions on
+       assigned variable.
+
+       * decl.c (gfc_match_end): Use locus of END when eos is an error.
+
+2004-12-02  Steven G. Kargl  <kargls@comcast.net>
+       Paul Brook  <paul@codesourcery.com>
+
+       * check.c (gfc_check_flush, gfc_check_fnum): New functions.
+       (gfc_check_fstat, gfc_check_fstat_sub): New functions.
+       (gfc_check_stat, gfc_check_stat_sub): New functions.
+       * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
+       * intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
+       fstat, and stat to intrinsics symbol tables.
+       * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
+       (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
+       * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
+       (gfc_resolve_stat, gfc_resolve_flush): New functions.
+       (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
+       * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
+
+2004-12-02  Steven G. Kargl  <kargls@comcast.net>
+
+       * intrinsic.c: Fix and add comments, fix function declarations
+       (OPTIONAL,REQUIRED): New symbols
+       (add_functions,add_subroutines): Use symbols
+       (gmp.h): Remove unused include
+
+2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
+       in diagnostics.
+
+2004-11-24  Steven Bosscher  <stevenb@suse.de>
+
+       * options.c (gfc_post_options): Don't clear flag_inline_functions.
+
+2004-11-20  Steven G. Kargl  <kargls@comcast.net>
+
+       * check.c (gfc_check_getcwd_sub): Fix seg fault.
+
+       * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
+       gfc_check_unlink,gfc_check_unlink_sub): New functions
+       * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
+       * intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
+       exit to intrinsics symbol tables.
+       * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
+       gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
+       gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
+       gfc_resolve_unlink_sub): Add and sort prototypes.
+       * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
+       gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
+       * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
+
+2004-11-16  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/13010
+       * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
+       (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
+       * trans-types.c (gfc_get_dtype): Accept array type rather than element
+       type.
+       (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
+       (gfc_get_array_type_bounds): Ditto.
+       (gfc_get_derived_type): Recurse into derived type pointers.
+       * trans-types.h (gfc_get_dtype): Add prototype.
+       * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
+
+2004-11-15  Paul Brook  <paul@codesourcery.com>
+
+       * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
+
+2004-11-10  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/18375
+       * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
+       * trans-io.c (transfer_array_component): Ditto.
+
+2004-11-10  Paul Brook  <paul@codesourcery.com>
+
+       * invoke.texi: Fix typo.
+
+2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
+       gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
+       module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
+       trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
+       trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
+
+2004-11-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/18023
+       * io.c (resolve_tag): Tighten up exception for assigned FORMAT.
+
 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
 
        * gfortranspec.c: Replace GNU CC with GCC.