OSDN Git Service

* trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 1623cb7..623a8d0 100644 (file)
@@ -1,9 +1,677 @@
+2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
+
+2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * check.c (gfc_check_reduction): Rename to ...
+       (check_reduction): ... this. Make static. Don't check type of 
+       first argument.
+       (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
+       * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
+       SUM to use new check functions.
+       (check_specific): Change logic to call new functions.
+       * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
+       Add prototypes.
+       (gfc_check_reduction): Remove prototype.
+
+2004-08-20  Paul Brook  <paul@codesourcery.com>
+       Canqun Yang  <canqun@nudt.edu.cn>
+
+       PR fortran/17077
+       * trans-array.c (gfc_conv_array_parameter): Pass correct pointer
+       for automatic arrays.
+       * trans-types.c (gfc_get_nodesc_array_type): Add comment.
+
+2004-08-19  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       (Port from g95)
+
+       PR fortran/17074
+       * match.c (match_simple_forall, match_simple_where): Forward-declare.
+       (gfc_match_if): Order statement list alphabetically, add WHERE and
+       FORALL, remove double PAUSE.
+       (gfc_match_simple_where, match_forall_header,
+       gfc_match_simple_forall): New functions.
+       (gfc_match_forall): Use match_forall_header.
+       
+2004-08-19  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/17091
+       * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
+       * symbol.c (gfc_clear_attr): Use memset.
+
+2004-08-19  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/14976
+       PR fortran/16228 
+       * data.c (assign_substring_data_value): Remove.
+       (create_character_intializer): New function.
+       (gfc_assign_data_value): Track the typespec for the current
+       subobject.  Use create_character_intializer.
+
+2004-08-19  Erik Schnetter  <schnetter@aei.mpg.de>
+
+       PR fortran/16946
+       * check.c (gfc_check_reduction): New function.
+       (gfc_check_minval_maxval): Removed.
+       (gfc_check_product): Removed.
+       (gfc_check_sum): Removed.
+       * intrinsic.h: Add/remove declarations for these.
+       * gfortran.h: Add field f3red to union gfc_check_f.
+       * intrinsic.c (add_sym_3red): New function.
+       (add_functions): Register maxval, minval, product, and sum intrinsics
+       through add_sym_3red.
+       (check_specific): Handle f3red union field.
+       * iresolve.c: Whitespace change.
+
+2004-08-18  Paul Brook  <paul@codesourcery.com>
+
+       * trans-types.c (gfc_sym_type): Use pointer types for optional args.
+
+2004-08-18  Victor Leikehman  <lei@il.ibm.com>
+
+       PR fortran/13278
+       * trans-io.c (transfer_namelist_element): New. Recursively handle
+       derived-type variables.  Pass string lengths.
+       (build_dt): Code moved to build_namelist, with some
+       changes and additions.
+       (gfc_build_io_library_fndecls): Declare the fifth
+       argument in st_set_nml_var_char -- string_length.
+
+2004-08-17  Paul Brook  <paul@codesourcery.com>
+       Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/13082
+       * decl.c (get_proc_name): Update mystery comment.
+       (gfc_match_entry): Check for errors earlier.  Add entry point to list.
+       * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
+       * gfortran.h (symbol_attribute): Add entry_master.  Document entry.
+       (struct gfc_entry_list): Define.
+       (gfc_get_entry_list): Define.
+       (struct gfc_namespace): Add refs and entries.
+       (enum gfc_exec_op): Add EXEC_ENTRY.
+       (struct gfc_code): Add ext.entry.
+       * module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
+       (mio_symbol_attribute): Don't save/reture addr->entry.
+       (mio_namespace_ref): Refcount namespaces.
+       * parse.c (accept_statement): Handle ST_ENTRY.
+       (gfc_fixup_sibling_symbols): Mark symbol as referenced.
+       (parse_contained): Fixup sibling references to entry points
+       after parsing the procedure body.
+       * resolve.c (resolve_contained_fntype): New function.
+       (merge_argument_lists, resolve_entries): New functions.
+       (resolve_contained_functions): Use them.
+       (resolve_code): Handle EXEC_ENTRY.
+       (gfc_resolve): Call resolve_entries.
+       * st.c (gfc_free_statement): Handle EXEC_ENTRY.
+       * symbol.c (gfc_get_namespace): Refcount namespaces.
+       (gfc_free_namespace): Ditto.
+       * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
+       optional when multiple entry points are present.
+       * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
+       (gfc_get_extern_function_decl): Add assertion.  Fix coment.
+       (create_function_arglist, trans_function_start, build_entry_thunks):
+       New functions.
+       (gfc_build_function_decl): Rename ...
+       (build_function_decl): ... to this.
+       (gfc_create_function_decl): New function.
+       (gfc_generate_contained_functions): Use it.
+       (gfc_trans_entry_master_switch): New function.
+       (gfc_generate_function_code): Use new functions.
+       * trans-stmt.c (gfc_trans_entry): New function.
+       * trans-stmt.h (gfc_trans_entry): Add prototype.
+       * trans-types.c (gfc_get_function_type): Add entry point argument.
+       * trans.c (gfc_trans_code): Handle EXEC_ENTRY.
+       (gfc_generate_module_code): Call gfc_create_function_decl.
+       * trans.h (gfc_build_function_decl): Remove.
+       (gfc_create_function_decl): Add prototype.
+
+2004-08-15  Andrew Pinski  <apinski@apple.com>
+
+       PR fortran/17030
+       * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
+       for cabs{,f} and copysign{,f}.
+       * trans-decl.c (gfor_fndecl_math_cabsf): Delete. 
+       (gfor_fndecl_math_cabs): Delete. 
+       (gfor_fndecl_math_sign4): Delete. 
+       (gfor_fndecl_math_sign8): Delete. 
+       (gfc_build_intrinsic_function_decls): Remove the
+       initializing of cabs{,f} and copysign{,f} functions.
+       * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
+       instead of the functions definitions.
+       (gfc_conv_intrinsic_sign): Likewise.
+       * trans.h (gfor_fndecl_math_cabsf): Delete. 
+       (gfor_fndecl_math_cabs): Delete. 
+       (gfor_fndecl_math_sign4): Delete. 
+       (gfor_fndecl_math_sign8): Delete. 
+
+2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * trans-array.c (gfc_trans_array_constructor_value): Use
+       build_int_cst. 
+       * trans-const.c (gfc_build_string_const,
+       gfc_init_constants, gfc_conv_mpz_to_tree,
+       gfc_conv_constant_to_tree): Likewise. 
+       * trans-decl.c (gfc_get_symbol_decl): Likewise.
+       * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
+       gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
+       * trans-io.c (add_case, set_error_locus, build_dt,
+       transfer_expr): Likewise.
+       * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
+       gfc_trans_stop, gfc_trans_character_select): Likewise.
+       * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
+       * trans.c (gfc_trans_runtime_check): Likewise.
+
+2004-08-14  Paul Brook  <paul@codesourcery.com>
+
+       * trans-decl.c (gfc_build_function_decl): Remove dead code.
+
+2004-08-14  Paul Brook  <paul@codesourcery.com>
+
+       * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var.
+
+2004-08-13  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortran.h: Add comments.
+       * parse.c (parse_contained): Fix comment typo.
+       * resolve.c (was_declared): Ditto.
+       * symbol.c: Ditto.
+
+2004-08-11  Paul Brook  <paul@codeourcery.com>
+
+       PR fortran/16917
+       * intrinsic.c (add_functions): Add dfloat as an alias for dble.
+
+2004-08-10  Richard Henderson  <rth@redhat.com>
+
+       * f95-lang.c (gfc_init_builtin_functions): Remove
+        __builtin_stack_alloc, add __builtin_alloca.
+       * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
+       * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
+
+2004-08-10  Paul Brook  <paul@codesourcery.com>
+
+       * trans-io.c (transfer_expr): Handle pointters.
+
+2004-08-10  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/16919
+       * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
+       (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
+       (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
+       Handle GFC_SS_COMPONENT.
+       (gfc_conv_ss_startstride): Ditto.  Set ss->shape.
+       (gfc_conv_loop_setup): Tweak commends. Remove dead code.
+       Use ss->shape.
+       (gfc_conv_array_initializer): Call specific initializer routines.
+       * trans-expr.c (gfc_trans_structure_assign): New function.
+       (gfc_trans_subarray_assign): New function.
+       (gfc_trans_subcomponent_assign): New fucntion
+       (gfc_conv_structure): Use them.
+       * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
+       (gfc_ss): Add shape.
+
+2004-08-08  Victor Leikehman  <lei@il.ibm.com>
+
+       * simplify.c (gfc_simplify_shape): Bugfix.
+       * expr.c (gfc_copy_shape_excluding): New function.
+       * gfortran.h (gfc_get_shape): Bugfix.
+       (gfc_copy_shape_excluding): Added declaration.
+       * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
+       gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
+       gfc_resolve_ubound, gfc_resolve_transpose): Added compile
+       time resolution of shape.
+
+2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
+
+       * intrinsic.c (add_subroutines): Add getenv and
+       get_environment_variable. (add_sym_5s): New function.
+       * intrinsic.h (gfc_resolve_get_environment_variable): Add
+       prototype.
+       * iresolve.c (gfc_resolve_get_environment_variable): New
+       function.
+
+2004-08-06  Feng Wang  <fengwang@nudt.edu.cn>
+
+       * f95-lang.c (gfc_init_builtin_functions): Fix the number of
+       __builtin_pow[f] arguments.
+
+2004-08-06  Steven G. Kargl  <kargls@comcast.net>
+
+       * arith.c: Add #define for model numbers.  Remove global GMP variables.
+       (natural_logarithm,common_logarithm,exponential,sine,
+       cosine,arctangent,hypercos,hypersine ): Remove.
+       (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions.
+       (arctangent2,gfc_arith_init_1,gfc_arith_done_1
+       gfc_check_real_range, gfc_constant_result, gfc_range_check,
+       gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times,
+       gfc_arith_divide,complex_reciprocal,complex_pow_ui,
+       gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real,
+       gfc_convert_complex,gfc_int2real,gfc_int2complex,
+       gfc_real2int,gfc_real2real,gfc_real2complex,
+       gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP
+       to MPFR, use new functions.
+       * arith.h: Remove extern global variables.
+       (natural_logarithm,common_logarithm,exponential, sine, cosine,
+       arctangent,hypercos,hypersine): Remove prototypes.
+       (arctangent2): Update prototype from GMP to MPFR.
+       (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes.
+       * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR.
+       * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR.
+       * gfortran.h (GFC_REAL_BITS): Remove.
+       (arith): Add ARITH_NAN.
+       Include mpfr.h.  Define GFC_RND_MODE.
+       Rename GCC_GFORTRAN_H GFC_GFC_H.
+       (gfc_expr): Convert GMP to MPFR.
+       * module.c: Add arith.h, correct type in comment.
+       (mio_gmp_real): Convert GMP to MPFR.
+       (mio_expr):  Use gfc_set_model_kind().
+       * primary.c:  Update copyright date with 2004.
+       (match_real_constant,match_const_complex_part): Convert GMP to MPFR.
+       * simplify.c: Remove global GMP variables
+       (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag,
+       gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint,
+       gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan,
+       gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx,
+       gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh,
+       gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon,
+       gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor,
+       gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int,
+       gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log,
+       gfc_simplify_log10,simplify_min_max,gfc_simplify_mod,
+       gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint,
+       gfc_simplify_rrspacing,gfc_simplify_scale,
+       gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin,
+       gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt,
+       gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny,
+       gfc_simplify_init_1,gfc_simplify_done_1):  Convert GMP to MPFR.
+       Use new functions.
+       * trans-const.c (gfc_conv_mpfr_to_tree): Rename from
+       gfc_conv_mpf_to_tree.  Convert it to use MPFR
+       (gfc_conv_constant_to_tree): Use it.
+       * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree().
+       * trans-intrinsic.c: Add arith.h, remove gmp.h
+       (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR.
+
+2004-08-06  Victor Leikehman  <lei@il.ibm.com>
+       Paul Brook  <paul@codesourcery.com>
+
+       * trans-array.c (gfc_trans_allocate_array_storage,
+       gfc_trans_allocate_temp_array, gfc_add_loop_ss_code,
+       gfc_conv_loop_setup): For functions, if the shape of the result
+       is not known in compile-time, generate an empty array descriptor for
+       the result and let the callee to allocate the memory.
+       (gfc_trans_dummy_array_bias): Do nothing for pointers.
+       (gfc_conv_expr_descriptor): Use function return values directly.
+       * trans-expr.c (gfc_conv_function_call): Always add byref call
+       insn to pre chain.
+       (gfc_trans_pointer_assignment): Add comments.
+       (gfc_trans_arrayfunc_assign): Don't chain on expression.
+
+2004-08-01  Roger Sayle  <roger@eyesopen.com>
+
+       * options.c (gfc_init_options): Don't warn about the use GNU
+       extensions by default.
+       (gfc_post_options): Warn about GNU extensions with -pedantic.
+       (gfc_handle_option): Don't warn about GNU extensions with -std=gnu.
+
+2004-07-30  Richard Henderson  <rth@redhat.com>
+
+       * trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL
+       for TREE_CONSTANTs.
+
+2004-07-25  Richard Henderson  <rth@redhat.com>
+
+       * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
+       and DECL_IGNORED_P on RESULT_DECL.
+       (gfc_generate_constructors): Likewise.
+
+2004-07-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/16465
+       * lang.opt (ffixed-line-length-none, ffixed-line-length-): New
+       options.
+       (ffixed-line-length-80, ffixed-line-length-132): Remove.
+       * options.c (gfc_handle_options): Deal with changed options.
+       * scanner.c (load_line): Change second arg to 'char **',
+       allocate if pointing to NULL. Keep track of buffer's length.
+       Adapt buffer size to overlong lines. Pad lines to full length
+       in fixed form.
+       (load_file): Adapt to new interface of load_line.
+
+2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * trans.h (builtin_function): Declare.
+
+2004-07-16  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/16404
+       (parts ported from g95)
+       * parse.h (gfc_state_data): New field do_variable.
+       (gfc_check_do_variable): Add prototype.
+       * parse.c (push_state): Initialize field 'do_variable'.
+       (gfc_check_do_variable): New function.
+       (parse_do_block): Remember do iterator variable.
+       (parse_file): Initialize field 'do_variable'.
+       * match.c (gfc_match_assignment, gfc_match_do,
+       gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
+       Add previously missing checks.
+       (gfc_match_return): Reformat error message.
+       * io.c (match_out_tag): New function.
+       (match_open_element, match_close_element,
+       match_file_element, match_dt_element): Call match_out_tag
+       instead of match_vtag where appropriate.
+       (match_io_iterator, match_io_element): Add missing check.
+       (match_io): Reformat error message.
+       (match_inquire_element): Call match_out_tag where appropriate.
+
+       * parse.c (gfc_check_do_variable): Fix error locus.
+
+2004-07-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/15129
+       * trans-decl.c (gfc_build_function_decl): Create a new chardecl
+       for every assumed length character dummy argument.
+
+       PR fortran/15140
+       * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
+
+       PR fortran/13792
+       * simplify.c (gfc_simplify_bound): Copy the bound expression.
+
+2004-07-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/15324
+       * trans-array.c gfc_trans_g77_array,
+       gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
+       for assumed length characters.
+       (gfc_conv_expr_descriptor): Set se->string_length if dealing
+       with a character expression.
+       (gfc_cvonv_array_parameter): Pass string length when passing
+       character array according to g77 conventions.
+
+2004-07-12  Paul Brook  <paul@codesourcery.com>
+
+       * expr.c (gfc_check_assign_symbol): Handle pointer assignments.
+       * trans-array.c (gfc_trans_auto_array_allocation): Remove
+       initialization code.
+       * trans-common.c (create_common): Use gfc_conv_initializer.
+       * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
+       * trans-expr.c (gfc_conv_initializer): New function.
+       (gfc_conv_structure): Use it.
+       * trans.h (gfc_conv_initializer): Add prototype.
+
+2004-07-11  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/15986
+       * parse.c (gfc_fixup_sibling_symbols): Also look for untyped
+       variables.
+       (parse_contained): Mark contained symbols as referenced.
+
+2004-07-11  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/16455
+       * module.c (gfc_dump_module, gfc_use_module): Print locus
+       when opening of module file fails.
+
+       PR fortran/16404
+       * io.c (match_io): Flag 'WRITE(...), ...' as extension.
+
+       PR fortran/16404
+       * match.c (gfc_match_program): A program name is obligatory.
+       (gfc_match_return): RETURN in main program is an extension.
+       (gfc_match_block_data): A space is required before a block data
+       name.
+
+       PR fortran/16433
+       * primary.c (match_boz_constant): Call gfc_notify_std only if
+       we actually have a non-standard boz-literal-constant.
+
+       PR fortran/15754
+       * expr.c (gfc_check_assign): Print ranks if incompatible. Issue
+       warning if assigning NULL().
+
+2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * f95-lang.c (set_block): Remove.
+       (gfc_clear_binding_stack): New.
+       (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
+       (struct binding_level): Remove block_created_by_back_end.
+       (clear_binding_level): Likewise.
+       (poplevel): Don't handle block_created_by_back_end.
+
+2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-decl.c (gfc_create_module_variable): Nothing to do if
+       symbol is in common, because we ...
+       (gfc_generate_module_vars): Call gfc_trans_common.
+
+2004-07-10  Paul Brook  <paul@codesourcery.com>
+
+       * trans-array.c (gfc_build_null_descriptor): New function.
+       (gfc_trans_static_array_pointer): Use it.
+       * trans-array.h (gfc_build_null_descriptor): Add prototype.
+       * trans-expr.c (gfc_conv_structure): Handle array pointers.
+
+2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       
+       PR fortran/16336
+       * decl.c (gfc_match_save): Use-associated common block
+       doesn't collide.
+       * gfortran.h (gfc_common_head): Add new field 'name'.
+       Fix typo in comment after #endif.
+       * match.c (gfc_get_common): Add new argument from_common,
+       mangle name if flag is set, fill in new field in structure
+       gfc_common_head.
+       (match_common): Set new arg in call to gfc_get_common,
+       use-associated common block doesn't collide.
+       * match.h (gfc_get_common): Adapt prototype.
+       * module.c (load_commons): Set new arg in call to
+       gfc_get_common.
+       * symbol.c (free_common_tree): New function.
+       (gfc_free_namespace): Call new function.
+       * trans-common.c (several functions): Remove argument
+       'name', use name from gfc_common_head instead.
+
+2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
+       and RHS match. Return early if the RHS is NULL().
+
+       PR fortran/16336
+       * match.c (match_common): Fix error reporting for used common.
+
+       PR fortran/15969
+       * trans-expr.c (gfc_conv_structure): Handle initialization
+       of scalar pointer components.
+
+       * parse.c (decode_statement): Fix matching of BLOCK DATA.
+
+       * trans-decl.c (generate_local_decl): Remove workaround obsoleted
+       by fix for PR 15481.
+       
+2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-common.c: Fix whitespace issues, make variable names
+       more readable.
+       (create_common): Additionally, make loop logic more obvious.
+
+2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/13415
+       * trans-common.c (calculate_length): Remove ...
+       (get_segment_info): Merge into here.  Save field type.
+       (build_field): Use saved type.
+       (create_common, new_condition, new_segment, finish_equivalences):
+       Use new get_segment_info.
+       * trans-types.c: Update comment.
+
+2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       
+       PR fortran/14077
+       * moduele.c (mio_symbol): Don't I/O initial values unless
+       symbol is a parameter.
+
+2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       
+       PR fortran/13201
+       * resolve.c (resolve_symbol): Verify that the shape of a
+       parameter array is not only explicit, but also constant.
+       * array.c (gfc_is_compile_time_shape): New function.
+       * gfortran.h (gfc_is_compile_time_shape): Add prototype.
+
+2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/15481
+       PR fortran/13372
+       PR fortran/13575
+       PR fortran/15978
+       * module.c (write_symbol, write_symtree): Remove workaround.
+       * primary.c (match_actual_arglist): Enhance comment.
+       (gfc_match_rvalue): Handle function call with first argument
+       a keyword argument correctly.
+       * resolve.c (resolve_symbol): Change call to
+       gfc_set_default_type to issue error if no implicit type
+       can be found.
+       * trans-decl.c (gfc_create_module_variable): Remove workaround.
+       
+2004-07-08  Paul Brook  <paul@codesourcery.com>
+
+       * intrinsic.c (add_sym_4s): New function.
+       (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.
+
+2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
+       Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/15280
+       PR fortran/15665
+       * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
+       GFC_ISYM_COMMAND_ARGUMENT_COUNT.
+       * intrinsic.c (add_functions):  Identify iargc.  Add
+       command_argument_count.
+       (add_subroutines): Resolve getarg.  Add get_command and
+       get_command_argument.
+       * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
+       gfc_resolve_get_command_argument): Add prototypes.
+       * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
+       gfc_resolve_get_command_argument): New functions.
+       * trans-decl.c (gfor_fndecl_iargc): New variable.
+       (gfc_build_intrinsic_function_decls): Set it.
+       * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
+       (gfc_conv_intrinsic_function): Use it.
+       * trans.h (gfor_fndecl_iargc): Declare.
+
+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
-       * declc (gfc_match_save): Adapt to new common structures,
+       * 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.
        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): Also output
-       symbols from commons.
+       * trans-decl.c (gfc_create_module_variables): Remove test for 
+       removed attribute.
 
 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * symbol.c (gfc_add_common): Disable checks to work around other more
        fundamental inadequacies.
 
-2004-05-22  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-22  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE
        only for functions.
 
        * decl.c (variable_decl): Always apply default initializer.
 
-2004-05-08  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-08  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/15206
        * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to
        Remove "set DEVELOPMENT".
        (Compiling GFORTRAN): Remove.
 
-2004-05-09  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-09  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * array.c (match_subscript, match_array_ref): Add comments
        explaining argument 'init'.
        * primary.c (match_digits, match_integer_constant): Add comment
        explaining signflag.
 
-2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/13940
        * primary.c: Include system.h and flags.h, needed for pedantic.
        (match_boz_constant): Allow "x" for hexadecimal constants, warn if
        pedantic is set.
 
-2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/13940
        * match.c (match_data_constant): Handle case where
        gfc_find_symbol sets sym to NULL
 
-2004-04-28  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-04-28  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        * Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missing
        dependency on mathbuiltins.def
 
        * gfortranspec.c: Do not include multilib.h.
 
-2004-04-24  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-04-24  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * trans-intrinsic.c: Fix comment, this is not trans-expr.c. Add
        2004 to copyright years.