OSDN Git Service

2010-09-09 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index 428cd3f..8e17f05 100644 (file)
@@ -1,3 +1,225 @@
+2010-09-09  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/43665
+       * intrincic.texi (FGET, FGETC, FPUT, FPUTC, FSTAT, GETCWD, KILL,
+       STAT): Show also syntax for the function version.
+       * intrinsic.c (add_sym_1s_intent, add_sym_2s_intent,
+        add_sym_3s_intent): Remove function.
+       (add_sym_1s, add_sym_2s, add_sym_3s): Take always the intent
+       as argument.
+       (add_sym_2_intent): New function.
+       (add_functions): Set intent for functions which modify
+       the argument: fstat, fgetc, fget, hostnm, lstat, stat. Change
+       argument name of hostnm from "a" to "c"
+       (add_subroutines): Change add_sym_*s_intent to
+       add_sym_*s and add intent to the add_sym_*s calls.
+
+2010-09-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/38282
+       * intrinsic.c (add_functions): Add B{G,L}{E,T}, DSHIFT{L,R},
+       MASK{L,R}, MERGE_BITS and SHIFT{A,L,R}.
+       * gfortran.h: Define ISYM values for above intrinsics.
+       * intrinsic.h (gfc_check_bge_bgt_ble_blt, gfc_check_dshift,
+       gfc_check_mask, gfc_check_merge_bits, gfc_check_shift,
+       gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble,
+       gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr,
+       gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr,
+       gfc_simplify_merge_bits, gfc_simplify_rshift,
+       gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr,
+       gfc_resolve_dshift, gfc_resolve_mask, gfc_resolve_merge_bits,
+       gfc_resolve_shift): New prototypes.
+       * iresolve.c (gfc_resolve_dshift, gfc_resolve_mask,
+       gfc_resolve_merge_bits, gfc_resolve_shift): New functions.
+       * check.c (gfc_check_bge_bgt_ble_blt, gfc_check_dshift,
+       gfc_check_mask, gfc_check_merge_bits, gfc_check_shift): New
+       functions.
+       * trans-intrinsic.c (gfc_conv_intrinsic_dshift,
+       gfc_conv_intrinsic_bitcomp, gfc_conv_intrinsic_shift,
+       gfc_conv_intrinsic_merge_bits, gfc_conv_intrinsic_mask): New
+       functions.
+       (gfc_conv_intrinsic_function): Call above static functions.
+       * intrinsic.texi: Document new intrinsics.
+       * simplify.c (gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble,
+       gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr,
+       gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr,
+       gfc_simplify_merge_bits, gfc_simplify_rshift, 
+       gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr):
+       New functions.
+
+2010-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * frontend-passes.c (optimize_code_node): Walk block chain by default.
+
+       PR fortran/45597
+       * trans-openmp.c (gfc_trans_omp_do): Store exit/cycle labels on code
+       instead of code->block.
+
+       PR fortran/45595
+       * openmp.c (resolve_omp_do): Report not enough do loops for
+       collapse even if block->next is NULL.
+
+2010-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/45576
+       * dependency.c (gfc_deb_compare_expr):  Take missing optional
+       arguments into account.
+
+2010-09-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): Remove.
+       * trans-decl.c (gfor_fndecl_clz128, gfor_fndecl_ctz128): Remove.
+       (gfc_build_intrinsic_function_decls): Don't build the
+       gfor_fndecl_clz128 and gfor_fndecl_ctz128.
+       * trans-intrinsic.c (gfc_conv_intrinsic_leadz,
+       gfc_conv_intrinsic_trailz): Generate inline arithmetic instead
+       of calling clz128/ctz128 library functions.
+
+2010-09-07  Jan Hubicka  <jh@suse.cz>
+
+       * trans-expr.c (gfc_conv_initializer): Set STATIC flags for
+       initializers.
+
+2010-09-07  Tobias Burnus <burnus@net-b.de>
+       
+       PR fortran/45583
+       * intrinsic.texi (COS): Remove superfluous "n".
+
+2010-09-07  Tobias Burnus <burnus@net-b.de>
+
+       PR fortran/45186
+       * trans-array.c (gfc_conv_descriptor_data_get,
+       gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr,
+       gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype,
+       gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride,
+       gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound,
+       gfc_conv_shift_descriptor_lbound,
+       gfc_set_loop_bounds_from_array_spec,
+       gfc_trans_allocate_array_storage, gfc_trans_create_temp_array,
+       gfc_conv_array_transpose, gfc_get_iteration_count,
+       gfc_grow_array, gfc_trans_array_ctor_element,
+       gfc_trans_array_constructor_subarray,
+       gfc_trans_array_constructor_value,
+       constant_array_constructor_loop_size, gfc_trans_array_constructor,
+       gfc_set_vector_loop_bounds, gfc_trans_array_bound_check,
+       gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
+       gfc_conv_array_ref, gfc_trans_preloop_setup,
+       gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
+       gfc_conv_loop_setup, gfc_conv_array_extent_dim,
+       gfc_conv_descriptor_size, gfc_array_init_size,
+       gfc_array_allocate, gfc_array_deallocate,
+       gfc_trans_array_bounds, gfc_trans_auto_array_allocation,
+       gfc_trans_dummy_array_bias, gfc_get_dataptr_offset,
+       get_array_charlen, gfc_conv_expr_descriptor,
+       array_parameter_size, gfc_conv_array_parameter,
+       gfc_trans_dealloc_allocated, get_full_array_size,
+       duplicate_allocatable,
+       structure_alloc_comps): Change fold_build[0-9] to
+       fold_build[0-9]_loc.
+       (duplicate_allocatable, structure_alloc_comps,
+       gfc_duplicate_allocatable): Add space after function name.
+
+2010-09-07  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-stmt.c (gfc_trans_character_select): Be conversion-safe while
+       checking string length value.
+       * trans-intrinsic.c (gfc_conv_intrinsic_char): Build integer using
+       gfc_charlen_type_node type.
+
+       PR fortran/45564
+       * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert string
+       length to gfc_charlen_type_node.
+
+2010-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36931
+       * frontend-passes.c (optimize_binop_array_assignment):  New
+       function.
+       (optimize_assignment):  Call it.
+
+2010-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/34145
+       * trans-expr.c (gfc_conv_substring):  If start and end
+       of the string reference are equal, set the length to one.
+
+2010-09-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45560
+       * dump-parse-tree.c (gfc_debug_expr): Use stderr instead of stdout.
+
+2010-09-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45560
+       * dump-parse-tree.c (gfc_debug_expr): New function.
+
+2010-09-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/38282
+       * intrinsic.c (add_functions): Support IALL, IANY, IPARITY.
+       (check_specific): Special case for those intrinsics.
+       * gfortran.h (gfc_isym_id): Add new intrinsics
+       * intrinsic.h (gfc_check_transf_bit_intrins,
+       gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity,
+       gfc_resolve_iall, gfc_resolve_iany, gfc_resolve_iparity):
+       New prototypes.
+       * iresolve.c (gfc_resolve_iall, gfc_resolve_iany,
+       gfc_resolve_iparity, resolve_transformational): New functions.
+       (gfc_resolve_product, gfc_resolve_sum,
+       gfc_resolve_parity): Use resolve_transformational.
+       * check.c (gfc_check_transf_bit_intrins): New function.
+       * simplify.c (gfc_simplify_iall, gfc_simplify_iany,
+       gfc_simplify_iparity, do_bit_any, do_bit_ior,
+       do_bit_xor, simplify_transformation): New functions.
+       (gfc_simplify_all, gfc_simplify_any, gfc_simplify_parity,
+       gfc_simplify_sum, gfc_simplify_product): Use simplify_transformation.
+       * trans-intrinsic.c (gfc_conv_intrinsic_arith,
+       gfc_conv_intrinsic_function, gfc_is_intrinsic_libcall):
+       Handle IALL, IANY and IPARITY intrinsics.       
+       * intrinsic.texi (IMAGE_INDEX): Move up to fix alphabetic
+       order.
+       (IALL, IANY, IPARITY): Document new intrinsics.
+
+2010-09-05  Tobias Burnus <burnus@net-b.de>
+
+       PR fortran/45186
+       * f95-lang.c (gfc_truthvalue_conversion): Use
+       fold_build[0-9]_loc instead of fold_build[0-9].
+       * convert.c (convert): Ditto.
+       * trans-intrinsic.c (gfc_conv_intrinsic_conversion,
+       build_fixbound_expr, build_fix_expr, gfc_conv_intrinsic_aint,
+       gfc_conv_intrinsic_int, gfc_conv_intrinsic_imagpart,
+       gfc_conv_intrinsic_conjg, gfc_trans_same_strlen_check,
+       gfc_conv_intrinsic_bound, gfc_conv_intrinsic_abs,
+       gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
+       gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
+       gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_char,
+       gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate,
+       gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax,
+       gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_anyall,
+       gfc_conv_intrinsic_count, gfc_conv_intrinsic_arith,
+       gfc_conv_intrinsic_dot_product, gfc_conv_intrinsic_minmaxloc,
+       gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
+       gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_not,
+       gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
+       gfc_conv_intrinsic_rlshift, gfc_conv_intrinsic_ishft,
+       gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_leadz,
+       gfc_conv_intrinsic_trailz, gfc_conv_intrinsic_popcnt_poppar,
+       gfc_conv_intrinsic_ichar, gfc_conv_has_intvalue,
+       gfc_conv_intrinsic_merge, gfc_conv_intrinsic_spacing,
+       gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_size,
+       size_of_string_in_bytes, gfc_conv_intrinsic_sizeof,
+       gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_strcmp,
+       gfc_conv_intrinsic_transfer, gfc_conv_allocated,
+       gfc_conv_associated, gfc_conv_same_type_as,
+       gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Ditto.
+
+2010-09-04  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45530
+       * resolve.c (resolve_fl_namelist): Change constraint checking
+       order to prevent endless loop.
+
 2010-09-04  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/45507