aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-08-17tree.h (convert_to_ptrofftype_loc): New function.Richard Guenther24-90/+133
2011-08-17 Richard Guenther <rguenther@suse.de> * tree.h (convert_to_ptrofftype_loc): New function. (convert_to_ptrofftype): Define. * builtins.c (expand_builtin_bzero): Use size_type_node. (fold_builtin_bzero): Likewise. (std_gimplify_va_arg_expr): Build the BIT_AND_EXPR on the pointer. * c-typeck.c (build_unary_op): Use convert_to_ptrofftype_loc. * cgraphunit.c (thunk_adjust): Use fold_build_pointer_plus_loc. (cgraph_redirect_edge_call_stmt_to_callee): Use size_int. * expr.c (expand_expr_addr_expr_1): Use fold_build_pointer_plus. * fold-const.c (build_range_check): Negate using the original type. (fold_unary_loc): Use fold_build_pointer_plus_loc. * gimple-fold.c (gimple_adjust_this_by_delta): Use convert_to_ptrofftype. * gimplify.c (gimplify_self_mod_expr): Likewise. * graphite-clast-to-gimple.c (clast_to_gcc_expression): Likewise. (graphite_create_new_loop_guard): Likewise. * graphite-sese-to-poly.c (my_long_long): Remove. (scop_ivs_can_be_represented): Adjust. * tree-cfg.c (verify_gimple_assign_unary): Use ptrofftype_p. * tree-chrec.c (chrec_fold_plus_1): Use fold_build_pointer_plus. * tree-loop-distribution.c (build_size_arg_loc): Use size_type_node. (generate_memset_zero): Simplify. * tree-mudflap.c: Use fold_convert, not convert. * tree-predcom.c (suitable_reference_p): Expand DR_OFFSET in its own type. (determine_offset): Likewise for DR_STEP. (valid_initializer_p): Likewise. * tree-profile.c (prepare_instrumented_value): Convert the pointer to an integer type of same size. * tree-scalar-evolution.c (interpret_rhs_expr): Do not refer to sizetype without need. * tree-ssa-address.c (tree_mem_ref_addr): Likewise. * tree-ssa-loop-ivopts.c (find_bivs): Use convert_to_ptrofftype. * tree-ssa-loop-manip.c (create_iv): Likewise. (determine_exit_conditions): Adjust comment. * tree-ssa-pre.c (create_expression_by_pieces): Use convert_to_ptrofftype. * tree-ssa-structalias.c (get_constraint_for_1): Likewise. * varasm.c (array_size_for_constructor): Compute using double_ints. From-SVN: r177828
2011-08-17re PR target/43597 (Move and compare with 0 can be combined)Tom de Vries2-0/+33
2011-08-17 Tom de Vries <tom@codesourcery.com> PR target/43597 * gcc.target/arm/pr43597.c: New test. From-SVN: r177827
2011-08-17re PR fortran/50070 (Segmentation fault at size_binop_loc in fold-const.c)Janus Weil4-9/+38
2011-08-17 Janus Weil <janus@gcc.gnu.org> PR fortran/50070 * resolve.c (resolve_fl_variable): Reject non-constant character lengths in COMMON variables. 2011-08-17 Janus Weil <janus@gcc.gnu.org> PR fortran/50070 * gfortran.dg/common_13.f90: New. From-SVN: r177825
2011-08-17Daily bump.GCC Administrator1-1/+1
From-SVN: r177820
2011-08-16re PR c++/50086 ([C++0x] Error on lookup of template function address with ↵Jason Merrill4-20/+32
variadic template arguments) PR c++/50086 * pt.c (unify_pack_expansion): Correct overloaded unification logic. From-SVN: r177813
2011-08-16* g++.old-deja/g++.brendan/README: Add R.I.P.Jason Merrill2-0/+3
From-SVN: r177812
2011-08-16pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set on a member ↵Jason Merrill5-0/+36
function or static data member... * pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set on a member function or static data member, call mark_used. From-SVN: r177811
2011-08-16re PR c++/50054 (Fails to recover from type error in function signature)Jason Merrill4-0/+25
PR c++/50054 * typeck2.c (cxx_incomplete_type_diagnostic): Handle init_list_type_node. From-SVN: r177810
2011-08-16re PR fortran/50094 (FAIL: gfortran.dg/coarray_6.f90)Tobias Burnus2-1/+7
2011-08-16 Tobias Burnus <burnus@net-b.de> Dominique Dhumieres <dominiq@lps.ens.fr> PR fortran/50094 * resolve.c (resolve_symbol): Fix stupid typo. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r177801
2011-08-16spu.c (spu_emit_branch_or_set): Avoid reverse tests when generating an ↵Ulrich Weigand2-1/+29
integer result where possible. * config/spu/spu.c (spu_emit_branch_or_set): Avoid reverse tests when generating an integer result where possible. Short-cut comparison against 0 also for QImode. From-SVN: r177795
2011-08-16spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro.Ulrich Weigand4-2/+68
* config/spu/spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro. * config/spu/spu-protos.h (spu_legitimize_reload_address): Add prototype. * config/spu/spu.c (spu_legitimize_reload_address): New function. (spu_legitimate_address_p): Do not check displacement if the base is an eliminable stack register. From-SVN: r177794
2011-08-16m32c.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.Anatoly Sokolov4-12/+30
* config/m32c/m32c.h (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro. * config/m32c/m32c-protos.h (m32c_preferred_reload_class, m32c_preferred_output_reload_class): Remove. * config/m32c/m32c.c (m32c_preferred_reload_class): Make static. Change rclass argument and return types to reg_class_t. Use reg_class_subset_p instead of class_sizes. (m32c_preferred_output_reload_class): Make static. Change rclass argument and return types to reg_class_t. (TARGET_PREFERRED_RELOAD_CLASS, TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define. From-SVN: r177790
2011-08-16* config/i386/mingw32.h (GOMP_SELF_SPEC): Add -pthread option.Kai Tietz2-1/+6
From-SVN: r177789
2011-08-16re PR tree-optimization/50082 (-Wstrict-overflow mishandles typedef)Richard Guenther2-26/+32
2011-08-16 Richard GUenther <rguenther@suse.de> PR tree-optimization/50082 * tree-ssa-forwprop.c (combine_cond_expr_cond): Handle overflow warnings here, instead of ... (ssa_forward_propagate_and_combine): ... here. (forward_propagate_into_comparison_1): Adjust. (forward_propagate_into_comparison): Likewise. (forward_propagate_into_gimple_cond): Likewise. (forward_propagate_into_cond): Likewise. From-SVN: r177788
2011-08-16ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def instead of ↵Andreas Schwab2-5/+9
ggc_alloc_zone_vec_rtvec_def. * ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def instead of ggc_alloc_zone_vec_rtvec_def. From-SVN: r177785
2011-08-16tree.h (ptrofftype_p): New helper function.Richard Guenther6-12/+30
2011-08-16 Richard Guenther <rguenther@suse.de> * tree.h (ptrofftype_p): New helper function. * tree-cfg.c (verify_expr): Use ptrofftype_p for POINTER_PLUS_EXPR offset verification. (verify_gimple_assign_binary): Likewise. * tree.c (build2_stat): Likewise. * tree-chrec.c (chrec_fold_plus_poly_poly): Likewise. (reset_evolution_in_loop): Likewise. * tree-chrec.h (build_polynomial_chrec): Likewise. From-SVN: r177784
2011-08-16ggc.h (ggc_alloc_rtvec_sized): Change arguments of ggc_alloc_zone_vec_rtvec_def.Liang Wang2-2/+8
2011-08-16 Liang Wang <lwang1@marvell.com> * ggc.h (ggc_alloc_rtvec_sized): Change arguments of ggc_alloc_zone_vec_rtvec_def. From-SVN: r177782
2011-08-16tree-vrp.c (extract_range_from_multiplicative_op_1): New helper factored out ↵Richard Guenther2-149/+218
from ... 2011-08-16 Richard Guenther <rguenther@suse.de> * tree-vrp.c (extract_range_from_multiplicative_op_1): New helper factored out from ... (extract_range_from_binary_expr_1): ... here. Re-structure to not glob handling too different tree codes. From-SVN: r177781
2011-08-16Remove entry for gofrontend directory which should not be here.Ian Lance Taylor1-6/+0
From-SVN: r177779
2011-08-16Daily bump.GCC Administrator1-1/+1
From-SVN: r177777
2011-08-15Only run g++.dg/opt/life1.C on Linux.H.J. Lu2-1/+6
2011-08-15 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/50085 * g++.dg/opt/life1.C: Only run on Linux. From-SVN: r177772
2011-08-15fix Change logXinliang David Li2-5/+5
From-SVN: r177769
2011-08-15LINEMAP_POSITION_FOR_COLUMN had the exact same effect as ↵Gabriel Charette2-6/+8
linemap_position_for_column... LINEMAP_POSITION_FOR_COLUMN had the exact same effect as linemap_position_for_column, removed it and updated users to use linemap_position_for_column instead libcpp/ChangeLog * include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Remove. Update all users to use linemap_position_for_column instead. gcc/go/ChangeLog * gofrontend/lex.cc (Lex::location): Update to use linemap_position_for_column instead. (Lex::earlier_location): Likewise. From-SVN: r177768
2011-08-15resolve.c (resolve_symbol): Fix coarray result-var check.Tobias Burnus4-24/+111
2011-08-15 Tobias Burnus <burnus@net-b.de> * resolve.c (resolve_symbol): Fix coarray result-var check. 2011-08-15 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_26.f90: New. From-SVN: r177767
2011-08-15re PR debug/50006 (ICE in in connect_traces, at dwarf2cfi.c:2677)Richard Henderson4-3/+18
PR middle-end/50006 * explow.c (allocate_dynamic_stack_space): Move suppress_reg_args_size setting out to include allocate_stack named pattern as well. * builtins.c (expand_builtin_apply): Add ARG_SIZE 0 note. * stmt.c (expand_stack_restore): Likewise. From-SVN: r177764
2011-08-15Fix typo last changeHans-Peter Nilsson1-1/+1
From-SVN: r177763
2011-08-15re PR tree-optimization/50082 (-Wstrict-overflow mishandles typedef)Richard Guenther2-1/+10
2011-08-15 Richard Guenther <rguenther@suse.de> PR middle-end/50082 * fold-const.c (maybe_canonicalize_comparison_1): Properly convert the modified operand to the other operand type. (fold_comparison): Call maybe_canonicalize_comparison_1 with useless conversions stripped from comparison operands. From-SVN: r177762
2011-08-15tree-vrp.c (value_range_nonnegative_p): Fix anti-range case.Richard Guenther2-121/+77
2011-08-15 Richard Guenther <rguenther@suse.de> * tree-vrp.c (value_range_nonnegative_p): Fix anti-range case. (extract_range_from_unary_expr_1): Restructure. From-SVN: r177761
2011-08-15re PR tree-optimization/50058 (FAIL: g++.dg/tree-ssa/pr41186.C)Richard Guenther2-5/+10
2011-08-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/50058 * tree-ssa-sccvn.c (vn_reference_lookup_3): Relax aggregate copy matching. From-SVN: r177760
2011-08-15re PR target/50022 ("incorrect condition in IT block" when building mozilla ↵Ramana Radhakrishnan9-91/+260
code base for ARM) 2011-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> PR target/50022 * config/arm/arm.c (output_move_double): Add 2 parameters to count the number of insns emitted and whether to emit or not. Use the flag to decide when to emit and count number of instructions that will be emitted. Handle case where output_move_double might be called for calculating lengths with an invalid constant. (arm_count_output_move_double_insns): Define. * config/arm/arm-protos.h (arm_count_output_move_double_insns): Declare. (output_move_double): Adjust prototype. * config/arm/vfp.md ("*movdi_vfp"): Adjust call to output_move_double. ("*movdi_vfp_cortexa8"): Likewise and add attribute for ce_count. * config/arm/arm.md ("*arm_movdi"): Adjust call to output_move_double. ("*movdf_soft_insn"): Likewise. * config/arm/cirrus.md ("*cirrus_arm_movdi"): Likewise. ("*cirrus_thumb2_movdi"): Likewise. ("*thumb2_cirrus_movdf_hard_insn"): Likewise. ("*cirrus_movdf_hard_insn"): Likewise. * config/arm/neon.md (*neon_mov<mode> VD): Likewise. * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Likewise. ("mov<mode>_internal VMMX"): Likewise. * config/arm/fpa.md (*movdf_fpa, *thumb2_movdf_fpa): Likewise. From-SVN: r177759
2011-08-15vrp61.c: : Use -fdump-tree-vrp1-nouid instead of -fdump-tree-vrp1.Hans-Peter Nilsson2-1/+6
* gcc.dg/tree-ssa/vrp61.c: : Use -fdump-tree-vrp1-nouid instead of -fdump-tree-vrp1. From-SVN: r177758
2011-08-15Daily bump.GCC Administrator1-1/+1
From-SVN: r177755
2011-08-14i386.c (ix86_expand_round_sse4): New function.Uros Bizjak4-106/+165
* config/i386/i386.c (ix86_expand_round_sse4): New function. * config/i386/i386-protos.h (ix86_expand_round_sse4): New prototype. * config/i386/i386.md (round<mode>2): Use ix86_expand_round_sse4 for TARGET_ROUND. (rint<mode>2): Simplify TARGET_ROUND check. (floor<mode>2): Ditto. (ceil<mode>2): Ditto. (btrunc<mode>2): Ditto. From-SVN: r177751
2011-08-14module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.Steven G. Kargl2-1/+5
2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org> * module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly. From-SVN: r177750
2011-08-14mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine as ↵Anatoly Sokolov2-1/+6
mmix_preferred_output_reload_class. * config/mmix/mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine as mmix_preferred_output_reload_class. From-SVN: r177749
2011-08-14re PR fortran/50073 (gfortran must not accept function name when result name ↵Janus Weil4-10/+55
is present) 2011-08-14 Janus Weil <janus@gcc.gnu.org> PR fortran/50073 * decl.c (check_function_name): New function, separated off from 'variable_decl' and slightly extended. (variable_decl,attr_decl1): Call it. 2011-08-14 Janus Weil <janus@gcc.gnu.org> PR fortran/50073 * gfortran.dg/func_result_7.f90: New. From-SVN: r177745
2011-08-14re PR target/49903 ([avr] Redundant comparisons in binary-search switch/case ↵Georg-Johann Lay3-75/+294
expansion) * PR target/49903 * config/avr/avr.md (UNSPEC_IDENTITY): New c_enum. (branch_unspec): New insn. (branch): Beauty farm. * config/avr/avr.c (compare_condition): Use JUMP_P. Test SET_SRC to be IF_THEN_ELSE. (avr_compare_pattern, avr_reorg_remove_redundant_compare): New static functions. (avr_reorg): Use them. Use next_real_insn instead of NEXT_INSN. Use CONST_INT_P. Beauty. From-SVN: r177744
2011-08-14re PR c++/50075 ([C++0x] ICE related to parameter deduction and ↵Jason Merrill6-1/+31
initializer_list) PR c++/50075 * name-lookup.c (local_bindings_p): New. * name-lookup.h: Declare it. * lex.c (unqualified_name_lookup_error): Use it. From-SVN: r177743
2011-08-14Daily bump.GCC Administrator1-1/+1
From-SVN: r177741
2011-08-13re PR c++/50059 ([C++0x] Broken error message with __builtin_remquo & constexpr)Jason Merrill4-0/+21
PR c++/50059 * error.c (dump_expr): Handle MODIFY_EXPR properly. From-SVN: r177735
2011-08-13decl.c (grok_reference_init): Handle constexpr here.Jason Merrill3-6/+11
* decl.c (grok_reference_init): Handle constexpr here. * call.c (initialize_reference): Not here. From-SVN: r177734
2011-08-13Fix bug in vtable initializationDavid Li4-2/+40
From-SVN: r177731
2011-08-13Daily bump.GCC Administrator1-1/+1
From-SVN: r177728
2011-08-12re PR c++/50034 (Overload selection failure within class template)Jason Merrill4-2/+15
PR c++/50034 * call.c (convert_arg_to_ellipsis): force_rvalue only in potentially evaluated context. From-SVN: r177722
2011-08-12re PR rtl-optimization/49994 (ICE: in maybe_record_trace_start, at ↵Richard Henderson6-2/+90
dwarf2cfi.c:2234 with -fsched2-use-superblocks) PR rtl-opt/49994 * sched-init.h (struct deps_desc): Add sched_before_next_jump. * sched-deps.c (init_deps): Clear it. (deps_analyze_insn): Consume it. (sched_analyze_insn): Fill it. From-SVN: r177721
2011-08-12Fix changelogRichard Sandiford1-1/+1
From-SVN: r177720
2011-08-12Fix PR target/48328 part 1Ramana Radhakrishnan2-1/+7
From-SVN: r177705
2011-08-12data-streamer.h (streamer_write_zero): Rename from output_zero.Diego Novillo23-804/+848
* data-streamer.h (streamer_write_zero): Rename from output_zero. (streamer_write_uhwi): Rename from lto_output_uleb128. (streamer_write_hwi): Rename from output_sleb128. (streamer_write_string): Rename from lto_output_string. (streamer_string_index): Rename from lto_string_index. (streamer_write_string_with_length): Rename from lto_output_string_with_length. (streamer_write_uhwi_stream): Rename from lto_output_uleb128_stream. (streamer_write_hwi_stream): Rename from lto_output_sleb128_stream. (streamer_read_string): Rename from lto_input_string. (streamer_read_indexed_string): Rename from input_string_internal. (streamer_read_uhwi): Rename from lto_input_uleb128. (streamer_read_hwi): Rename from lto_input_sleb128. (streamer_write_hwi_in_range): Rename from lto_output_int_in_range. (streamer_read_hwi_in_range): Rename from lto_input_int_in_range. (streamer_write_enum): Rename from lto_output_enum. (streamer_read_enum): Rename from lto_input_enum. (streamer_write_record_start): Rename from output_record_start. (streamer_read_record_start): Rename from input_record_start. (streamer_write_bitpack): Rename from lto_output_bitpack. (streamer_read_bitpack): Rename from lto_input_bitpack. (streamer_write_char_stream): Rename from lto_output_1_stream. (streamer_read_uchar): Rename from lto_input_1_unsigned. * tree-streamer.h (streamer_cache_d): Rename from lto_streamer_cache_d. (streamer_handle_as_builtin_p): Rename from lto_stream_as_builtin_p. (streamer_read_string_cst): Rename from input_string_cst. (streamer_read_chain): Rename from lto_input_chain. (streamer_alloc_tree): Rename from lto_materialize_tree. (streamer_read_tree_body): Rename from lto_input_tree_pointers. (streamer_get_pickled_tree): Rename from lto_get_pickled_tree. (streamer_get_builtin_tree): Rename from lto_get_builtin_tree. (streamer_read_integer_cst): Rename from lto_input_integer_cst. (streamer_read_tree_bitfields): Rename from tree_read_bitfields. (streamer_write_chain): Rename from lto_output_chain. (streamer_write_tree_header): Rename from lto_output_tree_header. (streamer_pack_tree_bitfields): Rename from pack_value_fields. (streamer_write_tree_body): Rename from lto_output_tree_pointers. (streamer_write_integer_cst): Rename from lto_output_integer_cst. (streamer_write_builtin): Rename from lto_output_builtin_tree. (streamer_check_handled_ts_structures): Rename from check_handled_ts_structures. (streamer_tree_cache_insert): Rename from lto_streamer_cache_insert. (streamer_tree_cache_insert_at): Rename from lto_streamer_cache_insert_at. (streamer_tree_cache_append): Rename from lto_streamer_cache_append. (streamer_tree_cache_lookup): Rename from lto_streamer_cache_lookup. (streamer_tree_cache_get): Rename from lto_streamer_cache_get. (streamer_tree_cache_create): Rename from lto_streamer_cache_create. (streamer_tree_cache_delete): Rename from lto_streamer_cache_delete. * tree-streamer-out.c (write_string_cst): Rename from output_string_cst. (write_identifier): Rename from output_identifier. (write_ts_common_tree_pointers): Rename from lto_output_ts_common_tree_pointers. (write_ts_vector_tree_pointers): Rename from lto_output_ts_vector_tree_pointers. (write_ts_complex_tree_pointers): Rename from lto_output_ts_complex_tree_pointers. (write_ts_decl_minimal_tree_pointers): Rename from lto_output_ts_decl_minimal_tree_pointers. (write_ts_decl_common_tree_pointers): Rename from lto_output_ts_decl_common_tree_pointers. (write_ts_decl_non_common_tree_pointers): Rename from lto_output_ts_decl_non_common_tree_pointers. (write_ts_decl_with_vis_tree_pointers): Rename from lto_output_ts_decl_with_vis_tree_pointers. (write_ts_field_decl_tree_pointers): Rename from lto_output_ts_field_decl_tree_pointers. (write_ts_function_decl_tree_pointers): Rename from lto_output_ts_function_decl_tree_pointers. (write_ts_type_common_tree_pointers): Rename from lto_output_ts_type_common_tree_pointers. (write_ts_type_non_common_tree_pointers): Rename from lto_output_ts_type_non_common_tree_pointers. (write_ts_list_tree_pointers): Rename from lto_output_ts_list_tree_pointers. (write_ts_vec_tree_pointers): Rename from lto_output_ts_vec_tree_pointers. (write_ts_exp_tree_pointers): Rename from lto_output_ts_exp_tree_pointers. (write_ts_block_tree_pointers): Rename from lto_output_ts_block_tree_pointers. (write_ts_binfo_tree_pointers): Rename from lto_output_ts_binfo_tree_pointers. (write_ts_constructor_tree_pointers): Rename from lto_output_ts_constructor_tree_pointers. (write_ts_target_option): Rename from lto_output_ts_target_option. (write_ts_translation_unit_decl_tree_pointers): Rename from lto_output_ts_translation_unit_decl_tree_pointers. * tree-streamer.c (streamer_tree_cache_add_to_node_array): Rename from lto_streamer_cache_add_to_node_array. (streamer_tree_cache_insert_1): Rename from lto_streamer_cache_insert_1. (record_common_node): Rename from lto_record_common_node. * streamer-hooks.h (bitpack_d, lto_streamer_cache_d): Remove forward declarations. * data-streamer-in.c (lto_input_widest_uint_uleb128): Remove unused function. * data-streamer-out.c (lto_output_widest_uint_uleb128_stream): Remove unused function. * Makefile.in (lto-section-out.o): Add dependency on DATA_STREAMER_H. (ipa-reference.o): Likewise. * lto-section-out.c: Include data-streamer.h. * ipa-reference.c: Include data-streamer.h. From-SVN: r177704
2011-08-12builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern.Nick Clifton3-27/+29
* builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern. * doc/md.texi (cmpstrn): Note that the comparison stops if both fetched bytes are zero. (cmpstr): Likewise. (cmpmem): Note that the comparison does not stop if both of the fetched bytes are zero. From-SVN: r177701
2011-08-12builtins.def (BUILT_IN_ICEIL{,F,L}, [...]): New builtin definitions.Uros Bizjak8-8/+251
* builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L} BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions. * convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL, BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting to integer_type_node. * fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL, BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND. * builtins.c (expand_builtin_in): Ditto. (mathfn_built_in_1): Ditto. (expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and BUILT_IN_IFLOOR. (expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and BUILT_IN_IROUND. (fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL, BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets. testsuite/ChangeLog: * gcc.dg/builtins-67.c: New test. * gcc.target/i386/conversion.c: Ditto. From-SVN: r177694