OSDN Git Service

2007-04-27 Daniel Franke <franke.daniel@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index d99b31f..e005198 100644 (file)
@@ -1,3 +1,361 @@
+2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
+       XOR): Fixed examples.
+
+2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM, 
+       SYSTEM_CLOCK, TRANSFER, UNPACK): New.
+       (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
+
+2007-04-26  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE, 
+       SIZE, TRANSPOSE, TRIM, VERIFY): New.
+       (ADJUSTL, ADJUSTR, INDEX): Added cross references.
+       (INT, INT2, INT8, LONG): Enabled section header.
+
+2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * module.c (module_char): Replace fgetc() with
+       getc(). 
+       (write_char): Replace fputc() with putc().
+       * scanner.c (load_line): Replace fgetc() with getc().
+       (gfc_read_orig_filename): Likewise.
+
+2007-04-25  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/31668
+       * error.c (error_print): Fix %% support.
+       * intrinsic.c (sort_actual): Improve error message.
+       * resolve.c (resolve_actual_arglist): Allow %VAL for
+       interfaces defined in the module declaration part.
+
+2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/31299
+       * intrinsic.texi (GETLOG): Update documentation to reflect
+       library changes.
+
+2007-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31587
+       * module.c (write_char): Add character to the MD5 buffer.
+       (read_md5_from_module_file): New function.
+       (gfc_dump_module): Compute MD5 for new module file. Call
+       read_md5_from_module_file. Only overwrite old module file
+       if the new MD5 is different.
+
+2007-04-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31630
+       * resolve.c (resolve_symbol): Allow resolution of formal
+       namespaces nested within formal namespaces coming from modules.
+
+       PR fortran/31620
+       * trans-expr.c (gfc_trans_assignment): Make the call to
+       gfc_trans_zero_assign conditional on the lhs array ref being
+       the only reference.
+
+2007-04-23  Tobias Burnus  <burnus@net-b.de>
+
+       * primary.c (match_integer_constant): Mention -fno-range-check
+       in the error message.
+
+2007-04-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/31495
+       * scanner.c (load_line):  Remove check for comment after ampersand and
+       adjust tracking of ampersand.
+
+2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
+       instead of checking GIMPLE_STMT_P in chain_next.
+
+2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * trans-types.h (gfc_packed): New enum.
+       (gfc_get_nodesc_array_type): Change prototype to use new enum.
+       * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
+       argument packed.  Adapt all references to values accordingly.
+       (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
+       (gfc_get_derived_type): Likewise.
+       * trans-array.c (gfc_build_constant_array_constructor): Likewise.
+       * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
+       argument to type gfc_packed.
+       (gfc_add_interface_mapping): Use enum values in call to
+       gfc_get_interface_mapping.
+       * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
+       values when determining packing.
+
+       * trans-decl.c (gfc_finish_decl): Remove unused second argument
+       'init'.  Simplify code accordingly.  Remove calls to
+       gfc_fatal_error in favor of gcc_assert.
+       (create_function_arglist): Remove second argument from calls to
+       gfc_finish-decl.
+       (gfc_trans_dummy_character): Likewise.
+
+       * arith.h: Update copyright years.
+       * dependency.h: Likewise.
+       * gfortran.h: Likewise.
+       * lang-specs.h: Likewise.
+       * parse.h: Likewise.
+       * symbol.c: Likewise.
+       * trans.h: Likewise.
+       * trans.c: Likewise.
+       * trans-array.c: Likewise.
+       * trans-common.c: Likewise.
+       * trans-const.h: Likewise.
+       * trans-const.c: Likewise.
+       * trans-decl.c: Likewise.
+       * trans-expr.c: Likewise.
+       * trans-io.c: Likewise.
+       * trans-openmp.c: Likewise.
+       * trans-types.h: Likewise.
+       * types.def: Likewise.
+
+2007-04-17  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/31144
+       * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
+       mangling.
+       (gfc_sym_mangled_function_id): Likewise.
+
+2007-04-15  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31204
+       * primary.c (check_for_implicit_index): New function to check
+       that a host associated variable is not an undeclared implied
+       do loop index.
+       (gfc_match_rvalue, match_variable): Use it and reset the
+       implied_index attribute.
+       * gfortran.h : Add the implied_index field to symbol_attribute.
+       * match.c (gfc_match_iterator): Mark the iterator variable
+       with the new attribute.
+       * decl.c (build_sym): Reset the new attribute.
+
+2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
+
+       * gfc-internals.texi: Fix typos.
+       * simplify.c: Fix a comment typo.
+
+2007-04-14  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       * primary.c: Commentary typo fix; Add question about redundant (?)
+       set.
+
+2007-04-14  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29507
+       PR fortran/31404
+       * expr.c (scalarize_intrinsic_call): New function to
+       scalarize elemental intrinsic functions in initialization
+       expressions.
+       (check_init_expr): Detect elemental intrinsic functions
+       in initalization expressions and call previous.
+
+2007-04-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/31559
+       * primary.c (match_variable): External functions
+       are no variables.
+
+2007-04-13  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31550
+       * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
+       derived type components.
+
+2007-04-13  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/18937
+       * resolve.c: Include obstack.h and bitmap.h.  New variable
+       labels_obstack.
+       (code_stack): Add tail and reachable_labels fields.
+       (reachable_labels): New function.
+       (resolve_branch): Rework to use new fields in code_stack.
+       (resolve_code): Call reachable_labels.
+       (resolve_codes): Allocate and free labels_obstack.
+
+2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/31250
+       * decl.c (match_char_spec): Move check for negative CHARACTER
+       length ...
+       * resolve.c (resolve_charlen): ... here.
+       (resolve_types): Resolve CHARACTER lengths earlier.
+
+2007-04-12  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/31234
+       * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
+
+2007-04-12  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       PR fortran/31266
+       * primary.c (gfc_variable_attr): Don't copy string length if it
+       doesn't make sense.
+       * resolve.c (resolve_code): Clarify error message.
+
+       PR fortran/31471
+       * decl.c (gfc_match_end): Also check for construct name in END
+       FORALL and END WERE statements.
+       * match.c (match_case_eos): Use uppercase for statement name in
+       error message.
+       (match_elsewhere): Construct name may appear iff construct has a
+       name.
+
+       * trans-types.c: Update copyright years.  Reformat long comment
+       explaining array descriptor format.  Remove obsolete mention of
+       TYPE_SET.
+
+       * arith.c (gfc_arith_uplus): Rename to ...
+       (gfc_arith_identity): ... this.
+       (gfc_parentheses): New function.
+       (gfc_uplus): Adapt to renamed function.
+       * arith.h (gfc_parentheses): Add prototype.
+       * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
+       (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
+       INTRINSIC_PARENTHESES.
+
+2007-04-12  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/31472
+       * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
+       attribute in type definitions.
+       (gfc_match_private): Allow PRIVATE statement only
+       in specification part of modules.
+       (gfc_match_public): Ditto for PUBLIC.
+       (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
+       specificification part of modules.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31257
+       * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
+       * intrinsic.h : Add prototype for gfc_resolve_achar.
+       * iresolve.c (gfc_resolve_achar): New function.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30880
+       * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
+       arrays.  Make condition for automatic array error explicit.
+       If a dummy, no error on an INTENT(OUT) derived type.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30872
+       * expr.c (find_array_element): Correct arithmetic for rank > 1.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31222
+       * check.c (numeric_check): If an expresson has not got a type,
+       see if it is a symbol for which a default type applies.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31214
+       * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
+       associated symbols.
+
+2007-04-07  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31293
+       * symbol.c (gfc_check_function_type): New function.
+       * gfortran.h : Add prototype for previous.
+       * parse.c (parse_progunit): Call it after parsing specification
+       statements.
+
+2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31483
+       * trans-expr.c (gfc_conv_function_call): Give a dummy
+       procedure the correct type if it has alternate returns.
+
+2007-04-05  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31292
+       * decl.c (gfc_match_modproc): Go up to the top of the namespace
+       tree to find the module namespace for gfc_get_symbol.
+
+2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31304
+       * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
+       * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
+       (gfc_init_types): Define gfc_charlen_int_kind. 
+       * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
+       * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
+       (gfc_build_intrinsic_function_decls): Don't set
+       gfor_fndecl_string_repeat.
+       * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
+       so that we don't have to call a library function.
+       * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
+       checks on the NCOPIES argument, and work with arbitrary size
+       arguments.
+
+2007-03-31  Tobias Burnus  <burnus@net-b.de>
+
+       * intrinsic.c (add_functions): Fix name of dummy argument
+         for new_line and exit intrinsic.
+
+2007-03-31  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31160
+       * gfortran.texi: Add a section for the %VAL, %REF and %LOC
+       extensions.
+
+2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
+
+       * trans-types.c (gfc_signed_or_unsigned_type): Remove.
+       (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
+       gfc_signed_or_unsigned_type.
+       (gfc_signed_type): Ditto.
+       * trans-types.h (gfc_signed_or_unsigned_type): Remove.
+       * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+
+2007-03-30  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
+       descend into all branches.
+
+2007-03-29  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * intrinsic.c (conv_name): Let gfc_get_string handle the format.
+       (find_conv): Compare pointers instead of calling strcmp.
+       (find_sym): Likewise, but ensure that the compared pointer is in
+       the global string table.
+
+2007-03-28  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * gfc-internals.texi: Fix output filename.  Merge type index into
+       concept index.  Start documentation of gfc_code structure.
+
+2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfc-internals.texi: New file,
+       * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
+
+2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
+       * error.c (show_locus): Remove always-false test.
+
+2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * lang.opt: Minor edits to descriptions.
+
+2007-03-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30877
+       * fortran/interface.c (check_operator_interface): Implement
+       the standard checks on user operators extending intrinsic operators.
+       * fortran/resolve.c (resolve_operator): If the ranks of operators
+       don't match, don't error out but try the user-defined ones first.
+
 2007-03-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/30655