OSDN Git Service

PR libfortran/20006
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index ae715c8..d8b4619 100644 (file)
@@ -1,6 +1,306 @@
+2005-09-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+           Steven Bosscher  <stevenb@suse.de>
+
+       PR libfortran/20006
+       * gfortran.h: Add is_main_program member to symbol_attribute.
+       * trans-decl: Add a gfor_fndecl_set_std tree.
+       (gfc_build_builtin_function_decls): Create it.
+       (gfc_generate_function_code): Add this call at the beginning of
+       the main program.
+       * trans.c (gfc_generate_code): Move main_program and attr.
+       * trans.h: Add declaration for gfor_fndecl_set_std.
+
+2005-08-10  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       PR libfortran/22143
+       gfortran.h:  Declare new function gfc_resolve_dim_arg.
+       resolve.c:  New function gfc_resolve_dim_arg.
+       iresolve.c (gfc_resolve_all):  Use gfc_resolve_dim_arg.
+       (gfc_resolve_any):  Likewise.
+       (gfc_resolve_count):  Likewise.
+       (gfc_resolve_cshift):  Likewise.  If the kind of shift is less
+       gfc_default_integer_kind, convert it to default integer type.
+       (gfc_resolve_eoshift):  Likewise.
+       (gfc_resolve_maxloc):  Use gfc_resolve_dim_arg.
+       (gfc_resolve_maxval):  Likewise.
+       (gfc_resolve_minloc):  Likewise.
+       (gfc_resolve_minval):  Likewise.
+       (gfc_resolve_product):  Likewise.
+       (gfc_resolve_spread):  Likewise.
+       (gfc_resolve_sum):  Likewise.
+
+2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check
+       functions for new intrinsics TTYNAM and ISATTY.
+       * intrinsic.c (add_functions, add_subroutines): Add new
+       intrinsics.
+       * intrinsic.h: Add prototypes for new check and resolve
+       functions.
+       * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New
+       resolve functions for intrinsics TTYNAM and ISATTY.
+       * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY.
+       * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY.
+
+2005-08-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * scanner.c (preprocessor_line): Don't write beyond the end of flag
+       buffer.
+
+2005-08-07   Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+       PR fortran/22390 
+       * dump-parse-tree.c (gfc_show_code_node): Add case for FLUSH.
+       * gfortran.h: Add enums for FLUSH.
+       * io.c (gfc_free_filepos,match_file_element,match_filepos): Modify
+       comment appropriately.  (gfc_match_flush): New function.
+       * match.c (gfc_match_if): Add match for flush.
+       * match.h: Add prototype.
+       * parse.c (decode_statement): Add flush to 'f' case.
+       (next_statement): Add case for flush. (gfc_ascii_statement): Likewise.
+       * resolve.c (resolve_code): Add flush case.
+       * st.c (gfc_free_statement): Add flush case.
+       * trans-io.c: Add prototype for flush.
+       (gfc_build_io_library_fndecls): Build fndecl for flush.
+       (gfc_trans_flush): New function.
+       * trans-stmt.h: Add prototype.
+       * trans.c (gfc_trans_code): Add case for flush.
+
+2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * primary.c (match_hollerith_constant): Fix typo.
+
+2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
+
+       * decl.c, dump-parse-tree.c, gfortran.texi, intrinsic.texi,
+       invoke.texi, resolve.c, trans-array.c, trans-array.h,
+       trans-common.c, trans-expr.c, trans-io.c, trans.h: Fix
+       comment/doc typos.  Follow spelling conventions.
+
+2005-08-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/18833
+       PR fortran/20850
+       * primary.c (match_varspec): If equiv_flag, don't look at sym's
+       attributes, call gfc_match_array_ref up to twice and don't do any
+       substring or component processing.
+       * resolve.c (resolve_equivalence): Transform REF_ARRAY into
+       REF_SUBSTRING or nothing if needed.  Check that substrings
+       don't have zero length.
+
+2005-08-05  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       * trans-expr.c  (gfc_build_builtin_function_decls):  Mark
+       stop_numeric and stop_string as non-returning.
+
+2005-08-04  Paul Brook  <paul@codesourcery.com>
+
+       * trans-expr.c (gfc_conv_expr, gfc_conv_expr_type): Update comments.
+       (gfc_conv_expr_lhs): Fix assertion.
+       (gfc_conv_expr_val): Merge post block.  Set se.expr to new value.
+
+2005-08-02  David Edelsohn  <edelsohn@gnu.org>
+
+       PR fortran/22491
+       * expr.c (simplify_parameter_variable): Do not copy the subobject
+       references if the expression value is a constant.
+
+       * expr.c (gfc_simplify_expr): Evaluate constant substrings.
+
+2005-07-31  Jerry DeLisle  <jvdelisle@verizon.net>
+
+       * intrinsic.texi: Add documentation for exponent, floor, and fnum and
+       fix description of ceiling in index.
+
+2005-07-31  Steven Bosscher  <stevenb@suse.de>
+
+       * trans-decl.c (gfc_build_builtin_function_decls): Give the internal
+       malloc functions the 'malloc' attribute.  Give runtime_error the
+       'noreturn' attribute.
+
+2005-07-31  Steven Bosscher  <stevenb@suse.de>
+
+       * trans-stmt.c (gfc_trans_goto): Jump to the known label instead
+       of the assigned goto variable.
+
+2005-07-29  Steven Bosscher  <stevenb@suse.de>
+
+       * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
+
+2005-07-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fortran/f95-lang.c (language_function): Remove
+       named_labels, shadowed_labels, returns_value, returns_abnormally,
+       warn_about_return_type, and extern_inline fields.
+       (named_labels): Remove variable.
+       (gfc_init_decl_processing): Remove setting of named_labels.
+
+2005-07-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR fortran/22503
+       * resolve.c (resolve_operator): Improve diagnostic for comparison
+       of logicals with invalid operator.
+
+2005-07-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/20063
+       * data.c (gfc_assign_data_value_range): Call
+       create_character_initializer if last_ts is a character type.
+
+2005-07-22  Manfred Hollstein  <mh@suse.com>
+
+       * match.c (gfc_match_symbol): Fix uninitialised warnings.
+       * matchexp.c (gfc_match_expr): Likewise.
+
+2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
+
+       Make CONSTRUCTOR use VEC to store initializers.
+       * trans-array.c (gfc_build_null_descriptor,
+       gfc_trans_array_constructor_value, gfc_conv_array_initializer):
+       Update to cope with VEC in CONSTRUCTOR_ELTS.
+       * trans-common.c (create_common): Likewise.
+       * trans-expr.c (gfc_conv_structure): Likewise.
+       * trans-stmt.c (gfc_trans_character_select): Use
+       build_constructor_from_list instead of build_constructor.
+
+2005-07-19 Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/16940
+       * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
+       is matched against interfaces in parent namespaces. If there
+       the symtree is set to point to the interface.
+
+2005-07-16  David Edelsohn  <edelsohn@gnu.org>
+
+       PR fortran/21730
+       * decl.c (do_parm): Adjust character initializer to character length
+       of symbol before assigning.
+
+2005-07-14  Steve Ellcey  <sje@cup.hp.com>
+
+       * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
+
+2005-07-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gfortran.h (MAX_ERROR_MESSAGE): Remove.
+       (gfc_error_buf): Add allocated and index fields.  Change message
+       field from array to a pointer.
+       * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
+       (cur_error_buffer): New variable.
+       (error_char): Use cur_error_buffer->{message,index} instead of
+       {warning,error}_{buffer.message,ptr}.  Reallocate message buffer
+       if too small.
+       (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
+       cur_error_buffer and its index rather than {warning,error}_ptr
+       and use_warning_buffer.
+       (gfc_warning_check, gfc_error_check): Don't print anything if
+       message is NULL.
+       (gfc_push_error): Allocate saved message with xstrdup.
+       (gfc_pop_error): Free saved message with gfc_free.
+       (gfc_free_error): New function.
+       * primary.c (match_complex_constant): Call gfc_free_error if
+       gfc_pop_error will not be called.
+       * match.c (gfc_match_st_function): Likewise.
+
+       PR fortran/22417
+       * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
+       file.  Fix file left but not entered warning.
+
+2005-07-14  Feng Wang  <fengwang@nudt.edu.cn>
+       Steven G. Kargl  <kargls@comcast.net>
+
+       * array.c (resolve_character_array_constructor): Allocate gfc_charlen
+       for the array and attach to namespace list for automatic deallocation.
+
+2005-07-13  Andreas Schwab  <schwab@suse.de>
+
+       * Make-lang.in (fortran/dependency.o): Depend on
+       $(GFORTRAN_TRANS_DEPS).
+
+2005-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before
+       the outermost loop.
+       (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp,
+       gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2):
+       Don't clear maskindexes here.
+
+2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
+       
+       * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
+       is removed.
+
+2005-07-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * primary.c (gfc_match_rvalue): Handle ENTRY the same way
+       as FUNCTION.
+
+2005-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * scanner.c (load_line): Add pbuflen argument, don't make
+       buflen static.  If maxlen == 0 or preprocessor_flag,
+       don't truncate at buflen, but at maxlen.  In xrealloc add
+       1 byte at the end for the terminating '\0'.  Don't fill
+       with spaces up to buflen, but gfc_option.fixed_line_length.
+       (load_file): Adjust load_line caller.  Add line_len variable.
+
+       * scanner.c (preprocessor_line): Only set current_file->line when errors
+       have not been encountered.  Warn and don't crash if a file leave
+       preprocessor line has no corresponding entering line.  Formatting.
+
+2005-07-07  Steven Bosscher  <stevenb@suse.de>
+
+       * primary.c (match_hollerith_constant): Use int, not unsigned int,
+       for the hollerith length.  Fix indentation.
+
+2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
+
+       PR fortran/16531
+       PR fortran/15966
+       PR fortran/18781
+       * arith.c (gfc_hollerith2int, gfc_hollerith2real,
+       gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
+       New functions.
+       (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
+       * arith.h (gfc_hollerith2int, gfc_hollerith2real,
+       gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
+       Add prototypes.
+       * expr.c (free_expr0): Free memery allocated for Hollerith constant.
+       (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
+       (gfc_check_assign): Enable conversion from Hollerith to other.
+       * gfortran.h (bt): Add BT_HOLLERITH.
+       (gfc_expr): Add from_H flag.
+       * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
+       (add_conversions): Add conversions from Hollerith constant to other.
+       (do_simplify): Don't simplify if  Hollerith constant arguments exist.
+       * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
+       * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
+       (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
+       * primary.c (match_hollerith_constant): New function.
+       (gfc_match_literal_constant): Add match Hollerith before Integer.
+       * simplify.c (gfc_convert_constant): Add conversion from Hollerith
+       to other.
+       * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
+       convert Hollerith constant to tree.
+       * trans-io.c (gfc_convert_array_to_string): Get array's address and
+       length to set string expr.
+       (set_string): Deal with array assigned Hollerith constant and character
+       array.
+       * gfortran.texi: Document Hollerith constants as extention support.
+
+2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
+
+       PR fortran/22327
+       * trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
+
+2005-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * decl.c (gfc_match_entry): Allow ENTRY without parentheses
+       even in FUNCTIONs.
+
 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
 
-       * gfortran.texi, intrinsic.texi: Fix typo.
+       * gfortran.texi, intrinsic.texi: Fix typos.
        * symbol.c: Fix a comment typo.
 
 2005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>