OSDN Git Service

2006-12-03 Paul Thomas <pault@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index e3e1351..d17b047 100644 (file)
@@ -1,3 +1,315 @@
+2006-12-03  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29642
+       * trans-expr.c (gfc_conv_variable): A character expression with
+       the VALUE attribute needs an address expression; otherwise all
+       other expressions with this attribute must not be dereferenced.
+       (gfc_conv_function_call): Pass expressions with the VALUE
+       attribute by value, using gfc_conv_expr.
+       * symbol.c (check_conflict): Add strings for INTENT OUT, INOUT
+       and VALUE.  Apply all the constraints associated with the VALUE
+       attribute.
+       (gfc_add_value): New function.
+       (gfc_copy_attr): Call it for VALUE attribute.
+       * decl.c (match_attr_spec): Include the VALUE attribute.
+       (gfc_match_value): New function.
+       * dump-parse-tree.c (gfc_show_attr): Include VALUE.
+       * gfortran.h : Add value to the symbol_attribute structure and
+       add a prototype for gfc_add_value
+       * module.c (mio_internal_string): Include AB_VALUE in enum.
+       (attr_bits): Provide the VALUE string for it.
+       (mio_symbol_attribute): Read or apply the VLUE attribute.
+       * trans-types.c (gfc_sym_type): Variables with the VLAUE
+       attribute are not passed by reference!
+       * resolve.c (was_declared): Add value to those that return 1.
+       (resolve_symbol): Value attribute requires dummy attribute.
+       * match.h : Add prototype for gfc_match_public.
+       * parse.c (decode_statement): Try to match a VALUE statement.
+
+2006-12-01  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       PR libfortran/29568
+       * gfortran.h (gfc_option_t):  Add max_subrecord_length.
+       (top level): Define MAX_SUBRECORD_LENGTH.
+       * lang.opt:  Add option -fmax-subrecord-length=.
+       * trans-decl.c:  Add new function set_max_subrecord_length.
+       (gfc_generate_function_code): If we are within the main
+       program and max_subrecord_length has been set, call
+       set_max_subrecord_length.
+       * options.c (gfc_init_options):  Add defaults for
+       max_subrecord_lenght, convert and record_marker.
+       (gfc_handle_option):  Add handling for
+       -fmax_subrecord_length.
+       * invoke.texi:  Document the new default for
+       -frecord-marker=<n>.
+
+2006-11-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29976
+       * trans-expr.c (gfc_conv_missing_dummy): Remove build_int_const
+       and replace with cast to type of se->expr of integer_zero_node.
+
+2006-11-28  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/20880
+       * resolve.c (resolve_fl_procedure): Error if procedure is
+       ambiguous modified to require attr.referenced.
+
+2006-11-26  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/29892
+       * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use a locus in
+       the call to gfc_trans_runtime_check.
+       * trans-array.c (gfc_trans_array_bound_check): Try harder to find
+       the variable or function name for the runtime error message.
+       (gfc_trans_dummy_array_bias): Use a locus in the call to
+       gfc_trans_runtime_check
+
+2006-11-26  Andrew Pinski  <pinskia@gmail.com>
+
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Mark the
+       pow functions as constant functions.
+
+2006-11-25  Andrew Pinski  <pinskia@gmail.com>
+
+       PR fortran/29982
+       * trans-expr.c (gfc_conv_expr_reference): Strip off NOP_EXPRs.
+
+2006-11-25  Andrew Pinski  <pinskia@gmail.com>
+
+       PR fortran/29951
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Change to
+       call memcpy instead of creating a VIEW_CONVERT_EXRP.
+
+2006-11-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/29711
+       * error.c (error_print): Handle printf-style position specifiers,
+       of the form "%3$d".
+
+2006-11-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/20880
+       * parse.c (parse_interface): Error if procedure name is that of
+       encompassing scope.
+       * resolve.c (resolve_fl_procedure): Error if procedure is
+       ambiguous.
+
+       PR fortran/29387
+       * interface.c (compare_actual_formal): Add missing condition
+       that 'where' be present for error that asserts that actual
+       arguments be definable.
+
+2006-11-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * resolve.c (resolve_actual_arglist): Remove the special case for
+       CHAR.
+       * intrinsic.c (add_functions): Remove the special case for CHAR.
+
+2006-11-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/29441
+       * intrinsic.c (gfc_intrinsic_func_interface): Always check if
+       intrinsic is allowed in initialization expression.
+
+2006-11-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/25087
+       * resolve.c (resolve_fl_procedure): Add an error if an external
+       automatic character length function does not have an explicit
+       interface.
+
+2006-11-22  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29652
+       * interface.c (check_interface1): Use a local value, instead of
+       the dummy, as the inner iterator over interface symbols.
+
+2006-11-21  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/29820
+       * trans-array.c (gfc_get_derived_type): Once done, spread the
+       backend_decl to all identical derived types in all sibling
+       namespaces.
+
+2006-11-20  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/27546
+       * primary.c (gfc_match_rvalue): Added IMPORT support.
+
+2006-11-20  Tobias Burnus  <burnus@net-b.de>
+
+       * symbol.c (check_conflict): Add conflict between VOLATILE
+         attribute and program name.
+
+2006-11-20  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+       PR fortran/24783
+       * resolve.c (resolve_variable): Get the implicit type from the
+       symbols namespace rather than the default namespace. Fix whitespace.
+       (resolve_formal_arglist, resolve_equivalence): Fix typo.
+
+2006-11-19  Erik Edelmann  <eedelman@gcc.gnu.org>
+
+       * resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
+         nonzero rank part references too.
+
+2006-11-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
+       Check that intrinsic and non-intrinsic modules don't conflict.
+       (use_iso_fortran_env_module): New function.
+       (create_int_parameter): New function.
+       * trans-types.c (gfc_init_kinds): Choose values for
+       gfc_numeric_storage_size and gfc_character_storage_size.
+       (gfc_numeric_storage_size, gfc_character_storage_size): New variables.
+       * resolve.c (resolve_symbol): Do no check intrinsic modules
+       against the list of intrinsic symbols.
+       * iso-fortran-env.def: New file.
+       * gfortran.h (gfc_numeric_storage_size,
+       gfc_character_storage_size): Add prototypes.
+
+2006-11-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/24285
+       * io.c (check_format): Allow dollars everywhere in format, and
+       issue a warning.
+
+2006-11-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * gfortran.h (gfc_add_intrinsic_modules_path,
+       gfc_open_intrinsic_module): New prototypes.
+       (gfc_add_include_path, gfc_open_included_file): Update prototypes.
+       * lang.opt: Add -fintrinsic-modules-path option.
+       * module.c (gfc_match_use): Match the Fortran 2003 form of
+       USE statement.
+       (gfc_use_module): Also handle intrinsic modules. 
+       * scanner.c (gfc_directorylist): Add use_for_modules for field.
+       (intrinsic_modules_dirs): New static variable.
+       (add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
+       (gfc_add_include_path): Use the new add_path_to_list helper
+       function.
+       (gfc_release_include_path): Free memory for intrinsic_modules_dirs.
+       (open_included_file, gfc_open_intrinsic_module): New functions.
+       (gfc_open_included_file): Use the new open_included_file
+       helper function.
+       * lang-specs.h: Use the new -fintrinsic-modules-path option.
+       * parse.c (decode_statement): Do not match the required space
+       after USE here.
+       * options.c (gfc_handle_option): Handle the new option. Use new
+       prototype for gfc_add_include_path.
+       (gfc_post_options): Use new prototype for gfc_add_include_path.
+
+2006-11-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/29391
+       PR fortran/29489
+       * simplify.c (simplify_bound): Fix the simplification of
+       LBOUND/UBOUND intrinsics.
+       * trans-intrinsic.c (simplify_bound): Fix the logic, and
+       remove an erroneous assert.
+
+2006-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu,org>
+
+       * trans-decl.c (gfc_get_symbol_decl): Fix formatting.
+
+2006-11-15  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * data.c: Remove trailing periods from error messages.
+       * decl.c: Likewise.
+       * expr.c: Likewise.
+       * io.c: Likewise.
+       * match.c: Likewise.
+       * module.c: Likewise.
+       * options.c: Likewise.
+       * resolve.c: Likewise.
+       * symbol.c: Likewise.
+       * trans-io.c: Likewise.
+
+2006-11-15  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * lang.opt: Rearrange entries back into ASCII order.
+
+2006-11-15  Tobias Burnus  <burnus@net-b.de>
+
+       * parse.c (parse_contained): Fix indention
+         of one line.
+
+2006-11-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/27546
+       * decl.c (gfc_match_import,variable_decl):
+         Add IMPORT support.
+         (gfc_match_kind_spec): Fix typo in gfc_error.
+       * gfortran.h (gfc_namespace, gfc_statement):
+         Add IMPORT support.
+       * parse.c (decode_statement,gfc_ascii_statement,
+         verify_st_order): Add IMPORT support.
+       * match.h: Add gfc_match_import.
+       * gfortran.texi: Add IMPORT to the supported
+         Fortran 2003 features.
+
+2006-11-15  Tobias Burnus  <burnus@net-b.de>
+           Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/27588
+       * trans-expr.c (gfc_conv_substring): Add bounds checking.
+         (gfc_conv_variable, gfc_conv_substring_expr): Pass more
+         arguments to gfc_conv_substring.
+
+2006-11-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/29806
+       * parse.c (parse_contained): Check for empty contains statement.
+
+2006-11-15  Bud Davis <bdavis9659@sbcglobal.net>
+
+       PR fortran/28974
+       * gfortran.h (gfc_expr): Add element which holds a splay-tree
+       for the exclusive purpose of quick access to a constructor by
+       offset.
+       * data.c (find_con_by_offset): Use the splay tree for the search.
+       (gfc_assign_data_value): Use the splay tree.
+       (gfc_assign_data_value_range): ditto.
+       * expr.c (gfc_get_expr): Initialize new element to null.
+       (gfc_free_expr): Delete splay tree when deleting gfc_expr.
+
+2006-11-14  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       PR fortran/29702
+       * error.c (show_loci): Move column-offset calculation to
+       show_locus.
+       (show_locus): Remove blank lines before "Included in"
+       lines, clean up code, calculate column-offsets, print
+       column number is error-header lines as appropriate.
+       (error_integer): (new function) Print integer to error
+       buffer.
+       (error_print): Use error_integer, avoid possible buffer
+       overflows from buggy error formats.
+
+2006-11-14  Brooks Moses  <brooks.moses@codesourcery.com>
+       * gfortran.h (GFC_MAX_LINE): Remove constant definition.
+       (gfc_option_t): Clarify comments.
+       * options.c: Set default line length limits to actual default
+       values, rather than flag values.
+       * scanner.c: Eliminate checking and handling of the
+       fixed/free_line_length flag values.
+
+2006-11-14  Brooks Moses  <brooks.moses@codesourcery.com>
+       * lang.opt: Remove -fno-backend option.
+       * gfortran.h (gfc_option_t): Remove flag_no_backend.
+       * options.c (gfc_init_options): Remove flag_no_backend.
+       (gfc_handle_option): Remove -fno-backend option handler.
+       * parse.c (gfc_parse_file): Remove references to
+       gfc_option.flag_no_backend.
+
+2006-11-14  Tobias Burnus  <burnus@net-b.de>
+
+       * match.c (gfc_match_namelist): Add missing space to
+         error message.
+
 2006-11-14  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/29657