OSDN Git Service

* resolve.c (merge_argument_lists): Revert unintentionally
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index c3f7093..1c95c96 100644 (file)
-2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * resolve.c (merge_argument_lists): Revert unintentionally 
+       committed change.
        
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-decl.c (build_function_decl): Fix spelling in comment.
+       (build_entry_thunks): Remove code with no function.
+       (gfc_build_intrinsic_function_decls): Remove empty line.
+
+       * resolve.c (resolve_entries): Fix a bunch of comment typos.
+
+2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * fortran/f95-lang.c (gfc_init_decl_processing): Adjust
+       build_common_tree_nodes call.
+
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-types.c: Spelling and formatting fixes.
+
+2004-08-23  Richard Henderson  <rth@redhat.com>
+
+       * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
+       of going through an intermediate string.  Fix 32/64 int/long bug.
+
+2004-08-23  Eric Christopher  <echristo@redhat.com>
+
+       * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
+       usage. Use build_vector_type_for_mode for vector types.
+
+2004-08-22  Richard Henderson  <rth@redhat.com>
+
+       PR 13465
+        * data.c (find_con_by_offset): Search ordered list; handle
+        elements with repeat counts.
+        (gfc_assign_data_value_range): New.
+        * gfortran.h (struct gfc_data_value): Make repeat unsigned.
+        (gfc_assign_data_value_range): Declare.
+        * match.c (top_val_list): Extract repeat count into a temporary.
+        * resolve.c (values): Make left unsigned.
+        (next_data_value): Don't decrement left.
+        (check_data_variable): Use gfc_assign_data_value_range.
+
+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.
        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.
 
 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to 
+       * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
        copyright years.
 
 2004-06-29  Steven Bosscher  <stevenb@suse.de>
        (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 
+       (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
        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 
+       * trans-decl.c (gfc_create_module_variables): Remove test for
        removed attribute.
 
 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
        * scanner.c (load_line): Don't truncate preprocessor lines.
        Reformat error message.
        (preprocessor_line): Issue warning in case of malformed
-       preprocessor line. 
+       preprocessor line.
 
 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.
 
        PR fortran/15211
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
-       of strings. 
+       of strings.
 
 2004-06-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * 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. 
+       (check_specific): Catch special case MINLOC, MAXLOC.
 
 2004-06-14  Paul Brook  <paul@codesourcery.com>
 
        * 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 
+       * 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() 
+       NULL()
 
 2004-06-09  Toon Moene  <toon@moene.indiv.nluug.nl>
 
 
 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       * intrinsic.c (sort_actual): Keep track of type of missing 
+       * 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>
 2004-05-17  Steve Kargl  <kargls@comcast.net>
 
        * arith.c (gfc_real2complex): Range checking wrong part of complex
-        number. 
-       
+        number.
+
 2004-05-16  Paul Brook  <paul@codesourcery.com>
 
        * options.c (gfc_handle_module_path_options): Fix buffer overrun.
        not initialized in a disallowed fashion.
        * match.c (gfc_match_common): Likewise.
        (var_element): Verify that variable is not in the blank COMMON,
-       if it is in a common. 
+       if it is in a common.
 
 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
 
 
 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       PR fortran/13702 
+       PR fortran/13702
        (Port from g95)
        * gfortran.h (gfc_linebuf): New typedef.
        (linebuf): Remove.
        * intrinsic.h: ... declare it here.
        * intrinsic.c (add_functions): ... add it as resolving function
        for NEAREST.
-       
+
 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
         PR fortran/14066
 
        PR fortran/14568
        * trans-decl.c (generate_local_decl): Don't warn for unused
-        variables which are in common blocks. 
+        variables which are in common blocks.
 
 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
 
 
 2004-04-11  Feng Wang  <fengwang@nudt.edu.cn>
 
-       PR 14394 
+       PR 14394
        * trans-const.c (gfc_conv_mpf_to_tree): Loosen the maximum digits of
        the real value when converting mpf to string.
 
 
        * Make-lang.in (GFORTRAN_TEXI): Set it.
        (fortran/dfortran.dvi): Use it.  Add fortran to include paths.
-       (fortran/gfortran.info): Ditto. 
+       (fortran/gfortran.info): Ditto.
        * gfortran.texi: Major update.
        * invoke.texi: New file.
 
        * gfortran.texi: Fix typos.
 
 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
+
        PR gfortran/13909
        * intrinsic.c (add_conversions) Use logical conversion instead
        of real.
 2003-12-31  Huang Chun <chunhuang73@hotmail.com>
 
        PR fortran/13434
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in 
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in
        minval/maxval.
 
 2003-12-22  Toon Moene  <toon@moene.indiv.nluug.nl>
        * primary.c (match_substring): Fix substring bug for start point
        or end point is NULL.
        * trans-expr.c (gfc_conv_substring): Ditto
-       * trans-types.c (gfc_sym_type): Get correct type of scalar 
+       * trans-types.c (gfc_sym_type): Get correct type of scalar
        character variables.
-       * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in 
+       * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in
        derived type.
 
 2003-12-10  Richard Henderson  <rth@redhat.com>
        annotate_all_with_locus.
 
 2003-11-11  Canqun Yang  <canqun@nudt.edu.cn>
+
        * options.c (gfc_init_options): Set flag_max_stack_var_size as 32768.
        * trans-decl.c (gfc_finish_var_decl): Modified.
 
        * data.c: New file.
 
 2003-09-20  Kejia Zhao  <kejia_zh@yahoo.com.cn>
+
        * trans.h: Add declarations for gfor_fndecl_si_kind and
        gfor_fndecl_sr_kind.
        * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
 
 2003-08-24 XiaoQiang Zhang  (zhangapache@yahoo.com>
 
-       * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for 
+       * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for
        build_int_2 changed from (high, low) to (low, high).
        * trans-io.c (ioparm_namelist_name, ioparm_namelist_name_len,
        ioparm_namelist_read_mode, iocall_set_nml_val_int,
 
 2003-09-07  Kejia Zhao  <kejia_zh@yahoo.com.cn>
 
-       * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is 
-       about case_switch's break. The other is about building the condition 
-       statement tree, which judges the argument in the range of the 
+       * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is
+       about case_switch's break. The other is about building the condition
+       statement tree, which judges the argument in the range of the
        corresponding integer type.
        * trans-intrinsic.c (gfc_conv_intrinsic_mod): MOD and MODULO can work
        for the large values.
+
 2003-09-05  Paul Brook  <paul@nowt.org>
 
        * f95-lang.c (expand_function_body): Gimplify the function.
        type components.
 
 2003-08-10  Chun Huang  <compiler@sohu.com>
+
        * resolve.c (resolve_formal_arglist): Resolve STATEMENT function.
        (resolve_symbol): Ditto.
        * trans-expr.c (gfc_conv_statement_function): New function.
        Rename g95_* to gfc_*.
 
 2003-07-25  Paul Brook  <paul@nowt.org>
-       
+
        * gfortran.h: Rename from g95.h.
        * trans-types.c (boolean_type_node, booelan_true_node,
        boolean_false_node): Remove.
        (g95_conv_intrinsic_anyall): New function.
        * iresolve.c (g95_resolve_any, g95_resolve_all): Include rank in
        mangled name
-