OSDN Git Service

* resolve.c (merge_argument_lists): Revert unintentionally
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 4602636..1c95c96 100644 (file)
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * resolve.c (merge_argument_lists): Revert unintentionally 
+       committed change.
+       
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-decl.c (build_function_decl): Fix spelling in comment.
+       (build_entry_thunks): Remove code with no function.
+       (gfc_build_intrinsic_function_decls): Remove empty line.
+
+       * resolve.c (resolve_entries): Fix a bunch of comment typos.
+
+2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * fortran/f95-lang.c (gfc_init_decl_processing): Adjust
+       build_common_tree_nodes call.
+
+2004-08-24  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-types.c: Spelling and formatting fixes.
+
+2004-08-23  Richard Henderson  <rth@redhat.com>
+
+       * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
+       of going through an intermediate string.  Fix 32/64 int/long bug.
+
+2004-08-23  Eric Christopher  <echristo@redhat.com>
+
+       * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
+       usage. Use build_vector_type_for_mode for vector types.
+
+2004-08-22  Richard Henderson  <rth@redhat.com>
+
+       PR 13465
+        * data.c (find_con_by_offset): Search ordered list; handle
+        elements with repeat counts.
+        (gfc_assign_data_value_range): New.
+        * gfortran.h (struct gfc_data_value): Make repeat unsigned.
+        (gfc_assign_data_value_range): Declare.
+        * match.c (top_val_list): Extract repeat count into a temporary.
+        * resolve.c (values): Make left unsigned.
+        (next_data_value): Don't decrement left.
+        (check_data_variable): Use gfc_assign_data_value_range.
+
+2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
+
+2004-08-22  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * check.c (gfc_check_reduction): Rename to ...
+       (check_reduction): ... this. Make static. Don't check type of
+       first argument.
+       (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
+       * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
+       SUM to use new check functions.
+       (check_specific): Change logic to call new functions.
+       * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
+       Add prototypes.
+       (gfc_check_reduction): Remove prototype.
+
+2004-08-20  Paul Brook  <paul@codesourcery.com>
+       Canqun Yang  <canqun@nudt.edu.cn>
+
+       PR fortran/17077
+       * trans-array.c (gfc_conv_array_parameter): Pass correct pointer
+       for automatic arrays.
+       * trans-types.c (gfc_get_nodesc_array_type): Add comment.
+
+2004-08-19  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+       (Port from g95)
+
+       PR fortran/17074
+       * match.c (match_simple_forall, match_simple_where): Forward-declare.
+       (gfc_match_if): Order statement list alphabetically, add WHERE and
+       FORALL, remove double PAUSE.
+       (gfc_match_simple_where, match_forall_header,
+       gfc_match_simple_forall): New functions.
+       (gfc_match_forall): Use match_forall_header.
+
+2004-08-19  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/17091
+       * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
+       * symbol.c (gfc_clear_attr): Use memset.
+
+2004-08-19  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/14976
+       PR fortran/16228
+       * data.c (assign_substring_data_value): Remove.
+       (create_character_intializer): New function.
+       (gfc_assign_data_value): Track the typespec for the current
+       subobject.  Use create_character_intializer.
+
+2004-08-19  Erik Schnetter  <schnetter@aei.mpg.de>
+
+       PR fortran/16946
+       * check.c (gfc_check_reduction): New function.
+       (gfc_check_minval_maxval): Removed.
+       (gfc_check_product): Removed.
+       (gfc_check_sum): Removed.
+       * intrinsic.h: Add/remove declarations for these.
+       * gfortran.h: Add field f3red to union gfc_check_f.
+       * intrinsic.c (add_sym_3red): New function.
+       (add_functions): Register maxval, minval, product, and sum intrinsics
+       through add_sym_3red.
+       (check_specific): Handle f3red union field.
+       * iresolve.c: Whitespace change.
+
+2004-08-18  Paul Brook  <paul@codesourcery.com>
+
+       * trans-types.c (gfc_sym_type): Use pointer types for optional args.
+
+2004-08-18  Victor Leikehman  <lei@il.ibm.com>
+
+       PR fortran/13278
+       * trans-io.c (transfer_namelist_element): New. Recursively handle
+       derived-type variables.  Pass string lengths.
+       (build_dt): Code moved to build_namelist, with some
+       changes and additions.
+       (gfc_build_io_library_fndecls): Declare the fifth
+       argument in st_set_nml_var_char -- string_length.
+
+2004-08-17  Paul Brook  <paul@codesourcery.com>
+       Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/13082
+       * decl.c (get_proc_name): Update mystery comment.
+       (gfc_match_entry): Check for errors earlier.  Add entry point to list.
+       * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
+       * gfortran.h (symbol_attribute): Add entry_master.  Document entry.
+       (struct gfc_entry_list): Define.
+       (gfc_get_entry_list): Define.
+       (struct gfc_namespace): Add refs and entries.
+       (enum gfc_exec_op): Add EXEC_ENTRY.
+       (struct gfc_code): Add ext.entry.
+       * module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
+       (mio_symbol_attribute): Don't save/reture addr->entry.
+       (mio_namespace_ref): Refcount namespaces.
+       * parse.c (accept_statement): Handle ST_ENTRY.
+       (gfc_fixup_sibling_symbols): Mark symbol as referenced.
+       (parse_contained): Fixup sibling references to entry points
+       after parsing the procedure body.
+       * resolve.c (resolve_contained_fntype): New function.
+       (merge_argument_lists, resolve_entries): New functions.
+       (resolve_contained_functions): Use them.
+       (resolve_code): Handle EXEC_ENTRY.
+       (gfc_resolve): Call resolve_entries.
+       * st.c (gfc_free_statement): Handle EXEC_ENTRY.
+       * symbol.c (gfc_get_namespace): Refcount namespaces.
+       (gfc_free_namespace): Ditto.
+       * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
+       optional when multiple entry points are present.
+       * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
+       (gfc_get_extern_function_decl): Add assertion.  Fix coment.
+       (create_function_arglist, trans_function_start, build_entry_thunks):
+       New functions.
+       (gfc_build_function_decl): Rename ...
+       (build_function_decl): ... to this.
+       (gfc_create_function_decl): New function.
+       (gfc_generate_contained_functions): Use it.
+       (gfc_trans_entry_master_switch): New function.
+       (gfc_generate_function_code): Use new functions.
+       * trans-stmt.c (gfc_trans_entry): New function.
+       * trans-stmt.h (gfc_trans_entry): Add prototype.
+       * trans-types.c (gfc_get_function_type): Add entry point argument.
+       * trans.c (gfc_trans_code): Handle EXEC_ENTRY.
+       (gfc_generate_module_code): Call gfc_create_function_decl.
+       * trans.h (gfc_build_function_decl): Remove.
+       (gfc_create_function_decl): Add prototype.
+
+2004-08-15  Andrew Pinski  <apinski@apple.com>
+
+       PR fortran/17030
+       * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
+       for cabs{,f} and copysign{,f}.
+       * trans-decl.c (gfor_fndecl_math_cabsf): Delete.
+       (gfor_fndecl_math_cabs): Delete.
+       (gfor_fndecl_math_sign4): Delete.
+       (gfor_fndecl_math_sign8): Delete.
+       (gfc_build_intrinsic_function_decls): Remove the
+       initializing of cabs{,f} and copysign{,f} functions.
+       * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
+       instead of the functions definitions.
+       (gfc_conv_intrinsic_sign): Likewise.
+       * trans.h (gfor_fndecl_math_cabsf): Delete.
+       (gfor_fndecl_math_cabs): Delete.
+       (gfor_fndecl_math_sign4): Delete.
+       (gfor_fndecl_math_sign8): Delete.
+
 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
 
        * trans-array.c (gfc_trans_array_constructor_value): Use
-       build_int_cst. 
+       build_int_cst.
        * trans-const.c (gfc_build_string_const,
        gfc_init_constants, gfc_conv_mpz_to_tree,
-       gfc_conv_constant_to_tree): Likewise. 
+       gfc_conv_constant_to_tree): Likewise.
        * trans-decl.c (gfc_get_symbol_decl): Likewise.
        * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
        gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
        * trans-expr.c (gfc_conv_structure): Handle array pointers.
 
 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
-       
+
        PR fortran/16336
        * decl.c (gfc_match_save): Use-associated common block
        doesn't collide.
 
        * trans-decl.c (generate_local_decl): Remove workaround obsoleted
        by fix for PR 15481.
-       
+
 2004-07-10  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * trans-common.c: Fix whitespace issues, make variable names
        * trans-types.c: Update comment.
 
 2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
-       
+
        PR fortran/14077
        * moduele.c (mio_symbol): Don't I/O initial values unless
        symbol is a parameter.
 
 2004-07-09  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
-       
+
        PR fortran/13201
        * resolve.c (resolve_symbol): Verify that the shape of a
        parameter array is not only explicit, but also constant.
        gfc_set_default_type to issue error if no implicit type
        can be found.
        * trans-decl.c (gfc_create_module_variable): Remove workaround.
-       
+
 2004-07-08  Paul Brook  <paul@codesourcery.com>
 
        * intrinsic.c (add_sym_4s): New function.
 
 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to 
+       * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
        copyright years.
 
 2004-06-29  Steven Bosscher  <stevenb@suse.de>
        (gfc_clear_attr): Don't set removed attributes.
        (gfc_copy_attr): Don't copy removed attributes.
        (traverse_symtree): Remove.
-       (gfc_traverse_symtree): Don't traverse symbol 
+       (gfc_traverse_symtree): Don't traverse symbol
        tree of the passed namespace, but require a symtree to be passed
        instead. Unify with traverse_symtree.
        (gfc_traverse_ns): Call gfc_traverse_symtree according to new
        create_common.
        (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
        (gfc_trans_common): Adapt to new data structures.
-       * trans-decl.c (gfc_create_module_variables): Remove test for 
+       * trans-decl.c (gfc_create_module_variables): Remove test for
        removed attribute.
 
 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
        * scanner.c (load_line): Don't truncate preprocessor lines.
        Reformat error message.
        (preprocessor_line): Issue warning in case of malformed
-       preprocessor line. 
+       preprocessor line.
 
 2004-06-21  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
 
        * array.c (gfc_insert_constructor): Avoid redundant call to
        mpz_comp. Add 2004 to copyright years.
-       
+
 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
 
        * trans.h (stmtblock_t): Change has_scope to unsigned int.
 
        PR fortran/15211
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
-       of strings. 
+       of strings.
 
 2004-06-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
        * intrinsic.c (add_sym_3ml): New function.
        (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
-       (check_specific): Catch special case MINLOC, MAXLOC. 
+       (check_specific): Catch special case MINLOC, MAXLOC.
 
 2004-06-14  Paul Brook  <paul@codesourcery.com>
 
        * intrinsic.c (add_sym_2s): New function.
        * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
        * intrinsic.h: Function prototypes.
-       * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub 
+       * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
        gfc_resolve_srand):  New functions.
 
 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
        PR fortran/14957
        * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
        contained procedure.
-       
+
 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/12841
        * interface.c (compare_parameter, compare_actual_formal): Don't
        check types and array shapes for NULL()
        * trans-expr.c (conv_function_call): No double indirection for
-       NULL() 
+       NULL()
 
 2004-06-09  Toon Moene  <toon@moene.indiv.nluug.nl>
 
 
 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       * intrinsic.c (sort_actual): Keep track of type of missing 
+       * intrinsic.c (sort_actual): Keep track of type of missing
        arguments. (Missing from previous commit.)
 
 2004-06-03  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
        * symbol.c (gfc_add_common): Disable checks to work around other more
        fundamental inadequacies.
 
-2004-05-22  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-22  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE
        only for functions.
 2004-05-17  Steve Kargl  <kargls@comcast.net>
 
        * arith.c (gfc_real2complex): Range checking wrong part of complex
-        number. 
-       
+        number.
+
 2004-05-16  Paul Brook  <paul@codesourcery.com>
 
        * options.c (gfc_handle_module_path_options): Fix buffer overrun.
        not initialized in a disallowed fashion.
        * match.c (gfc_match_common): Likewise.
        (var_element): Verify that variable is not in the blank COMMON,
-       if it is in a common. 
+       if it is in a common.
 
 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
 
 
 2004-05-15  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
-       PR fortran/13702 
+       PR fortran/13702
        (Port from g95)
        * gfortran.h (gfc_linebuf): New typedef.
        (linebuf): Remove.
 
        * decl.c (variable_decl): Always apply default initializer.
 
-2004-05-08  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-08  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/15206
        * trans-intrinsic.c (gfc_conv_intrinsic_rrspacing): Fixed to
        * intrinsic.h: ... declare it here.
        * intrinsic.c (add_functions): ... add it as resolving function
        for NEAREST.
-       
+
 2004-05-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
 
         PR fortran/14066
 
        PR fortran/14568
        * trans-decl.c (generate_local_decl): Don't warn for unused
-        variables which are in common blocks. 
+        variables which are in common blocks.
 
 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
 
        Remove "set DEVELOPMENT".
        (Compiling GFORTRAN): Remove.
 
-2004-05-09  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-09  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * array.c (match_subscript, match_array_ref): Add comments
        explaining argument 'init'.
        * primary.c (match_digits, match_integer_constant): Add comment
        explaining signflag.
 
-2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/13940
        * primary.c: Include system.h and flags.h, needed for pedantic.
        (match_boz_constant): Allow "x" for hexadecimal constants, warn if
        pedantic is set.
 
-2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-05-01  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        PR fortran/13940
        * match.c (match_data_constant): Handle case where
        gfc_find_symbol sets sym to NULL
 
-2004-04-28  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
+2004-04-28  Tobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>
 
        * Make-lang.in (f95-lang.o, trans-intrinsic.o): Add missing
        dependency on mathbuiltins.def
 
        * gfortranspec.c: Do not include multilib.h.
 
-2004-04-24  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
+2004-04-24  Tobias Schlüter  <tobias.schlueter@physik.uni-muenchen.de>
 
        * trans-intrinsic.c: Fix comment, this is not trans-expr.c. Add
        2004 to copyright years.
 
 2004-04-11  Feng Wang  <fengwang@nudt.edu.cn>
 
-       PR 14394 
+       PR 14394
        * trans-const.c (gfc_conv_mpf_to_tree): Loosen the maximum digits of
        the real value when converting mpf to string.
 
 
        * Make-lang.in (GFORTRAN_TEXI): Set it.
        (fortran/dfortran.dvi): Use it.  Add fortran to include paths.
-       (fortran/gfortran.info): Ditto. 
+       (fortran/gfortran.info): Ditto.
        * gfortran.texi: Major update.
        * invoke.texi: New file.
 
        * gfortran.texi: Fix typos.
 
 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
+
        PR gfortran/13909
        * intrinsic.c (add_conversions) Use logical conversion instead
        of real.
 2003-12-31  Huang Chun <chunhuang73@hotmail.com>
 
        PR fortran/13434
-       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in 
+       * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in
        minval/maxval.
 
 2003-12-22  Toon Moene  <toon@moene.indiv.nluug.nl>
        * primary.c (match_substring): Fix substring bug for start point
        or end point is NULL.
        * trans-expr.c (gfc_conv_substring): Ditto
-       * trans-types.c (gfc_sym_type): Get correct type of scalar 
+       * trans-types.c (gfc_sym_type): Get correct type of scalar
        character variables.
-       * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in 
+       * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in
        derived type.
 
 2003-12-10  Richard Henderson  <rth@redhat.com>
        annotate_all_with_locus.
 
 2003-11-11  Canqun Yang  <canqun@nudt.edu.cn>
+
        * options.c (gfc_init_options): Set flag_max_stack_var_size as 32768.
        * trans-decl.c (gfc_finish_var_decl): Modified.
 
        * data.c: New file.
 
 2003-09-20  Kejia Zhao  <kejia_zh@yahoo.com.cn>
+
        * trans.h: Add declarations for gfor_fndecl_si_kind and
        gfor_fndecl_sr_kind.
        * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
 
 2003-08-24 XiaoQiang Zhang  (zhangapache@yahoo.com>
 
-       * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for 
+       * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for
        build_int_2 changed from (high, low) to (low, high).
        * trans-io.c (ioparm_namelist_name, ioparm_namelist_name_len,
        ioparm_namelist_read_mode, iocall_set_nml_val_int,
 
 2003-09-07  Kejia Zhao  <kejia_zh@yahoo.com.cn>
 
-       * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is 
-       about case_switch's break. The other is about building the condition 
-       statement tree, which judges the argument in the range of the 
+       * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is
+       about case_switch's break. The other is about building the condition
+       statement tree, which judges the argument in the range of the
        corresponding integer type.
        * trans-intrinsic.c (gfc_conv_intrinsic_mod): MOD and MODULO can work
        for the large values.
+
 2003-09-05  Paul Brook  <paul@nowt.org>
 
        * f95-lang.c (expand_function_body): Gimplify the function.
        type components.
 
 2003-08-10  Chun Huang  <compiler@sohu.com>
+
        * resolve.c (resolve_formal_arglist): Resolve STATEMENT function.
        (resolve_symbol): Ditto.
        * trans-expr.c (gfc_conv_statement_function): New function.
        Rename g95_* to gfc_*.
 
 2003-07-25  Paul Brook  <paul@nowt.org>
-       
+
        * gfortran.h: Rename from g95.h.
        * trans-types.c (boolean_type_node, booelan_true_node,
        boolean_false_node): Remove.
        (g95_conv_intrinsic_anyall): New function.
        * iresolve.c (g95_resolve_any, g95_resolve_all): Include rank in
        mangled name
-