OSDN Git Service

PR fortran/30820
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 674b997..b0c8fba 100644 (file)
@@ -1,3 +1,726 @@
+2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30820
+       * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
+       simplify.o and trans-common.o.
+
+2007-05-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31974
+       * trans-array.c (gfc_trans_auto_array_allocation): Avoid
+       multiplication of mismatched types.
+
+2007-05-18  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/24633
+       * symbol.c (gfc_add_flavor): Add the NAME to error message if
+       available.
+
+2007-05-15  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/31919
+       PR fortran/31929
+       PR fortran/31930
+       * intrinsic.c (check_specific): Check elemental intrinsics for
+       rank and shape.
+       (add_functions): Fixed dummy argument names of BESJN and BESYN.
+       Fixed elemental status of MCLOCK and MCLOCK8.
+       * check.c (check_rest): Added check for array conformance.
+       (gfc_check_merge): Removed check for array conformance.
+       (gfc_check_besn): Removed check for scalarity.
+       * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
+       (BESJN, BESYN): Clarified documentation.
+
+2007-05-17  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
+
+2007-05-16  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR fortran/18769
+       PR fortran/30881
+       PR fortran/31194
+       PR fortran/31216
+       PR fortran/31427
+       * target-memory.c: New file.
+       * target-memory.h: New file.
+       * simplify.c: Add #include "target-memory.h".
+       (gfc_simplify_transfer): Implement constant-
+       folding for TRANSFER intrinsic.
+       * Make-lang.in: Add dependencies on new target-memory.* files.
+
+2007-05-15  Paul Brook  <paul@codesourcery.com>
+
+       * trans-types.c (gfc_type_for_size): Handle signed TImode.
+
+2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/30723
+       * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
+       gfor_fndecl_internal_free): Remove prototypes.
+       (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
+       * trans.c (gfc_call_malloc, gfc_call_free): New functions.
+       * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
+       and __builtin_malloc builtins.
+       * trans-decl.c (gfor_fndecl_internal_malloc,
+       gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
+       (gfor_fndecl_os_error): Add.
+       (gfc_build_builtin_function_decls): Don't create internal_malloc,
+       internal_malloc64 and internal_free library function declaration.
+       Create os_error library call function declaration.
+       * trans-array.c (gfc_trans_allocate_array_storage,
+       gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
+       gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
+       gfc_call_malloc and gfc_call_free instead of building calls to
+       internal_malloc and internal_free.
+       * trans-expr.c (gfc_conv_string_tmp): Likewise.
+       * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
+       gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
+       gfc_trans_where_2: Likewise.
+       * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
+       gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
+       gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
+
+2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31725
+       * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
+       only once.
+
+2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
+
+       * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+       * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
+       instead of gfc_unsigned_type.
+       * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
+       gfc_unsigned_type.
+       * trans-types.c (gfc_unsigned_type): Remove.
+       * trans-types.h (gfc_unsigned_type): Remove.
+
+2007-05-12  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/30746
+       * resolve.c (check_host_association): New function that detects
+       incorrect host association and corrects it.
+       (gfc_resolve_expr): Call the new function for variables and
+       functions.
+       * match.h : Remove prototype for gfc_match_rvalue.
+       * gfortran.h : Add prototype for gfc_match_rvalue.
+
+2007-05-11 Paul Thomas <pault@gcc.gnu.org>
+
+       PR fortran/30876
+       * trans-expr.c (gfc_conv_function_call): Reduce indirection for
+       direct assignments of recursive array valued functions.
+       * primary.c (gfc_match_rvalue): Correct error for recursive
+       function calls such that directly recursive calls of scalar
+       function without an explicit result are disallowed.
+
+2007-05-11 Paul Thomas <pault@gcc.gnu.org>
+
+       PR fortran/30878
+       * resolve.c (resolve_fl_namelist): It is not an error if the
+       namelist element is the result variable of the enclosing
+       function.  Search for the symbol in current and all parent
+       namespaces for a potential conflict.
+       * symbol.c (check_conflict): Remove the conflict between
+       'in_namelist' and 'FL_PROCEDURE' because the symbol info
+       is not available to exclude function result variables.
+       * trans-io.c (nml_get_addr_expr): Use the fake result decl
+       if the symbol is an implicit result variable.
+
+2007-05-11  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31474
+       * decl.c (get_proc_name): If an entry has already been declared
+       as a module procedure, pick up the symbol and the symtree and
+       use them for the entry.
+
+2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31630
+       * resolve.c (resolve_symbol): Remove the flagging mechanism from the
+       formal namespace resolution and instead check that the formal
+       namespace is not the current namespace.
+
+2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31692
+       * trans-array.c (gfc_conv_array_parameter): Convert full array
+       references to the result of the procedure enclusing the call.
+
+2007-05-08  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29397
+       PR fortran/29400
+       * decl.c (add_init_expr_to_sym): Expand a scalar initializer
+       for a parameter array into an array expression with the right
+       shape.
+       * array.c (spec_dimen_size): Remove static attribute.
+       * gfortran.h : Prototype for spec_dimen_size.
+
+2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31399
+       * trans-stmt.c (gfc_trans_do): Handle large loop counts.
+
+2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31764
+       * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
+       even for non constant arguments.
+
+2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+           Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31201
+       * gfortran.h: Add runtime error codes from libgfortran.h. Define
+       MAX_UNIT_NUMBER.
+       * trans.c (gfc_trans_runtime_check): Update the format of runtime error
+       messages to match library runtime errors.  Use call to new library
+       function runtime_error_at().
+       * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
+       Add declaration for library functions runtime_error_at and
+       generate_error.
+       * trans_io.c (gfc_trans_io_runtime_check): New function.
+       (set_parameter_value): Add error checking for UNIT numbers.
+       (set_parameter_ref): Initialize the users variable to zero. 
+       (gfc_trans_open): Move setting of unit number to after setting of common
+       flags so that runtime error trapping can be detected.
+       (gfc_trans_close): Likewise. (build_filepos): Likewise.
+       (gfc_trans_inquire): Likewise. (build_dt): Likewise.
+       * trans-decl.c: Add declarations for runtime_error_at and
+       generate_error. (gfc_build_builtin_function_decls): Build function
+       declarations for runtime_error_at and generate_error.
+
+2007-05-06  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31540
+       * resolve.c (resolve_fl_procedure): Resolve constant character
+       lengths.
+
+2007-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/31251
+       * decl.c (match_char_spec): Add check for invalid character lengths.
+
+2007-05-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * intrinsic.texi (CMPLX): Document result kind.
+       (COMPLEX): Add documentation.
+
+2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/31760
+       * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
+       by gfc_check_fn_r to avoid checks for scalarity.
+       * check.c (gfc_check_besn): Removed check for scalarity.
+       (gfc_check_g77_math1): Removed.
+       * intrinsic.h (gfc_check_g77_math1): Removed.
+
+2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
+
+       * check.c (gfc_check_fseek_sub): Fixed typo.
+
+2007-05-04  Daniel Franke  <franke.daniel@gmail.com>
+
+       PR fortran/22359
+       * intrinsic.c (add_subroutines): Added FSEEK.
+       * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
+       * iresolve.c (gfc_resolve_fseek_sub): New.
+       * check.c (gfc_check_fseek_sub): New.
+       * intrinsic.texi (FSEEK): Updated.
+
+2007-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/31803
+       * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
+
+2007-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/31251
+       * simplify.c (gfc_simplify_len): Only simplify integer lengths.
+
+2007-05-04  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31781
+       * simplify.c (gfc_simplify_repeat): Don't put function call with
+       side effect in a gcc_assert().
+
+2007-05-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/25071
+       * interface.c (compare_actual_formal): Check character length.
+
+2007-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/31732
+       * dependency.c (gfc_full_array_ref_p):  If the reference is
+       to a single element, check that the array has a single
+       element and that the correct element is referenced.
+
+2007-05-01  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
+       (add_subroutines): Replaced magic numbers in function calls by
+       ELEMENTAL and NOT_ELEMENTAL respectively.
+       * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
+       (RANDOM_NUMBER): Changed class to subroutine.
+       (HUGE, TINY): Changed class to inquiry function.
+
+2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
+       (gfc_conv_tree_to_mpz): New function.
+       (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
+       (gfc_conv_tree_to_mpfr): New function.
+       * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
+       (gfc_conv_tree_to_mpfr): New prototype.
+
+2007-04-30  Daniel Franke  <franke.daniel@gmail.com>
+
+       * intrinsic.texi (IERRNO): Changed class to non-elemental function.
+       (LOG10): Removed COMPLEX as accepted argument type.
+       (NEW_LINE): Changed class from elemental to inquiry function.
+       (SIGN): Removed requirement of scalar arguments.
+       (SNGL): Changed class to elemental function.
+
+2007-04-29  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31591
+       * simplify.c (simplify_bound_dim): New function.
+       (simplify_bound): Use the above. Perform simplification of LBOUND
+       and UBOUND when DIM argument is not present.
+
+2007-04-29  Daniel Franke  <franke.daniel@gmail.com>
+
+       * gfortran.texi: Cleaned up keyword index.
+       * invoke.texi: Likewise.
+       * intrinsic.texi: Likewise.
+                       
+2007-04-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/31645
+       * scanner.c (load_file): Discard the byte order mark if one is
+       found on the first non-preprocessor line of a file.
+
+2007-04-29  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31711
+       * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
+       whenever a dependency is found.
+
+2007-04-28  Tobias Schlüter  <tobi@gcc.gnu.org>
+
+       * options.c (gfc_handle_option): Ensure requested free form line
+       length is not too small.
+
+2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * intrinsic.texi (Transfer): Improve documentation.
+
+2007-04-27  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.texi (Option Index): Add @samp as needed.
+
+2007-04-27  Daniel Franke  <franke.daniel@gmail.com>
+
+       * gfortran.texi: Added node and menu entry for an option index.
+       * invoke.texi: Moved command line option related entries of the concept 
+       index to the option index.
+
+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
+       * expr.c (check_dimension): Fix logic of comparisons.
+
+2007-03-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/31215
+       * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
+       int result that is non-zero if the expression is the function
+       result.  Only the characteristics of the result expression
+       can be used in a procedure interface, so simplify LEN in situ
+       using its character length.
+
+       PR fortran/31209
+       PR fortran/31200
+       * trans-expr.c (gfc_conv_function_call): Do not use
+       gfc_conv_expr_reference for actual pointer function with formal
+       target because a temporary is created that does not transfer
+       the reference correctly.  Do not indirect formal pointer
+       functions since it is the function reference that is needed.
+
+2007-03-24  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.h: Edit comments on GFC_STD_*.
+
+2007-03-23  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * invoke.texi: Misc. small typo fixes.
+       (-Wcharacter-truncation): Add.
+       (-Wnonstd-intrinsics): Correct spelling.
+       (-std=): Edit.
+       (-fintrinsic-modules-path): Add.
+
 2007-03-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/30834