- 10 Aug, 2007 2 commits
-
-
/cp 2007-08-10 Paolo Carlini <pcarlini@suse.de> PR c++/22256 * decl.c (check_special_function_return_type): Just error on return type specified for conversion operator. /testsuite 2007-08-10 Paolo Carlini <pcarlini@suse.de> PR c++/22256 * g++.dg/conversion/op3.C: New. From-SVN: r127331
Paolo Carlini committed -
From-SVN: r127329
GCC Administrator committed
-
- 09 Aug, 2007 14 commits
-
-
mips.opt (mhard-float, [...]): Make these control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI... 2007-08-09 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/mips/mips.opt (mhard-float, msoft-float): Make these control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI, rather than TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT. * config/mips/mips.h (mips16_hard_float): Delete. (TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI): Delete these definitions, and replace with.... (TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define. * config/mips/mips.c (mips16_hard_float): Delete. Replace all references with (TARGET_MIPS16 && TARGET_HARD_FLOAT_ABI). (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Update comments. (override_options): Replace MASK_SOFT_FLOAT references with MASK_SOFT_FLOAT_ABI. Delete twiddling with MASK_SOFT_FLOAT and mips16_hard_float when TARGET_MIPS16. From-SVN: r127325
Sandra Loosemore committed -
2007-08-09 Tobias Burnus <burnus@net-b.de> PR fortran/32987 * io.c (format_token): Add FMT_ERROR. (next_char_not_space): Print error/warning when '\t' are used in format specifications. (format_lex): Propagate error. (check_format): Ditto. 2007-08-09 Tobias Burnus <burnus@net-b.de> PR fortran/32987 * io/format.c (next_char): Treat '\t' as ' ' in format specification. 2007-08-09 Tobias Burnus <burnus@net-b.de> PR fortran/32987 * gfortran.dg/fmt_tab_1.f90: New. * gfortran.dg/fmt_tab_2.f90: New. From-SVN: r127324
Tobias Burnus committed -
re PR c/32796 (internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type, have pointer_type in int_fits_type_p) 2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c/32796 * c-typeck.c (build_binary_op): Check for non pointer types before calling int_fits_type_p. 2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c/32796 * gcc.c-torture/compile/pr32796.c: New test. From-SVN: r127323
Andrew Pinski committed -
re PR middle-end/32813 (ICE for array expression in empty if statement, compiled with -fbounds-check) 2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/32813 * fold-const.c (omit_one_operand): Return only the ommitted expression if the result is an empty statement. (pedantic_omit_one_operand): Likewise. 2007-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/32813 * gfortran.fortran-torture/compile/emptyif-1.f90: New test. * lib/fortran-torture.exp (fortran-torture): Use TORTURE_OPTIONS instead of just -O. From-SVN: r127322
Andrew Pinski committed -
2007-08-09 Tobias Burnus <burnus@net-b.de> PR fortran/33001 * arith.c (arith_error): Point in the error message to -fno-range-check. From-SVN: r127321
Tobias Burnus committed -
2007-08-09 Daniel Berlin <dberlin@dberlin.org> * c-typeck.c (readonly_error): Improve error for assignment. * c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus expression. (pp_c_expression): Ditto. 2007-08-09 Daniel Berlin <dberlin@dberlin.org> * typeck2.c (readonly_error): Handle general expressions. * error.c (dump_expr): Handle POINTER_PLUS_EXPR From-SVN: r127320
Daniel Berlin committed -
simplify-rtx.c (simplify_binary_operation_1): Removed erroneous break that was preventing simplify_associative_operation()... * simplify-rtx.c (simplify_binary_operation_1): Removed erroneous break that was preventing simplify_associative_operation() for xor. From-SVN: r127319
Simon Baldwin committed -
tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, [...]): Document change in interpretation of value from boolean to tri-state integer. 2007-08-09 Sandra Loosemore <sandra@codesourcery.com> Nigel Stephens <nigel@mips.com> gcc/ * doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO): Document change in interpretation of value from boolean to tri-state integer. * optabs.c (expand_ffs, expand_ctz): New functions to compute ffs and ctz using clz. (expand_unop): Call them. * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its result value. (CTZ_DEFINED_VALUE_AT_ZERO): Likewise. * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to enable the new ffs expansion on this target. Co-Authored-By: Nigel Stephens <nigel@mips.com> From-SVN: r127318
Sandra Loosemore committed -
* optabs.c (expand_widen_pattern_expr): Use optabs accestors. (expand_ternary_op): Likewise. (expand_vec_shift_expr): Likewise. (expand_binop_directly): Likewise. (expand_binop): Likewise. (sign_expand_binop): Likewise. (expand_twoval_unop): Likewise. (expand_twoval_binop): Likewise. (expand_twoval_binop_libfunc): Likewise. (widen_clz): Likewise. (widen_bswap): Likewise. (expand_parity): Likewise. (expand_unop): Likewise. (expand_abs_nojump): Likewise. (expand_copysign): Likewise. (emit_no_conflict_block): Likewise. (emit_libcall_block): Likewise. (can_compare_p): Likewise. (prepare_cmp_insn): Likewise. (emit_cmp_and_jump_insn_1): Likewise. (prepare_float_lib_cmp): Likewise. (emit_conditional_add): Likewise. (gen_add2_insn): Likewise. (have_add2_insn): Likewise. (gen_sub2_insn): Likewise. (have_sub2_insn): Likewise. (can_extend_p): Likewise. (can_fix_p): Likewise. (can_float_p): Likewise. (expand_float): Likewise. (expand_fix): Likewise. (expand_sfix_optab): Likewise. (new_optab): Likewise. (new_convert_optab): Likewise. (init_libfuncs): Likewise. (init_interclass_conv_libfuncs): Likewise. (init_intraclass_conv_libfuncs): Likewise. (set_conv_libfunc): Likewise. (init_optabs): Likewise. (debug_optab_libfuncs): Likewise. (gen_cond_trap): Likewise. * optabs.h (optab_handler, convert_optab_hanlder): New. * genopinit.c: Update optabs generation table. * reload.c (find_reloads_address_1): Use optabs accestors. * builtins.c (expand_builtin_mathfn): Likewise. (expand_builtin_mathfn_2): Likewise. (expand_builtin_mathfn_3): Likewise. (expand_builtin_interclass_mathfn): Likewise. (expand_builtin_sincos): Likewise. (expand_builtin_cexpi): Likewise. (expand_builtin_powi): Likewise. (expand_builtin_strlen): Likewise. * dojump.c (do_jump): Likewise. * expr.c (convert_move): Likewise. (move_by_pieces): Likewise. (move_by_pieces_ninsns): Likewise. (can_store_by_pieces): Likewise. (store_by_pieces_1): Likewise. (emit_move_via_integer): Likewise. (emit_move_complex): Likewise. (emit_move_ccmode): Likewise. (emit_move_insn_1): Likewise. (emit_single_push_insn): Likewise. (store_constructor): Likewise. (expand_expr_real_1): Likewise. (do_store_flag): Likewise. * ada/misc.c (gnat_compute_largest_alignment): Likewise. (enumerate_modes): Likewise. * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. (supportable_widening_operation): Likewise. (supportable_narrowing_operation): Likewise. * expmed.c (store_bit_field_1): Likewise. (extract_bit_field_1): Likewise. (expand_mult_highpart_optab): Likewise. (expand_smod_pow2): Likewise. (expand_divmod): Likewise. (emit_store_flag): Likewise. * tree-vect-patterns.c (vect_pattern_recog_1): Likewise. * tree-ssa-loop-prefetch.c (nontemporal_store_p): Likewise. * tree-vect-transform.c (vect_model_reduction_cost): Likewise. (vect_create_epilog_for_reduction): Likewise. (vectorizable_reduction): Likewise. (vectorizable_operation): Likewise. (vect_strided_store_supported): Likewise. (vectorizable_store): Likewise. (vect_strided_load_supported): Likewise. (vectorizable_load): Likewise. * combine.c (simplify_comparison): Likewise. * tree-vect-generic.c (type_for_widest_vector_mode): Likewise. (expand_vector_operations_1): Likewise. * config/spu/spu.c (spu_expand_mov): Likewise. (spu_emit_vector_compare): Likewise. * config/rs6000/rs6000.c (rs6000_emit_vector_compare): Likewise. * stmt.c (add_case_node): Likewise. * reload1.c (gen_reload): From-SVN: r127317
Jan Hubicka committed -
* tree.h (fixed_zerop): Declare as taking a const_tree. * tree.c (fixed_zerop): Take a const_tree. From-SVN: r127316
Michael Matz committed -
tree-vect-transform.c (vectorizable_store): Remove call to copy_virtual_operands() and call mark_symbols_for_renaming() for... * tree-vect-transform.c (vectorizable_store): Remove call to copy_virtual_operands() and call mark_symbols_for_renaming() for the created vector store. (vect_setup_realignment): Don't call copy_virtual_operands() and update_vuses_to_preheader(). (vectorizable_load): Don't call copy_virtual_operands(). (update_vuses_to_preheader): Remove. From-SVN: r127315
Ira Rosen committed -
* testsuite/lib/libjava.exp (libjava_invoke): Log the invocation. From-SVN: r127314
Andrew Haley committed -
* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition. * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type specifiers. * testsuite/libffi.call/nested_struct1.c (main): Ditto. * testsuite/libffi.call/cls_sint.c (main): Ditto. * testsuite/libffi.call/nested_struct9.c (main): Ditto. * testsuite/libffi.call/cls_20byte1.c (main): Ditto. * testsuite/libffi.call/cls_9byte1.c (main): Ditto. * testsuite/libffi.call/closure_fn1.c (main): Ditto. * testsuite/libffi.call/closure_fn3.c (main): Ditto. * testsuite/libffi.call/return_dbl2.c (main): Ditto. * testsuite/libffi.call/cls_sshort.c (main): Ditto. * testsuite/libffi.call/return_fl3.c (main): Ditto. * testsuite/libffi.call/closure_fn5.c (main): Ditto. * testsuite/libffi.call/nested_struct.c (main): Ditto. * testsuite/libffi.call/nested_struct10.c (main): Ditto. * testsuite/libffi.call/return_ll1.c (main): Ditto. * testsuite/libffi.call/cls_8byte.c (main): Ditto. * testsuite/libffi.call/cls_align_uint32.c (main): Ditto. * testsuite/libffi.call/cls_align_sint16.c (main): Ditto. * testsuite/libffi.call/cls_20byte.c (main): Ditto. * testsuite/libffi.call/nested_struct2.c (main): Ditto. * testsuite/libffi.call/cls_24byte.c (main): Ditto. * testsuite/libffi.call/nested_struct6.c (main): Ditto. * testsuite/libffi.call/cls_uint.c (main): Ditto. * testsuite/libffi.call/cls_12byte.c (main): Ditto. * testsuite/libffi.call/cls_16byte.c (main): Ditto. * testsuite/libffi.call/closure_fn0.c (main): Ditto. * testsuite/libffi.call/cls_9byte2.c (main): Ditto. * testsuite/libffi.call/closure_fn2.c (main): Ditto. * testsuite/libffi.call/return_dbl1.c (main): Ditto. * testsuite/libffi.call/closure_fn4.c (main): Ditto. * testsuite/libffi.call/closure_fn6.c (main): Ditto. * testsuite/libffi.call/cls_align_sint32.c (main): Ditto. From-SVN: r127312
David Daney committed -
From-SVN: r127310
GCC Administrator committed
-
- 08 Aug, 2007 17 commits
-
-
PR fortran/32902 * intrinsic.texi (SIZEOF): Add mention to C_SIZE_T. From-SVN: r127307
Francois-Xavier Coudert committed -
* tree.def (FIXED_POINT_TYPE): New type. (FIXED_CST): New constant. (FIXED_CONVERT_EXPR): New expr. * doc/c-tree.texi (Types): Document FIXED_POINT_TYPE. (Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR. * tree.h (struct tree_base): Add saturating_flag. Remove one bit of spare for saturating_flag. (NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE. (NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P, FIXED_POINT_TYPE_P): Define. (TYPE_SATURATING): Define. (TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define. (struct tree_fixed_cst): New. (TYPE_IBIT, TYPE_FBIT): Define. (tree_node): Add fixed_cst. (enum tree_index): Add new enumeration values of TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE, TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE, TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE, TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE, TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE, TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE, TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE, TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE, TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE, TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE, TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE, TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE, TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE, TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE, TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE, TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE, TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE, TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE. (sat_short_fract_type_node, sat_fract_type_node, sat_long_fract_type_node, sat_long_long_fract_type_node, sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node, sat_unsigned_long_fract_type_node, sat_unsigned_long_long_fract_type_node, short_fract_type_node, fract_type_node, long_fract_type_node, long_long_fract_type_node, unsigned_short_fract_type_node, unsigned_fract_type_node, unsigned_long_fract_type_node, unsigned_long_long_fract_type_node, sat_short_accum_type_node, sat_accum_type_node, sat_long_accum_type_node, sat_long_long_accum_type_node, sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node, sat_unsigned_long_accum_type_node, sat_unsigned_long_long_accum_type_node, short_accum_type_node, accum_type_node, long_accum_type_node, long_long_accum_type_node, unsigned_short_accum_type_node, unsigned_accum_type_node, unsigned_long_accum_type_node, unsigned_long_long_accum_type_node, qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node, uqq_type_node, uhq_type_node, usq_type_node, udq_type_node, utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node, sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node, sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node, sat_utq_type_node, ha_type_node, sa_type_node, da_type_node, ta_type_node, uha_type_node, usa_type_node, uda_type_node, uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node, sat_ta_type_node, sat_uha_type_node, sat_usa_type_node, sat_uda_type_node, sat_uta_type_node): New macro. (make_fract_type, make_accum_type): Declare. (make_signed_fract_type, make_unsigned_fract_type, make_sat_signed_fract_type, make_sat_unsigned_fract_type, make_signed_accum_type, make_unsigned_accum_type, make_sat_signed_accum_type, make_sat_unsigned_accum_type, make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type, make_or_reuse_sat_signed_fract_type, make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type, make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type, make_or_reuse_sat_unsigned_accum_type): New macro. (fixed_zerop): Declare. * defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE, SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE, LONG_LONG_ACCUM_TYPE_SIZE): Define. * treestruct.def: Add TS_FIXED_CST. * Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h. (tree.o): Likewise. (tree-dump.o): Likewise. (print-tree.o): Likewise. (tree-pretty-print.o): Likewise. (fold-const.o): Likewise. * tree-complex.c (some_nonzerop): Handle FIXED_CST. * tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST. (is_gimple_min_invariant): Handle FIXED_CST. * stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. (layout_type): Handle FIXED_POINT_TYPE. (make_fract_type, make_accum_type): New functions. * tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE. * tree-dump.c (fixed-value.h): New include. (dump_fixed): New function. (dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST. * tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE. (estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR. * tree-pretty-print.c (fixed-value.h): New include. (dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and FIXED_CONVERT_EXPR. * tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST. * tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST. * tree-ssa-pre.c (poolify_tree): Handle FIXED_CST. * tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation for non-saturating fixed-point types. (reassociate_bb): Likewise. * emit-rtl.c (fixed-value.h): New include. (fconst0, fconst1): New array. (init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes. * tree-vect-generic.c expand_vector_operation): Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and MODE_VECTOR_UACCUM. (type_for_widest_vector_mode): Add one parameter for the saturating flag. Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their vector mode. Pass the satp parameter to type_for_mode for fixed-point types. (expand_vector_operations_1): Pass the saturating flag to type_for_widest_vector_mode. Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and MODE_VECTOR_UACCUM. * tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST. (vectorizable_condition): Likewise. * tree.c (fixed-value.h): New include. (tree_code_size): Support FIXED_CST. (build_fixed): New function. (build_one_cst): Support FIXED_POINT_TYPE for accum types. (fixed_zerop): New function. (tree_node_structure): Support FIXED_CST. (type_contains_placeholder_1): Support FIXED_POINT_TYPE. (build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE. (type_hash_eq): Handle FIXED_POINT_TYPE. (simple_cst_equal): Support FIXED_CST. (iterative_hash_expr): Handle FIXED_CST. (get_unwidened): Make sure type is not FIXED_POINT_TYPE. (get_narrower): Likewise. (variably_modified_type_p): Handle FIXED_POINT_TYPE. (make_or_reuse_fract_type, make_or_reuse_accum_type): New functions. (build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and MAKE_FIXED_MODE_NODE macros to initialize fixed-point type nodes. (build_vector_type_for_mode): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM. (initializer_zerop): Support FIXED_CST. (walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE. * dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE. (is_base_type): Handle FIXED_POINT_TYPE. (add_type_attribute): Handle FIXED_POINT_TYPE. (gen_type_die_with_usage): Handle FIXED_POINT_TYPE. * print-tree.c (fixed-value.h): New include. (print_node_brief): Support FIXED_CST. (print_node): Support FIXED_POINT_TYPE and FIXED_CST. * c-pretty-print.c (fixed-value.h): New include. (pp_c_type_specifier): Handle FIXED_POINT_TYPE. Need to pass TYPE_SATURATING to c_common_type_for_mode for fixed-point modes. (pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE. Support fixed-point types for inner items in VECTOR_TYPE. (pp_c_direct_declarator): Likewise. (pp_c_declarator): Likewise. (pp_c_fixed_constant): New function. (pp_c_constant): Handle FIXED_CST. (pp_c_primary_expression): Likewise. (pp_c_expression): Likewise. * fold-const.c (fixed-value.h): New include. (negate_expr_p): Return true for FIXED_CST. (fold_negate_expr): Support FIXED_CST. (split_tree): Support FIXED_CST. (const_binop): Support FIXED_CST. (fold_convert_const_int_from_fixed): New function to convert from fixed to int. (fold_convert_const_real_from_fixed): New function to convert from fixed to real. (fold_convert_const_fixed_from_fixed): New function to convert from fixed to another fixed. (fold_convert_const_fixed_from_int): New function to convert from int to fixed. (fold_convert_const_fixed_from_real): New function to convert from real to fixed. (fold_convert_const): Support conversions from fixed to int, from fixed to real, from fixed to fixed, from int to fixed, and from real to fixed. (fold_convert): Support FIXED_CST and FIXED_POINT_TYPE. (operand_equal_p): Support FIXED_CST. (make_range): For fixed-point modes, we need to pass the saturating flag as the 2nd parameter. (tree_swap_operands_p): Handle FIXED_CST. (fold_plusminus_mult_expr): For fract modes, we cannot generate constant 1. (fold_unary): Support FIXED_CONVERT_EXPR. (fold_binary): Handle FIXED_CST. Make sure the type is not saturating, before associating operations. Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2). (tree_expr_nonnegative_warnv_p): Handle FIXED_CST. (fold_negate_const): Support FIXED_CST. (fold_relational_const): Support FIXED_CST. * gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE. (gimplify_expr): Handle FIXED_CST. (gimplify_type_sizes): Handle FIXED_POINT_TYPE. * ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST. * ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE. * doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE, SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE, LONG_LONG_ACCUM_TYPE_SIZE. * dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE. * c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE. * tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE. * expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM. * tree-vectorizer.c (vect_is_simple_reduction): Check for saturating fixed-point types to disable reduction. * explow.c (promote_mode): Support FIXED_POINT_TYPE. From-SVN: r127306
Chao-ying Fu committed -
2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org> * java/net/natVMInetAddressPosix.cc (java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]: Allocate buffer dynamically. From-SVN: r127305
Samuel Thibault committed -
* config/rs6000/x-rs6000: New file. * config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu. * config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu. (EXTRA_SPEC_FUNCTIONS): Define. (HAVE_LOCAL_CPU_DETECT): Define. (CC1_CPU_SPEC): Define. * config/rs6000/driver-rs6000.c: New file. * config/rs6000/aix.h (CC1_SPEC): Define. * config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu. * config.host: Add x-rs6000 to host_xmake_file if host and target are rs6000 or powerpc. From-SVN: r127304
David Edelsohn committed -
2007-08-08 Paolo Bonzini <paolo.bonzini@lu.unisi.ch> * config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=. From-SVN: r127301
Paolo Bonzini committed -
gcc/ 2007-08-08 Richard Sandiford <richard@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> Chao-ying Fu <fu@mips.com> Nigel Stephens <nigel@mips.com> David Ung <davidu@mips.com> * doc/invoke.texi (-mcode-readable): Document. * config/mips/mips.opt (mcode-readable): New option. * config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type. * config/mips/mips.h (mips_code_readable_setting): New enum. (mips_code_readable): Declare. (TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros. (TARGET_MIPS16_SHORT_JUMP_TABLES): New macro. (JUMP_TABLES_IN_TEXT_SECTION): Use it. (CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise. Remove boiler-plate comments. (ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES. * config/mips/mips.c (mips_code_readable): New variable. (mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES. Use both the context and -mcode-readable setting to restrict the use of SYMBOL_PC_RELATIVE for MIPS16 constant pool references. Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed. (mips_symbolic_constant_p): Handle SYMBOL_32_HIGH. (mips_blocks_for_constant_p): Only return false for TARGET_MIPS16_PCREL_LOADS. (mips_symbol_insns_1): Treat HIGHs as 2 extended instructions for MIPS16. Handle SYMBOL_32_HIGH. (mips_const_insns): Allow HIGHs for MIPS16 too. (mips_unspec_address_offset): New function, split out from... (mips_unspec_address): ...here. (mips_output_move): Handle MIPS16 HIGH moves. Use "li" to load 16-bit symbolic constants. Assert approropiate conditions for using the "la" and "dla" macros. (mips_handle_option): Handle -mcode-readable=. (override_options): Use %hi/%lo relocations for TARGET_MIPS16 too. Set up mips_lo_relocs[SYMBOL_32_HIGH]. (mips_strip_unspec_address): New function, split out from... (print_operand_reloc): ...here. (print_operand): Pass constants through mips_strip_unspec_address. (print_operand_address): Likewise. (mips_output_mi_thunk): Remove guard of mips16_lay_out_constants. (mips_select_rtx_section): Remove MIPS16 handling. (mips16_gp_pseudo_reg): Check currently_expanding_to_rtl. (mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC. (mips16_lay_out_constants): Do nothing unless TARGET_MIPS16_PCREL_LOADS. (mips_avoid_hazards): Remove guard of mips16_lay_out_constants. * config/mips/mips.md: Split HIGHs for MIPS16. (tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES. gcc/testsuite/ * gcc.target/mips/code-readable-1.c: New test. * gcc.target/mips/code-readable-2.c: Likewise. * gcc.target/mips/code-readable-3.c: Likewise. Co-Authored-By: Chao-ying Fu <fu@mips.com> Co-Authored-By: David Ung <davidu@mips.com> Co-Authored-By: Nigel Stephens <nigel@mips.com> Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r127300
Richard Sandiford committed -
gcc/ * config/mips/mips-protos.h (mips_emit_move): Declare. * config/mips/mips.c (mips_emit_move): New function. (mips_force_temporary): Use mips_emit_move instead of emit_move_insn. (mips_legitimize_const_move): Likewise. (mips_legitimize_move): Likewise. (mips_split_64bit_move): Likewise. (mips_restore_gp): Likewise. (mips_load_call_address): Likewise. (mips_emit_fcc_reload): Likewise. (mips_set_return_address): Likewise. (mips_block_move_straight): Likewise. (mips_block_move_loop): Likewise. (mips_setup_incoming_varargs): Likewise. (mips_save_reg): Likewise. (mips_expand_prologue): Likewise. (mips_restore_reg): Likewise. (mips_expand_epilogue): Likewise. (mips_output_mi_thunk): Likewise. (build_mips16_call_stub): Likewise. (mips_builtin_branch_and_move): Likewise. * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise. * config/mips/mips.md (fixuns_truncdfsi2): Likewise. (fixuns_truncdfdi2): Likewise. (fixuns_truncsfsi2): Likewise. (fixuns_truncsfdi2): Likewise. (loadgp_absolute): Likewise. (builtin_setjmp_setup): Likewise. (builtin_longjmp): Likewise. (untyped_call): Likewise. From-SVN: r127299
Richard Sandiford committed -
gcc/ * config/mips/mips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument. Return a bool. * config/mips/mips.c (mips_split_symbol): Accept arbitrary source values and return true if they can be split. Take the same kind of mode argument as mips_symbol_insns. Add a "lo_sum_out" parameter and store the lo_sum there if nonnull. Use the symbol type to determine whether a $gp or HIGH is needed. (mips_legitimize_address): Update call to mips_split_symbol and simplify accordingly. (mips_legitimize_const_move): Likewise. * config/mips/mips.md: In the combine define_split, check mips_split_symbol instead of splittable_symbolic_operand. Update use of mips_split_symbol in the generator code. * config/mips/predicates.md (splittable_symbolic_operand): Delete. From-SVN: r127298
Richard Sandiford committed -
gcc/ * config/mips/mips.c (mips_symbolic_address_p): Delete. (mips_symbol_insns_1): New function, split out from... (mips_symbol_insns): ...here. Take a mode argument. Treat loads and stores separately from load addresses. (mips_classify_address): Replace uses of mips_symbolic_address_p with uses of mips_symbol_insns. (mips_address_insns): Update calls to mips_symbol_insns. (mips_const_insns): Likewise. (mips_legitimize_address): Likewise. From-SVN: r127297
Richard Sandiford committed -
gcc/ * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type. * config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS. Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for non-call contexts if TARGET_MIPS16. (mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM. (mips_symbolic_address_p): Likewise. Remove special TARGET_MIPS16 code for SYMBOL_ABSOLUTE. (mips_symbol_insns): Likewise. From-SVN: r127296
Richard Sandiford committed -
gcc/ * config/mips/mips-protos.h (mips_symbol_context): New enumeration. * config/mips/mips.c (mips_classify_symbol): Take a context argument. (mips_symbolic_constant_p): Likewise. Update the call to mips_classify_symbol. (mips_classify_address): Update the calls to mips_symbolic_constant_p. (mips_const_insns): Likewise. Update the call to mips_classify_symbol. (mips_legitimize_address): Update the call to mips_symbolic_constant_p. (print_operand_reloc): Add a context argument. Update the call to mips_symbolic_constant_p. (print_operand): Update the calls to print_operand_reloc. (print_operand_address): Use print_operand_reloc rather than print_operand. (mips_rewrite_small_data_p): Add a context argument. Update the call to mips_symbolic_constant_p. (mips_small_data_pattern_1): Make DATA the containing mem. Update the call to mips_rewrite_small_data_p. (mips_rewrite_small_data_1): Likewise. (mips_use_anchors_for_symbol_p): Update the call to mips_symbolic_constant_p. * config/mips/predicates.md (const_call_insn_operand): Likewise. (splittable_symbolic_operand): Likewise. (move_operand): Likewise. (absolute_symbolic_operand): Likewise. (got_disp_operand): Likewise. (got_page_ofst_operand): Likewise. From-SVN: r127295
Richard Sandiford committed -
gcc/ * config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to... (SYMBOL_ABSOLUTE): ...this. (SYMBOL_SMALL_DATA): Rename to... (SYMBOL_GP_RELATIVE): ...this. (SYMBOL_CONSTANT_POOL): Rename to... (SYMBOL_PC_RELATIVE): ...this. * config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p) (mips_symbolic_address_p, mips_symbol_insns, override_options) (mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update after above changes. * config/mips/predicates.md (const_call_insn_operand): Likewise. (general_symbolic_operand): Rename to... (absolute_symbolic_operand): ...this. * config/mips/mips.md: Update after above changes. From-SVN: r127294
Richard Sandiford committed -
Co-Authored-By: Revital Eres <eres@il.ibm.com> From-SVN: r127293
Vladimir Yanovsky committed -
2007-07-31 Dalibor Topic <robilad@kaffe.org> PR 32844 * java/util/EnumSet.java: Made class abstract per API spec. (size, iterator, add, addAll, clear, contains, containsAll, remove, removeAll, retainAll) Moved into an anonymous inner class in of(T). (allOf, noneOf, copyOf, of, range) Made more implementation independent. (of(T)) return an instance of an anonymous class implementing EmptySet. From-SVN: r127291
Dalibor Topic committed -
2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org> * gcc/config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add -profile option, add pie support. (ENDFILE_SPEC): New spec. * gcc/config/gnu.h (LIB_SPEC): Add -profile option. From-SVN: r127290
Samuel Thibault committed -
2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org> * gcc/config/i386/gnu.h (CPP_SPEC): Add -pthread option. * gcc/config/gnu.h (LIB_SPEC): Likewise. From-SVN: r127289
Samuel Thibault committed -
From-SVN: r127287
GCC Administrator committed
-
- 07 Aug, 2007 7 commits
-
-
./: * common.opt (finstrument-functions-exclude-function-list): New option. (finstrument-functions-exclude-file-list): New option. * opts.c (char_p): Define and DEF_VEC. (flag_instrument_functions_exclude_functions): New static variable. (flag_instrument_functions_exclude_files): New static variable. (add_instrument_functions_exclude_list): New static function. (flag_instrument_functions_exclude_p): New function. (common_handle_option): Handle new options. * flags.h (flag_instrument_functions_exclude_p): Declare. * gimplify.c (gimplify_function_tree): Call flag_instrument_functions_exclude_p. * doc/invoke.texi (Option Summary): Mention new options. (Code Gen Options): Document new options. testsuite/: * gcc.dg/instrument-1.c: New test. * gcc.dg/instrument-2.c: New test. * gcc.dg/instrument-3.c: New test. From-SVN: r127284
Ian Lance Taylor committed -
re PR rtl-optimization/32776 (ICE RTL check: expected code 'reg', have 'concatn' in rhs_regno, at rtl.h:972) PR rtl-optimization/32776 * lower-subreg.c (resolve_clobber): Call resolve_reg_notes. (resolve_use): Likewise. (decompose_multiword_subregs): Remove "changed" local variable. From-SVN: r127282
Ian Lance Taylor committed -
From-SVN: r127281
Steve Ellcey committed -
Makefile.am (libstdc++-symbol.ver): Make sure the build tree copy of libstdc++-symbol.ver is writeable. * src/Makefile.am (libstdc++-symbol.ver): Make sure the build tree copy of libstdc++-symbol.ver is writeable. * src/Makefile.in: Regenerated. From-SVN: r127279
Jim Blandy committed -
* gcc.dg/vect/vect-28.c: Fix test to not expect peeling on !vector_alignment_reachable targets. * gcc.dg/vect/vect-33.c: Likewise. * gcc.dg/vect/vect-42.c: Likewise. * gcc.dg/vect/vect-44.c: Likewise. * gcc.dg/vect/vect-50.c: Likewise. * gcc.dg/vect/vect-70.c: Likewise. * gcc.dg/vect/vect-71.c: Likewise. * gcc.dg/vect/vect-87.c: Likewise. * gcc.dg/vect/vect-88.c: Likewise. * gcc.dg/vect/vect-91.c: Likewise. * gcc.dg/vect/vect-93.c: Likewise. * gcc.dg/vect/vect-96.c: Likewise. * gcc.dg/vect/no-section-anchors-69.c: Likewise. * gcc.dg/vect/section-anchors-69.c: Likewise. * gcc.dg/vect/pr25413.c: Likewise. * gcc.dg/vect/costmodel/ppc/costmodel-33.c: Likewise. * gcc.dg/vect/costmodel/ppc/costmodel-76b.c: Likewise. * gfortran.dg/vect-2.f90: Likewise. * gfortran.dg/vect-3.f90: Likewise. * gfortran.dg/vect-4.f90: Likewise. * gfortran.dg/vect-5.f90: Likewise. * lib/target-supports.exp (check_effective_target_natural_alignment): Return false for darwin. (check_effective_target_vector_alignment_reachable_for_double): New. From-SVN: r127276
Dorit Nuzman committed -
2007-08-07 Carlos O'Donell <carlos@codesourcery.com> * configure.ac: Define HAVE_GNU_AS if $gas_flag is yes. * configure: Regenerate. * config.in: Regenerate. * gcc.c [HAVE_GNU_AS]: Add "%{v} %{w:-W} %{I*} " to asm_options spec string. From-SVN: r127275
Carlos O'Donell committed -
* lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL note, just delete the insn. From-SVN: r127273
Ian Lance Taylor committed
-