OSDN Git Service

2004-07-04 Matthias Klose <doko@debian.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 9193234..922f5ee 100644 (file)
@@ -1,4 +1,199 @@
-2004-06-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+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.