OSDN Git Service

2010-09-06 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / gcc / fortran / ChangeLog
index a5de32a..2d97608 100644 (file)
@@ -1,3 +1,117 @@
+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
+       * resolve.c (resolve_allocate_expr): Generate default initializers
+       already at this point, resolve them and put them into expr3, ...
+       * trans-stmt.c (gfc_trans_allocate): ... instead of waiting until
+       translation stage.
+
+2010-09-03  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/45186
+       * trans-intrinsic.c (gfc_conv_intrinsic_sign,
+       gfc_conv_intrinsic_leadz): Use build_call_expr_loc instead
+       of build_call_expr.
+       * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy,
+       gfc_conv_string_length, gfc_conv_substring,
+       gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
+       gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
+       gfc_conv_expr_op, gfc_build_compare_string,
+       gfc_set_interface_mapping_bounds, gfc_conv_subref_array_arg,
+       gfc_conv_derived_to_class, conv_isocbinding_procedure,
+       gfc_conv_procedure_call, fill_with_spaces,
+       gfc_trans_string_copy, gfc_trans_alloc_subarray_assign,
+       gfc_trans_structure_assign, gfc_trans_pointer_assignment,
+       gfc_trans_scalar_assign, gfc_trans_zero_assign,
+       gfc_trans_array_copy, gfc_trans_array_constructor_copy): Change
+       fold_build[0-9] to fold_build[0-9]_loc.
+       * trans-io.c (set_parameter_const, set_parameter_value,
+       set_parameter_ref, gfc_convert_array_to_string, set_string,
+       set_internal_unit, io_result, set_error_locus,
+       nml_get_addr_expr, build_dt): Ditto.
+       * trans-openmp.c (gfc_omp_clause_default_ctor,
+       gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
+       gfc_trans_omp_array_reduction, gfc_trans_omp_atomic,
+       gfc_trans_omp_do): Ditto.
+       * trans.c (gfc_add_modify, gfc_build_addr_expr,
+       gfc_build_array_ref, gfc_trans_runtime_error_vararg,
+       gfc_trans_runtime_check, gfc_call_malloc,
+       gfc_allocate_with_status, gfc_allocate_array_with_status,
+       gfc_call_free, gfc_deallocate_with_status,
+       gfc_call_realloc): Ditto.
+
 2010-09-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/45159