OSDN Git Service

2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index f5971dd..f28030f 100644 (file)
@@ -1,3 +1,158 @@
+2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/43217
+       * primary.c (match_hollerith_constant): Calculate padding needed to
+       fill default integer and allocate string for that size.  Set pad bytes
+       to ' '.
+       * gfortran.h: Add hollerith pad value to type spec union.
+       * data.c (create_character_initializer): Fix spelling of function name.
+       Use hollerith pad value to calculate length.
+       * arith.c (hollerith2representation); Use hollerith pad value to
+       calculate length.
+
+2010-08-26  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/38936
+       PR fortran/44047
+       PR fortran/45384
+       * gfortran.h (struct gfc_association_list): New flag `dangling'.
+       (gfc_build_block_ns): Declared here...
+       * parse.h (gfc_build_block_ns): ...instead of here.
+       * trans.h (gfc_process_block_locals): Expect additionally the
+       gfc_association_list of BLOCK (if present).
+       * match.c (select_type_set_tmp): Create sym->assoc for temporary.
+       * resolve.c (resolve_variable): Only check for invalid *array*
+       references on associate-names.
+       (resolve_assoc_var): New method with code previously in resolve_symbol.
+       (resolve_select_type): Use association to give the selector and
+       temporaries their values instead of ordinary assignment.
+       (resolve_fl_var_and_proc): Allow CLASS associate-names.
+       (resolve_symbol): Use new `resolve_assoc_var' instead of inlining here.
+       * trans-stmt.c (gfc_trans_block_construct): Pass association-list
+       to `gfc_process_block_locals' to match new interface.
+       * trans-decl.c (gfc_get_symbol_decl): Don't defer associate-names
+       here automatically.
+       (gfc_process_block_locals): Defer them rather here when linked to
+       from the BLOCK's association list.
+
+2010-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * trans-decl.c (gfc_build_intrinsic_function_decls): Set
+       TREE_NOTHROW on fndecls that can't throw.  Set
+       TREE_READONLY on gfor_fndecl_math_ishftc{4,8,16}.
+       (gfc_build_builtin_function_decls): Set TREE_NOTHROW on
+       gfor_fndecl_associated.
+
+2010-08-23  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/45380
+       * frontend-passes.c (optimize_equality): Don't optimize array equality
+
+2010-08-23  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/45366
+       * resolve.c (resolve_procedure_interface): New function split off from
+       'resolve_symbol'.
+       (resolve_formal_arglist): Call it here ...
+       (resolve_symbol): ... and here.
+
+2010-08-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (gfortranspec.o): Update dependencies.
+       * gfortranspec.c: Include coretypes.h before gcc.h.  Include
+       opts.h.
+       (MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l".
+       (ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove.
+       (g77_xargc): Make unsigned.
+       (g77_xargv): Change to g77_x_decoded_options.
+       (g77_newargc): Make unsigned.
+       (g77_newargv): Change to g77_new_decoded_options.
+       (strings_same, options_same): New.
+       (append_arg): Use cl_decoded_option structures.
+       (append_option): New.
+       (add_arg_libgfortran): New.
+       (lang_specific_driver): Use cl_decoded_option structures.
+
+2010-08-21  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/45271
+       PR fortran/45290
+       * class.c (add_proc_comp): Add static initializer for PPCs.
+       (add_procs_to_declared_vtab): Modified comment.
+       * module.c (mio_component): Add argument 'vtype'. Don't read/write the
+       initializer if the component is part of a vtype.
+       (mio_component_list): Add argument 'vtype', pass it on to
+       'mio_component'.
+       (mio_symbol): Modified call to 'mio_component_list'.
+       * trans.h (gfc_conv_initializer): Modified prototype.
+       (gfc_trans_assign_vtab_procs): Removed.
+       * trans-common.c (create_common): Modified call to
+       'gfc_conv_initializer'.
+       * trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
+       gfc_emit_parameter_debug_info): Modified call to
+       'gfc_conv_initializer'.
+       (build_function_decl): Remove assertion.
+       * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
+       Removed call to 'gfc_trans_assign_vtab_procs'.
+       (gfc_conv_initializer): Add argument 'procptr'.
+       (gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
+       (gfc_trans_assign_vtab_procs): Removed.
+       * trans-stmt.c (gfc_trans_allocate): Removed call to
+       'gfc_trans_assign_vtab_procs'.
+
+2010-08-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36158
+       PR fortran/33197
+       * intrinsic.c (add_sym): Init value attribute.
+       (set_attr_value): New function.
+       (add_functions) Use it and add JN/YN resolvers.
+       * symbol.c (gfc_copy_formal_args_intr): Copy value attr.
+       * intrinsic.h (gfc_resolve_bessel_n2): New prototype.
+       * gfortran.h (gfc_intrinsic_arg): Add value attribute.
+       * iresolve.c (gfc_resolve_bessel_n2): New function.
+       * trans-intrinsic.c (gfc_get_symbol_for_expr): Create
+       formal arg list.
+       (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
+       Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
+       * simplify.c (): For YN set to -INF if previous values
+       was -INF.
+       * trans-expr.c (gfc_conv_procedure_call): Don't crash
+       if sym->as is NULL.
+       * iresolve.c (gfc_resolve_extends_type_of): Set the
+       type of the dummy argument to the one of the actual.
+
+2010-08-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.
+
+2010-08-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
+       comment, not -lg2c.
+
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans-openmp.c: Use FOR_EACH_VEC_ELT.
+
+2010-08-19  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/29785
+       PR fortran/45016
+       * trans.h (struct gfc_se): New flag `byref_noassign'.
+       * trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
+       (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
+       * expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
+       and check for compile-time errors with those.
+       * trans-decl.c (trans_associate_var): Use new routine
+       `gfc_conv_shift_descriptor_lbound' instead of doing it manually.
+       * trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
+       (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
+       (gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
+       (gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
+       * trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
+       rank remapping for assignment.
+
 2010-08-19  Tobias Burnus  <burnus@net-b.de>
 
        * intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo.