OSDN Git Service

* trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 8ec2d7f..623a8d0 100644 (file)
@@ -1,3 +1,216 @@
+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. 
+       * trans-const.c (gfc_build_string_const,
+       gfc_init_constants, gfc_conv_mpz_to_tree,
+       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-io.c (add_case, set_error_locus, build_dt,
+       transfer_expr): Likewise.
+       * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
+       gfc_trans_stop, gfc_trans_character_select): Likewise.
+       * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
+       * trans.c (gfc_trans_runtime_check): Likewise.
+
+2004-08-14  Paul Brook  <paul@codesourcery.com>
+
+       * trans-decl.c (gfc_build_function_decl): Remove dead code.
+
+2004-08-14  Paul Brook  <paul@codesourcery.com>
+
+       * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var.
+
+2004-08-13  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * gfortran.h: Add comments.
+       * parse.c (parse_contained): Fix comment typo.
+       * resolve.c (was_declared): Ditto.
+       * symbol.c: Ditto.
+
+2004-08-11  Paul Brook  <paul@codeourcery.com>
+
+       PR fortran/16917
+       * intrinsic.c (add_functions): Add dfloat as an alias for dble.
+
+2004-08-10  Richard Henderson  <rth@redhat.com>
+
+       * f95-lang.c (gfc_init_builtin_functions): Remove
+        __builtin_stack_alloc, add __builtin_alloca.
+       * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
+       * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
+
+2004-08-10  Paul Brook  <paul@codesourcery.com>
+
+       * trans-io.c (transfer_expr): Handle pointters.
+
+2004-08-10  Paul Brook  <paul@codesourcery.com>
+
+       PR fortran/16919
+       * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
+       (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
+       (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
+       Handle GFC_SS_COMPONENT.
+       (gfc_conv_ss_startstride): Ditto.  Set ss->shape.
+       (gfc_conv_loop_setup): Tweak commends. Remove dead code.
+       Use ss->shape.
+       (gfc_conv_array_initializer): Call specific initializer routines.
+       * trans-expr.c (gfc_trans_structure_assign): New function.
+       (gfc_trans_subarray_assign): New function.
+       (gfc_trans_subcomponent_assign): New fucntion
+       (gfc_conv_structure): Use them.
+       * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
+       (gfc_ss): Add shape.
+
 2004-08-08  Victor Leikehman  <lei@il.ibm.com>
 
        * simplify.c (gfc_simplify_shape): Bugfix.
        * 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.
 
        * 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
        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.