OSDN Git Service

2007-03-08 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 1ff3a60..3580963 100644 (file)
@@ -1,3 +1,453 @@
+2007-07-08  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30973
+       * module.c (read_module): Always import module name as symbol.
+       (gfc_match_use): Disallow module name in the only clause of
+       a use statement.
+
+2007-03-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31011
+       * expr.c (find_array_section): Correct arithmetic for section
+       size.
+
+2007-03-07  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
+
+2007-03-06  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR documentation/30950
+       * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
+       (FREE): Fix call syntax.
+
+2007-03-06  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * intrinsic.texi: Limit column widths to a total of .85.
+
+2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.texi (GFortran and G77): Rewrite completely.
+
+2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * match.c (gfc_match_name): Expanded comment.
+
+2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.texi (Old-style kind specifications): Document
+       special handling of old-style kind specifiers for COMPLEX.
+       * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
+       assumptions for COMPLEX in comment.
+
+2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR 31050
+       * gfortranspec.c (lang_specific_driver): Update program
+       name and copyright date.
+
+2007-03-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30882
+       * check.c (dim_rank_check): The shape of subsections of
+       assumed-size arrays is known.
+
+2007-03-02  Paul Thomas  <pault@gcc.gnu.org>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30873
+       * decl.c (gfc_match_entry): Remove erroneous entry result check.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Make-lang.in: Add install-pdf target as copied from
+       automake v1.10 rules.
+
+2007-03-01  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30865
+       * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
+
+2007-02-28  Tobias Burnus  <burnus@net-b.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30888
+       PR fortran/30887
+       * resolve.c (resolve_actual_arglist): Allow by-value
+       arguments and non-default-kind for %VAL().
+       * trans-expr.c (conv_arglist_function): Allow
+       non-default-kind for %VAL().
+
+2007-02-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30968
+       * primary.c (next_string_char): Correct reading a character
+       after the delimiter.
+       (match_string_constant): Print warning message only once.
+
+2007-02-27  Richard Guenther  <rguenther@suse.de>
+
+       * trans-array.c (structure_alloc_comps): Use correct type
+       for null pointer constant.
+
+2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.texi: Standardize title page, remove version number
+       from copyright page.
+
+2007-02-26  Thomas Koenig  <Thomas.Koenig@online.de>
+           Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30865
+       * trans-intrinsic.c (gfc_conv_intrinsic_size):
+       If dim is an optional argument, check for its
+       presence and call size0 or size1, respectively.
+
+2007-02-23  Paul Thomas <pault@gcc.gnu.org>
+
+       PR fortran/30660
+       * resolve.c (has_default_initializer): New function.
+       (resolve_fl_variable): Call has_default_initializer to determine if
+       the derived type has a default initializer to its ultimate
+       components.
+
+
+2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * options.c (set_default_std_flags): New function to consolidate
+       setting the flags.
+       (gfc_init_options): Use new function.
+       (gfc_handle_option): Use new function.
+
+2007-02-22  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.texi (Old-style kind specifications): Document
+       special handling of old-style kind specifiers for COMPLEX.
+       * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
+       assumptions in comment.
+
+2007-02-21  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * parse.c (next_free): Gooble spaces after OpenMP sentinel.
+
+2007-02-20  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       PR fortran/30869
+       * match.c (gfc_match_iterator): Remove conflict between
+       loop variable and pointer.
+
+2007-02-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30522
+       * symbol.c (gfc_add_volatile): Allow to set VOLATILE
+         attribute for host-associated variables.
+       * gfortran.h (symbol_attribute): Save namespace
+         where VOLATILE has been set.
+       * trans-decl.c (gfc_finish_var_decl): Move variable
+         declaration to the top.
+
+2007-02-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30783
+       * resolve.c (resolve_symbol): Add character dummy VALUE check.
+
+2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       PR libfortran/30533
+       * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
+       argument to default integer.
+       (gfc_resolve_minloc): Likewise.
+
+2007-02-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/30681
+       * options.c (gfc_init_options): Relax warning level for obsolescent.
+       * match.c (match_arithmetic_if): Change to obsolescent from deleted.
+       (gfc_match_if): Same.
+
+2007-02-18  Roger Sayle  <roger@eyesopen.com>
+
+       * trans-array.c (gfc_build_constant_array_constructor): When the
+       shape of the constructor is known, use that to construct the
+       gfc_array_spec.
+       (gfc_trans_constant_array_constructor): Initialize the "info"
+       information for all of the dimensions of the array constructor.
+       (constant_array_constructor_loop_size): New function.
+       (gfc_trans_array_constructor): Use it to determine whether a
+       loop is suitable for "constant array constructor" optimization.
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
+       instead of build2, to avoid conditions like "(a != b) != 0".
+
+2007-02-18  Roger Sayle  <roger@eyesopen.com>
+           Paul Thomas <pault@gcc.gnu.org>
+
+       PR fortran/30400
+       * match.c (match_forall_iterator): Use gfc_match_expr instead
+       of gfc_match_variable to match the iterator variable.  Return
+       MATCH_NO if not a variable.  Remove the reset of the symbol's
+       flavor in cleanup.
+
+2007-02-16  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30793
+       * trans-decl.c (gfc_generate_function_code): Do not initialize
+       pointers to derived components.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+           Brooks Moses  <brooks.moses@codesourcery.com>
+           Lee Millward  <lee.millward@codesourcery.com>
+
+       * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
+       (gfc_conv_string_tmp): Likewise.
+       (gfc_conv_concat_op): Likewise.
+       (gfc_build_compare_string): Likewise.
+       (gfc_conv_function_call): Use build_call_list instead of build3.
+
+       * trans-array.c (gfc_trans_allocate_array_storage): Use
+       build_call_expr.
+       (gfc_grow_array): Likewise.
+       (gfc_trans_array_ctor_element): Likewise.
+       (gfc_trans_array_constructor_value): Likewise.
+       (gfc_array_allocate): Likewise.
+       (gfc_array_deallocate): Likewise.
+       (gfc_trans_auto_array_allocation): Likewise.
+       (gfc_trans_dummy_array_bias): Likewise.
+       (gfc_conv_array_parameter): Likewise.
+       (gfc_trans_dealloc_allocated): Likewise.
+       (gfc_duplicate_allocatable): Likewise.
+
+       * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
+       (gfc_trans_omp_flush): Likewise.
+
+       * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
+       (gfc_trans_pause): Likewise.
+       (gfc_trans_stop): Likewise.
+       (gfc_trans_character_select): Likewise.
+       (gfc_do_allocate): Likewise.
+       (gfc_trans_assign_need_temp): Likewise.
+       (gfc_trans_pointer_assign_need_temp): Likewise.
+       (gfc_trans_forall_1): Likewise.
+       (gfc_trans_where_2): Likewise.
+       (gfc_trans_allocate): Likewise.
+       (gfc_trans_deallocate): Likewise.
+
+       * trans.c (gfc_trans_runtime_check): Use build_call_expr.
+
+       * trans-io.c (gfc_trans_open): Use build_call_expr.
+       (gfc_trans_close): Likewise.
+       (build_filepos): Likewise.
+       (gfc_trans_inquire): Likewise.
+       (NML_FIRST_ARG): Delete.
+       (NML_ADD_ARG): Delete.
+       (transfer_namelist_element): Use build_call_expr.
+       (build_dt): Likewise.
+       (gfc_trans_dt_end): Likewise.
+       (transfer_expr): Likewise.
+       (transfer_array-desc): Likewise.
+
+       * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
+       (gfc_generate_constructors): Likewise.
+
+       * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
+       (gfc_conv_intrinsic_fdate): Likewise.
+       (gfc_conv_intrinsic_ttynam): Likewise.
+       (gfc_conv_intrinsic_array_transfer): Likewise.
+       (gfc_conv_associated): Likewise.
+       (gfc_conv_intrinsic_si_kind): Likewise.
+       (gfc_conv_intrinsic_trim): Likewise.
+       (gfc_conv_intrinsic_repeat: Likewise.
+       (gfc_conv_intrinsic_iargc): Likewise.
+
+2007-02-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/30779
+       * scanner.c (gfc_next_char_literal): Add check for end of file after
+       call to advance_line.
+
+2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/30799
+       * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
+       kind.
+
+2007-02-14  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       * misc.c (gfc_typename): Fix potential buffer overflow.
+
+2007-02-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30554
+       * module.c (read_module): Set pointer_info to referenced if the
+       symbol has no namespace.
+
+2007-02-12  Nick Clifton  <nickc@redhat.com>
+
+       * lang.opt: Add Warning attribute to warning options.
+
+2007-02-11  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
+       (SLEEP): Added section and documentation.
+
+2007-02-11  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/30478
+       * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
+       (variable_decl): Likewise.  Rewrap comment.
+       (match_attr_spec): Remove ENUM specific code.
+       (gfc_match_enum): Fix typo in error message.
+       (enumerator_decl): New function.
+       (gfc_match_enumerator_def): Use enumerator_decl instead of
+       variable_decl.  Adapt code accordingly.
+
+2007-02-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30554
+       * module.c (find_symtree_for_symbol): New function to return
+       a symtree that is not a "unique symtree" given a symbol.
+       (read_module): Do not automatically set pointer_info to
+       referenced because this inhibits the generation of a unique
+       symtree.  Recycle the existing symtree if possible by calling
+       find_symtree_for_symbol.
+
+       PR fortran/30319
+       * decl.c (add_init_expr_to_sym): Make new charlen for an array
+       constructor initializer.
+
+2007-02-10  Richard Henderson  <rth@redhat.com>, Jakub Jelinek  <jakub@redhat.com>
+
+       * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
+       and __emutls_register_common.
+       * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
+       * trans-common.c (build_common_decl): Don't check have_tls.
+       * trans-decl.c (gfc_finish_var_decl): Likewise.
+       * types.def (BT_WORD, BT_FN_PTR_PTR): New.
+       (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
+
+2007-02-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30512
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
+         gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
+
+2007-02-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/30720
+       * trans-array.c (gfc_trans_create_temp_array): Remove use of the
+       function argument. Always generate code for negative extent.
+       Simplify said code.
+       * trans-array.h (gfc_trans_create_temp_array): Change prototype.
+       * trans-expr.c (gfc_conv_function_call): Remove use of last argument
+       of gfc_trans_create_temp_array.
+       * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
+       * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
+
+2007-02-08  Roger Sayle  <roger@eyesopen.com>
+
+       * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
+       mask expression is a compile-time constant (".true." or ".false.").
+
+2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/30611
+       * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
+       arguments only once. Generate check that NCOPIES argument is not
+       negative.
+
+2007-02-04  Steven G. Kargl <kargl@gcc.gnu.org>
+
+       PR fortran/30605
+       * fortran/invoke.texi: Update documentation.
+       * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
+       and -pedantic.
+
+2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * trans-array.c: Fix a comment typo.
+
+2007-02-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30514
+       * array.c (match_array_element_spec): If the length of an array is
+       negative, adjust the upper limit to make it zero length.
+
+       PR fortran/30660
+       * resolve.c (pure_function, resolve_function): Initialize name to
+       null to clear up build warnings.
+       (resolve_fl_variable): Look at components explicitly to check for
+       default initializer, rather than using gfc_default_initializer.
+
+2007-02-02  Steven G. Kargl <kargl@gcc.gnu.org>
+
+       PR fortran/30683
+       * resolve.c (resolve_generic_f): Check for non-NULL sym.
+
+2007-02-02  Roger Sayle  <roger@eyesopen.com>
+
+       * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
+       NON_LVALUE_EXPR nodes and useless type conversions.
+
+2007-02-02  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30284
+       PR fortran/30626
+       * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
+       from function and make sure that substring lengths are
+       translated.
+       (is_aliased_array): Remove static attribute.
+       * trans.c : Add prototypes for gfc_conv_aliased_arg and
+       is_aliased_array.
+       * trans-io.c (set_internal_unit): Add the post block to the
+       arguments of the function.  Use is_aliased_array to check if
+       temporary is needed; if so call gfc_conv_aliased_arg.
+       (build_dt): Pass the post block to set_internal_unit and
+       add to the block after all io activiy is done.
+
+2007-02-01  Roger Sayle  <roger@eyesopen.com>
+
+       * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
+       a temporary array to pass a constant non-character array constructor.
+       Generalize the descriptor generation code to handle scalarizer
+       "info" without an array reference.
+
+2007-02-01  Roger Sayle  <roger@eyesopen.com>
+
+       * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
+       dependency checking for array constructors.
+
+2007-02-01  Roger Sayle  <roger@eyesopen.com>
+
+       * trans-stmt.c (compute_overall_iter_number): Document function
+       arguments.  Generalize "unconditional forall nest with constant
+       bounds" optimization to eliminate unconditional inner loops with
+       constant bounds.
+
+2007-01-31  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/30520
+       * interface.c (compare_actual_formal): Check conformance between
+         actual and VOLATILE dummy arguments.
+       * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
+         multiple times in different scopes.
+       * decl.c (gfc_match_volatile): Search symbol in host association.
+
+2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
+
+       * simplify.c, trans-array.c: Fix comment typos.
+
+2007-01-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * invoke.texi (Code Gen Options): Fix abbreviation typo.
+       * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
+
+2007-01-30  Steve Ellcey  <sje@cup.hp.com>
+
+       PR fortran/30432
+       * trans-types.c (gfc_get_function_type): Do not add void_type_node
+       to empty arg list.
+       * trans-decl.c (create_function_arglist): Change assert.
+
 2007-01-29  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/30554
 2007-01-28  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/30389
-       * gfortran.h:  Remove gfc_simplify_init_1.
-       * arith.h:  Remove third argument from gfc_compare_string.
-       * arith.c(gfc_compare_expression):  Remove third argument
+       * gfortran.h: Remove gfc_simplify_init_1.
+       * arith.h: Remove third argument from gfc_compare_string.
+       * arith.c (gfc_compare_expression): Remove third argument
        from call to gfc_compare_string.
-       (gfc_compare_string):  Remove third argument xcoll_table.
+       (gfc_compare_string): Remove third argument xcoll_table.
        Remove use of xcoll_table.
-       * misc.c(gfc_init_1):  Remove call to gfc_simplify_init_1.
-       * simplify.c(ascii_table):  Remove.
+       * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
+       * simplify.c (ascii_table): Remove.
        (xascii_table): Likewise.
-       (gfc_simplify_achar):  ICE if extract_int fails.  Remove use of
+       (gfc_simplify_achar): ICE if extract_int fails.  Remove use of
        ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
-       (gfc_simplify_char):  ICE if extract_int fails. Error if
+       (gfc_simplify_char): ICE if extract_int fails. Error if
        value < 0 or value > 255.
-       (gfc_simplify_iachar):  Remove use of xascii_table.
+       (gfc_simplify_iachar): Remove use of xascii_table.
        Char values outside of 0..255 are an ICE.
-       (gfc_simplify_lge):  Remove use of xascii_table.
-       (gfc_simplify_lgt):  Likewise.
-       (gfc_simplify_lle):  Likewise.
-       (gfc_simplify_llt):  Likewise.
-       (invert_table):  Remove.
-       (gfc_simplify_init_1):  Remove.
+       (gfc_simplify_lge): Remove use of xascii_table.
+       (gfc_simplify_lgt): Likewise.
+       (gfc_simplify_lle): Likewise.
+       (gfc_simplify_llt): Likewise.
+       (invert_table): Remove.
+       (gfc_simplify_init_1): Remove.
 
 2007-01-27  Roger Sayle  <roger@eyesopen.com>
 
 2007-01-20  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
-       parse.c, primary.c, options.c, misc.c, simplify.c:  Next installment
+       parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
        in the massive whitespace patch.
 
 2007-01-20  Roger Sayle  <roger@eyesopen.com>
 2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
 
        PR libfortran/30415
-       * iresolve.c (gfc_resolve_maxloc):  If the rank
+       * iresolve.c (gfc_resolve_maxloc): If the rank
        of the return array is nonzero and we process an
        integer array smaller than default kind, coerce
        the array to default integer.
-       * iresolve.c (gfc_resolve_minloc):  Likewise.
+       * iresolve.c (gfc_resolve_minloc): Likewise.
 
 2007-01-11  Brooks Moses  <brooks.moses@codesourcery.com>
 
 2007-01-08  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
-       iresolve.c, match.c:  Update Copyright years.  Whitespace.
+       iresolve.c, match.c: Update Copyright years.  Whitespace.
 
 2007-01-08  Richard Guenther  <rguenther@suse.de>
 
        initialized gfortran array for a given EXPR_ARRAY.
        (gfc_trans_constant_array_constructor): Efficiently scalarize
        a constant array constructor.
-       (gfc_trans_array_constructor):  Tidy up use of CONST_STRING.
+       (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
        Special case scalarization of constant array constructors, all of
        whose elements are specified, using constant_array_constructor_p 
        and gfc_trans_constant_array_constructor.
 2007-01-07  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
-       convert.c:  Update Copyright dates.  Fix whitespace.
+       convert.c: Update Copyright dates.  Fix whitespace.
 
 2007-01-07  Bernhard Fischer  <aldot@gcc.gnu.org>
 
 
 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
 
-       * array.c, bbt.c, check.c:  Update copyright years.  Whitespace.
+       * array.c, bbt.c, check.c: Update copyright years.  Whitespace.
 
 2007-01-06  Steven G. Kargl  <kargl@gcc.gnu.org>
 
 
 2007-01-05  Roger Sayle  <roger@eyesopen.com>
 
-       * trans-array.c (gfc_conv_loop_setup):  Test whether the loop
+       * trans-array.c (gfc_conv_loop_setup): Test whether the loop
        stride is one, to avoid fold_build2 introducing a useless
        NON_LVALUE_EXPR node.