+2004-07-04 Matthias Klose <doko@debian.org>
+
+ * Make-lang.in: Generate and install gfortran man page.
+ * invoke.texi: Remove extra '@c man end'.
+
+2004-07-04 Richard Henderson <rth@redhat.com>
+
+ * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
+
+2004-07-04 Paul Brook <paul@codesourcery.com>
+
+ * decl.c (gfc_match_implicit_range): Don't use typespec.
+ (gfc_match_implicit): Handle character selectors.
+ * gfortran.h (gfc_set_implicit): Remove prototype.
+ (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
+ * parse.c (accept_statement): Don't call gfc_set_implicit.
+ * symbol.c (new_ts): Remove.
+ (gfc_set_implicit_none): Use same loop bounds as other functions.
+ (gfc_set_implicit): Remove.
+ (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
+ (gfc_merge_new_implicit): Combine with gfc_set_implicit.
+
+2004-06-30 Richard Henderson <rth@redhat.com>
+
+ * match.c (var_element): Remove unused variable.
+
+ * trans-decl.c (gfc_generate_function_code): Don't set
+ x_whole_function_mode_p.
+ (gfc_generate_constructors): Likewise.
+
+2004-06-30 Richard Henderson <rth@redhat.com>
+
+ * trans-decl.c (gfc_generate_function_code): Don't set
+ immediate_size_expand.
+ (gfc_generate_constructors): Likewise.
+
+2004-06-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/16161
+ * decl.c (gfc_match_type_spec): Rename second argument to
+ 'implicit_flag', reverse meaning. Don't match_char_spec if
+ 'implicit_flag' is set. Rename to ...
+ (match_type_spec): ... this.
+ (gfc_match_implicit_none, match_implicit_range): Move here
+ from match.c.
+ (gfc_match_implicit): Move here from match.c, try to
+ match_char_len if match_implicit_range doesn't succeed for
+ CHARACTER implicits. Call renamed fucntion match_type_spec.
+ (gfc_match_data_decl, match_prefix): Call renamed function
+ match_type_spec.
+ * match.c (gfc_match_implicit_none, match_implicit_range,
+ gfc_match_implicit): Move to decl.c.
+ * match.h (gfc_match_implicit_none, gfc_match_implicit):
+ Move protoypes to section 'decl.c'.
+ (gfc_match_type_spec): Remove prototype.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
+ copyright years.
+
+2004-06-29 Steven Bosscher <stevenb@suse.de>
+
+ Make sure types in assignments are compatible. Mostly mechanical.
+ * trans-const.h (gfc_index_one_node): New define.
+ * trans-array.c (gfc_trans_allocate_array_storage,
+ gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray,
+ gfc_trans_array_constructor_value, gfc_trans_array_constructor,
+ gfc_conv_array_ubound, gfc_conv_array_ref,
+ gfc_trans_scalarized_loop_end, gfc_conv_section_startstride,
+ gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size,
+ gfc_trans_array_bounds, gfc_trans_dummy_array_bias,
+ gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct
+ types in assignments, conversions and conditionals for expressions.
+ * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
+ gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp,
+ gfc_conv_function_call, gfc_trans_pointer_assignment,
+ gfc_trans_scalar_assign): Likewise.
+ * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound,
+ gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
+ gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest,
+ gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft,
+ gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp,
+ gfc_conv_allocated, gfc_conv_associated,
+ gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise.
+ * trans-io.c (set_string): Likewise.
+ * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop,
+ gfc_do_allocate, generate_loop_for_temp_to_lhs,
+ generate_loop_for_rhs_to_temp, compute_inner_temp_size,
+ compute_overall_iter_number, gfc_trans_assign_need_temp,
+ gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
+ gfc_evaluate_where_mask, gfc_trans_where_assign,
+ gfc_trans_where_2): Likewise.
+ * trans-types.c (gfc_get_character_type, gfc_build_array_type,
+ gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise.
+
+ * trans.c (gfc_add_modify_expr): Add sanity check that types
+ for the lhs and rhs are the same for scalar assignments.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * dump-parse-tree.c (show_common): New function.
+ (gfc_show_namespace): Show commons.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Andrew Vaught <andyv@firstinter.net>
+
+ PR fortran/13249
+ PR fortran/15481
+ * decl.c (gfc_match_save): Adapt to new common structures,
+ don't allow saving USE-associated common.
+ * dump-parse-tree (gfc_show_attr): (saved_)common are not
+ symbol attributes any longer.
+ (gfc_show_symbol): Don't show old-style commons any longer.
+ (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
+ interface.
+ * gfortran.h (symbol_attribute): Remove common and saved_common
+ attributes.
+ (gfc_symbol): Remove common_head element.
+ (gfc_common_head): New struct.
+ (gfc_get_common_head): New macro.
+ (gfc_symtree): Add field 'common' to union.
+ (gfc_namespace): Add field 'common_root'; change type of field
+ 'blank_common' to blank_common.
+ (gfc_add_data): New prototype.
+ (gfc_traverse_symtree): Expect a symtree as first argument
+ instead of namespace.
+ * match.c (gfc_get_common): New function.
+ (match_common_name): Change to take char * as argument, adapt,
+ fix bug with empty name.
+ (gfc_match_common): Adapt to new data structures. Disallow
+ redeclaration of USE-associated COMMON-block. Fix bug with
+ empty common.
+ (var_element): Adapt to new common structures.
+ * match.h (gfc_get_common): Declare.
+ * module.c: Add 2004 to copyright years, add commons to module
+ file layout description.
+ (ab_attribute, attr_bits, mio_symbol_attributes): Remove code
+ for removed attributes.
+ (mio_symbol): Adapt to new way of storing common relations.
+ (load_commons): New function.
+ (read_module): Skip common list on first pass, load_commons at
+ second.
+ (write_commons): New function.
+ (write_module): Call write_commons().
+ * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
+ functions related to removed attributes.
+ (gfc_add_data): New function.
+ (gfc_clear_attr): Don't set removed attributes.
+ (gfc_copy_attr): Don't copy removed attributes.
+ (traverse_symtree): Remove.
+ (gfc_traverse_symtree): Don't traverse symbol
+ tree of the passed namespace, but require a symtree to be passed
+ instead. Unify with traverse_symtree.
+ (gfc_traverse_ns): Call gfc_traverse_symtree according to new
+ interface.
+ (save_symbol): Remove setting of removed attribute.
+ * trans-common.c (gfc_sym_mangled_common_id): Change to
+ take 'char *' argument instead of 'gfc_symbol'.
+ (build_common_decl, new_segment, translate_common): Adapt to new
+ data structures, add new
+ argument name.
+ (create_common): Adapt to new data structures, add new
+ argument name. Fix typo in intialization of derived types.
+ (finish_equivalences): Add second argument in call to
+ create_common.
+ (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
+ (gfc_trans_common): Adapt to new data structures.
+ * trans-decl.c (gfc_create_module_variables): Remove test for
+ removed attribute.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io.c: Add 2004 to copyright years.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Andrew Vaught <andyv@firstinter.net>
+
+ * gfortran.h (gfc_gsymbol): New typedef.
+ (gfc_gsym_root): New variable.
+ (gfc_get_gsymbol, gfc_find_gsym): New prototypes.
+ * parse.c (global_used): New function.
+ (parse_block_data): Check for double empty BLOCK DATA,
+ use global symbol table.
+ (parse_module): Use global symbol table.
+ (add_global_procedure, add_global_program): New functions.
+ (gfc_parse_file): Use global symbol table.
+ * symbol.c (gfc_gsym_root): New variable.
+ (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New
+ functions.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * module.c (mio_gmp_real): Correct writing of negative numbers.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15963
+ * expr.c (check_intrinsic_op): Allow comparison of characters.
+ Make logic easier.
+
+2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Andrew Vaught <andyv@firstinter.net>
+
+ * decl.c (contained_procedure): New function.
+ (match_end): Verify correctness of END STATEMENT in
+ all cases.
+
+2004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Andrew Vaught <andyv@firstinter.net>
+
+ PR fortran/15190
+ * decl.c (gfc_match_type_spec), io.c (match_io), parse.c
+ (decode_statement): Enforce required space in free-form.
+
+2004-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
+ * trans-array.c (gfc_conv_descriptor_data): Add operand
+ for COMPONENT_REF.
+ (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
+ (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
+ (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
+ * trans-common.c (create_common): Likewise.
+ * trans-expr.c (gfc_conv_component_ref): Likewise.
+ * trans-io.c (set_parameter_value): Likewise.
+ (set_parameter_ref, set_string, set_flag, io_result): Likewise.
+ (transfer_expr): Likewise.
+ * trans-decl.c (gfc_trans_auto_character_variable):
+ Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
+ (gfc_gimplify_function): New function.
+ (gfc_generate_function-code): Properly handle nested functions.
+ * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF.
+
+2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/15750
+ * io.c (gfc_match_inquire): Bugfix for iolength related stuff.
+ (gfc_resolve_inquire): Resolve the iolength tag. Return
+ SUCCESS at end of function if no failure has occured.
+ * resolve.c (resolve_code): Resolve if iolength is encountered.
+ * trans-io.c: (ioparm_iolength, iocall_iolength,
+ iocall_iolength_done): New variables.
+ (last_dt): Add IOLENGTH.
+ (gfc_build_io_library_fndecls ): Set iolength related variables.
+ (gfc_trans_iolength): Implement.
+ (gfc_trans_dt_end): Treat iolength as a third form of data transfer.
+
+2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de
+
+ PR fortran/15511
+ * scanner.c (load_line): Don't truncate preprocessor lines.
+ Reformat error message.
+ (preprocessor_line): Issue warning in case of malformed
+ preprocessor line.
+
+2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * resolve.c (resolve_symbol): Add comment in function body.
+ (check_data_variable): Change type of mark to ar_type, adapt code
+ accordingly.
+
+2004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * array.c (gfc_insert_constructor): Avoid redundant call to
+ mpz_comp. Add 2004 to copyright years.
+
+2004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * trans.h (stmtblock_t): Change has_scope to unsigned int.
+
+2004-06-20 Steven G. Kargl <kargls@comcast.net>
+
+ * arith.c (gfc_range_check): correct complex underflow.
+
+2004-06-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15962
+ * match.c (match_case_selector): Call gfc_match_init_expr
+ instead of gfc_match_expr.
+ * resolve.c (validate_case_label_expr): No need to check for
+ constant, since it wouldn't have been matched with the fix to
+ match.c.
+
+2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15211
+ * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
+ of strings.
+
+2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15510
+ * trans-deecl.c (generate_local_decl): Do not issue warning for
+ unused variables if they're use associated.
+
+2004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Andrew Vaught <andyv@firstinter.net>
+
+ PR fortran/14928
+ * gfortran.h (gfc_check_f): Add new field f3ml.
+ * check.c (gfc_check_minloc_maxloc): Take argument list instead
+ of individual arguments, reorder if necessary.
+ * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
+ * intrinsic.c (add_sym_3ml): New function.
+ (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
+ (check_specific): Catch special case MINLOC, MAXLOC.
+
+2004-06-14 Paul Brook <paul@codesourcery.com>
+
+ * intrinsic.c (add_sym_2s): Use correct function types.
+
+2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize. Move data.c
+ * data.c (gfc_get_section_index): Remove dependency on trans.h.
+
+2004-06-12 Steven G. Kargl <kargls@comcast.net>
+
+ * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
+ gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
+ * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
+ GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
+ * trans-intrinsic.c: Use symbols.
+ * intrinsic.c (add_sym_2s): New function.
+ * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
+ * intrinsic.h: Function prototypes.
+ * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
+ gfc_resolve_srand): New functions.
+
+2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/14957
+ * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
+ contained procedure.
+
+2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/12841
+ * interface.c (compare_parameter, compare_actual_formal): Don't
+ check types and array shapes for NULL()
+ * trans-expr.c (conv_function_call): No double indirection for
+ NULL()
+
+2004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * trans-expr.c (gfc_conv_cst_int_power): Compute
+ x**(-n) by converting it to (1/x)**n instead of
+ 1/x**n.
+
+2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/13372
+ * module.c (write_symbol, write_symtree): Don't write symbols
+ wrongly added to namespace.
+ * trans-decl.c (gfc_create_module_variable): Don't create a
+ backend decl for a symbol incorrectly added to namespace.
+
+2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/13201
+ * resolve.c (resolve_symbol): Verify that parameter array has an
+ explicit shape. Fix typos and coding style issues in surrounding
+ lines.
+
+2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15478
+ * gfortran.texi: The documentation doesn't contain infomration on
+ how to report bugs, and shouldn't, so remove the line which
+ says it does.
+
+2004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * intrinsic.c (sort_actual): Keep track of type of missing
+ arguments. (Missing from previous commit.)
+
2004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
* gfortran.h (gfc_actual_arglist): New field missing_arg_type.