- 07 May, 2012 5 commits
-
-
2012-05-07 Richard Guenther <rguenther@suse.de> PR lto/42987 * g++.dg/lto/pr42987_0.C: New testcase. * g++.dg/lto/pr42987_1.C: Likewise. From-SVN: r187231
Richard Guenther committed -
* config/sol2.c (solaris_override_options): New function. * config/sol2-protos.h (solaris_override_options): Declare. * config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define. From-SVN: r187230
Rainer Orth committed -
tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return whether we failed to compute data dependences. 2012-05-07 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return whether we failed to compute data dependences. (loop_prefetch_arrays): Fail if we failed. From-SVN: r187227
Richard Guenther committed -
re PR fortran/53255 ([OOP] With TYPE, wrong type-bound operator used: of parent instead of overridden one) 2012-05-07 Tobias Burnus <burnus@net-b.de> PR fortran/53255 * resolve.c (resolve_typebound_static): Fix handling of overridden specific to generic operator. 2012-05-07 Tobias Burnus <burnus@net-b.de> PR fortran/53255 * gfortran.dg/typebound_operator_15.f90: New. From-SVN: r187226
Tobias Burnus committed -
From-SVN: r187223
GCC Administrator committed
-
- 06 May, 2012 14 commits
-
-
* config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI. Emit bsf when optimizing for size. (*ffs<mode>_1): Ditto. Co-Authored-By: Paolo Bonzini <bonzini@gnu.org> From-SVN: r187219
Uros Bizjak committed -
PR target/53250 * config/sh/sh.c (sh_rtx_costs): Handle SET. From-SVN: r187218
Oleg Endo committed -
PR target/53227 * config/i386/i386.md (swap<mode>): Rename from *swap<mode>. (bswapdi2): Split from bswap<mode>2. Use nonnimediate_operand predicate for operand 1. Force operand 1 to register for TARGET_BSWAP. (bswapsi2): Ditto. (*bswapdi2_doubleword): New insn pattern. (*bswap<mode>2): Rename from *bswap<mode>2_1. From-SVN: r187215
Uros Bizjak committed -
2012-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/41587 * decl.c (build_struct): Don't ignore FAILED status. 2012-05-06 Tobias Burnus <burnus@net-b.de> PR fortran/41587 * gfortran.dg/class_array_13.f90: New. From-SVN: r187214
Tobias Burnus committed -
gcc/ * config/mips/mips.c (mips_set_reg_reg_piece_cost): New function. (mips_set_reg_reg_cost): Likewise. (mips_rtx_costs): Handle SET. From-SVN: r187213
Richard Sandiford committed -
gcc/ * lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET. (compute_costs): Likewise for the zero extension. Use set_rtx_cost to compute the cost of moves. Set the mode of the target register. From-SVN: r187212
Richard Sandiford committed -
2012-05-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53152 * call.c (op_error, build_new_op_1, build_new_op): Add location_t parameter. (build_conditional_expr_1): Adjust. * typeck.c (build_x_indirect_ref, build_x_binary_op, build_x_unary_op): Add location_t parameter. (rationalize_conditional_expr, build_x_array_ref, build_x_compound_expr, cp_build_modify_expr, build_x_modify_expr): Adjust. * typeck2.c (build_x_arrow): Add location_t parameter. * semantics.c (finish_unary_op_expr): Likewise. (finish_increment_expr, handle_omp_for_class_iterator): Adjust. * decl2.c (grok_array_decl): Add location_t parameter. * parser.c (cp_parser_postfix_open_square_expression, cp_parser_postfix_dot_deref_expression, cp_parser_unary_expression, cp_parser_binary_expression, cp_parser_builtin_offsetof, do_range_for_auto_deduction, cp_convert_range_for, cp_parser_template_argument, cp_parser_omp_for_cond): Pass the location, adjust. * pt.c (tsubst_copy_and_build): Adjust. * tree.c (maybe_dummy_object): Likewise. * cp-tree.h: Update declarations. From-SVN: r187211
Paolo Carlini committed -
From-SVN: r187210
Tristan Gingold committed -
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming case, use the padded type if the renamed object has an unconstrained type with default discriminant. From-SVN: r187209
Eric Botcazou committed -
* gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant conditions with only one bound. (Raise_Error_to_gnu): Likewise. New function extracted from... (gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function in regular mode only. From-SVN: r187208
Eric Botcazou committed -
From-SVN: r187207
Eric Botcazou committed -
* gcc-interface/gigi.h (make_packable_type): Declare. (make_type_from_size): Likewise. (relate_alias_sets): Likewise. (maybe_pad_type): Adjust. (init_gnat_to_gnu): Delete. (destroy_gnat_to_gnu): Likewise. (init_dummy_type): Likewise. (destroy_dummy_type): Likewise. (init_gnat_utils): Declare. (destroy_gnat_utils): Likewise. (ceil_pow2): New inline function. * gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2. <object>: Pass True for the final processing of alignment and size. <E_Subprogram_Type>: Only create the TYPE_DECL for a padded return type if necessary. (round_up_to_align): Delete. (ceil_alignment): Likewise. (relate_alias_sets): Move to... (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. (make_type_from_size): Likewise. * gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete. (struct pad_type_hash): New type. (pad_type_hash_table): New static variable. (init_gnat_to_gnu): Merge into... (init_dummy_type): Likewise. (init_gnat_utils): ...this. New function. (destroy_gnat_to_gnu): Merge into... (destroy_dummy_type): Likewise. (destroy_gnat_utils): ...this. New function. (pad_type_hash_marked_p): New function. (pad_type_hash_hash): Likewise. (pad_type_hash_eq): Likewise. (relate_alias_sets): ...here. (make_aligning_type): Likewise. (make_packable_type): Likewise. (maybe_pad_type): Likewise. Change same_rm_size parameter into set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it is complete and has constant size, canonicalize it. Bail out earlier if a warning need not be issued. (make_type_from_size): Likewise. <INTEGER_TYPE>: Bail out if size is too large (gnat_types_compatible_p): Do not deal with padded types. (convert): Compare main variants for padded types. * gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils. (gnat_to_gnu): Do not convert at the end for a call to a function that returns an unconstrained type with default discriminant. (Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects. * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise. Do not use the padded type if it is BLKmode and the inner type is non-BLKmode. From-SVN: r187206
Eric Botcazou committed -
From-SVN: r187204
Eric Botcazou committed -
From-SVN: r187203
GCC Administrator committed
-
- 05 May, 2012 7 commits
-
-
gcc/ * rtl.h (plus_constant, plus_constant_mode): Merge into a single plus_constant function. * explow.c (plus_constant, plus_constant_mode): Likewise. Assert that the mode is sensible. (use_anchored_address, round_push, allocate_dynamic_stack_space) (probe_stack_range, anti_adjust_stack_and_probe): Update calls to plus_constant. * alias.c (canon_rtx): Likewise. (init_alias_analysis): Likewise. * builtins.c (expand_builtin_return_addr) (expand_builtin_setjmp_setup, expand_builtin_longjmp) (expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf) (expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr) (expand_builtin_stpcpy): Likewise. * calls.c (save_fixed_argument_area, restore_fixed_argument_area) (compute_argument_addresses, internal_arg_pointer_based_exp) (expand_call, emit_library_call_value_1): Likewise. * cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise. * combine-stack-adj.c (try_apply_stack_adjustment): Likewise. * combine.c (combine_simplify_rtx, force_to_mode): Likewise. * cse.c (insert_const_anchor, find_reg_offset_for_const) (use_related_value, fold_rtx): Likewise. * cselib.c (cselib_subst_to_values): Likewise. * dse.c (record_store, check_mem_read_rtx): Likewise. * dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise. * emit-rtl.c (adjust_address_1): Likewise. * except.c (sjlj_emit_function_enter) (expand_builtin_extract_return_addr) (expand_builtin_frob_return_addr): Likewise. * expmed.c (expand_divmod): Likewise. * expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1) (emit_move_resolve_push, push_block, emit_push_insn, store_expr) (expand_expr_addr_expr_1, expand_expr_real_1): Likewise. * function.c (assign_stack_local_1) (instantiate_virtual_regs_in_rtx): Likewise. * optabs.c (prepare_cmp_insn): Likewise. * recog.c (offsettable_address_addr_space_p): Likewise. * reload.c (find_reloads_address, form_sum) (find_reloads_subreg_address): Likewise. * reload1.c (init_reload, eliminate_regs_1) (eliminate_regs_in_insn): Likewise. * simplify-rtx.c (simplify_unary_operation_1) (simplify_binary_operation_1, simplify_plus_minus): Likewise. * var-tracking.c (compute_cfa_pointer, prepare_call_arguments) (vt_add_function_parameter): Likewise. * config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise. * config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise. * config/alpha/alpha.c (alpha_legitimize_address_1) (get_unaligned_address, alpha_expand_unaligned_load) (alpha_expand_unaligned_store, alpha_expand_unaligned_load_words) (alpha_expand_unaligned_store_words, alpha_expand_block_clear) (alpha_expand_builtin_establish_vms_condition_handler) (alpha_setup_incoming_varargs, emit_frame_store_1) (alpha_expand_prologue, alpha_expand_epilogue) (alpha_use_linkage): Likewise. * config/alpha/alpha.md: Likewise. * config/arm/arm.c (arm_trampoline_init, legitimize_pic_address) (arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address) (thumb_legitimize_address, arm_gen_load_multiple_1) (arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq) (gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight) (arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi) (arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push) (emit_sfm, thumb_set_frame_pointer, arm_expand_prologue) (thumb1_emit_multi_reg_push, thumb1_expand_prologue) (thumb_expand_movmemqi, arm_set_return_address) (thumb_set_return_address): Likewise. * config/arm/arm.md: Likewise. * config/avr/avr.c (avr_incoming_return_addr_rtx) (avr_prologue_setup_frame, expand_epilogue) (avr_const_address_lo16): Likewise. * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise. * config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg) (bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call) (bfin_output_mi_thunk): Likewise. * config/c6x/c6x.c (c6x_initialize_trampoline) (c6x_output_mi_thunk): Likewise. * config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise. * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise. * config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx) (cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load) (cris_emit_movem_store, cris_trampoline_init): Likewise. * config/cris/cris.md: Likewise. * config/darwin.c (machopic_indirect_data_reference) (machopic_legitimize_pic_address): Likewise. * config/epiphany/epiphany.c (epiphany_emit_save_restore) (epiphany_expand_prologue, epiphany_expand_epilogue) (epiphany_trampoline_init): Likewise. * config/epiphany/epiphany.md: Likewise. * config/fr30/fr30.c (fr30_move_double): Likewise. * config/frv/frv.c (frv_dwarf_store, frv_expand_prologue) (frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx) (frv_index_memory, unspec_got_name, frv_find_base_term) (frv_output_dwarf_dtprel): Likewise. * config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx) (h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise. * config/i386/i386.h (RETURN_ADDR_RTX): Likewise. * config/i386/i386.c (setup_incoming_varargs_64) (setup_incoming_varargs_ms_64, choose_baseaddr) (ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe) (ix86_emit_probe_stack_range, ix86_expand_prologue) (ix86_emit_restore_reg_using_pop, ix86_emit_leave) (ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address) (ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem) (ix86_static_chain, ix86_trampoline_init, x86_this_parameter) (x86_output_mi_thunk): Likewise. * config/i386/i386.md: Likewise. * config/ia64/ia64.c (ia64_expand_load_address) (ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode) (do_spill, ia64_trampoline_init): Likewise. * config/iq2000/iq2000.c (iq2000_va_start) (iq2000_emit_frame_related_store, iq2000_expand_prologue) (iq2000_expand_eh_return, iq2000_setup_incoming_varargs) (iq2000_print_operand, iq2000_legitimize_address): Likewise. * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise. * config/m32c/m32c.c (m32c_return_addr_rtx) (m32c_expand_insv): Likewise. * config/m32r/m32r.c (m32r_setup_incoming_varargs) (m32r_legitimize_pic_address, m32r_print_operand) (m32r_print_operand_address): Likewise. * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise. * config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise. (EH_RETURN_HANDLER_RTX): Likewise. * config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue) (m68k_expand_epilogue, legitimize_pic_address) (m68k_output_mi_thunk): Likewise. * config/m68k/m68k.md: Likewise. * config/mcore/mcore.c (mcore_expand_prolog): Likewise. (mcore_expand_epilog): Likewise. * config/mcore/mcore.md: Likewise. * config/mep/mep.c (mep_allocate_initial_value) (mep_expand_prologue, mep_expand_epilogue): Likewise. * config/microblaze/microblaze.c (double_memory_operand) (microblaze_block_move_loop): Likewise. * config/mips/mips.c (mips_strip_unspec_address, mips_add_offset) (mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop) (mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg) (mips_expand_prologue, mips_epilogue_set_cfa) (mips_expand_epilogue): Likewise. * config/mips/mips.md: Likewise. * config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx) (mmix_expand_prologue, mmix_expand_epilogue): Likewise. * config/mn10300/mn10300.c (mn10300_gen_multiple_store) (mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise. * config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise. (EH_RETURN_HANDLER_RTX): Likewise. * config/moxie/moxie.c (moxie_static_chain): Likewise. * config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address) (store_reg, set_reg_plus_d, pa_expand_prologue, load_reg) (pa_return_addr_rtx, hppa_builtin_saveregs) (pa_trampoline_init): Likewise. * config/pa/pa.md: Likewise. * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise. * config/picochip/picochip.c (picochip_static_chain): Likewise. * config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise. * config/rs6000/rs6000.c (rs6000_legitimize_address) (setup_incoming_varargs, print_operand, rs6000_return_addr) (rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range) (rs6000_emit_epilogue) (rs6000_machopic_legitimize_pic_address): Likewise. * config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise. * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise. (DYNAMIC_CHAIN_ADDRESS): Likewise. * config/s390/s390.c (s390_decompose_address, legitimize_pic_address) (s390_delegitimize_address, print_operand, annotate_constant_pool_refs) (replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx) (save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue) (s390_emit_epilogue, s390_function_profiler): Likewise. * config/s390/s390.md: Likewise. * config/score/score.c (score_add_offset, score_prologue): Likewise. * config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs) (sh_output_mi_thunk): Likewise. * config/sh/sh.md: Likewise. * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX) (RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise. * config/sparc/sparc.c (sparc_legitimize_pic_address) (sparc_emit_probe_stack_range, emit_save_or_restore_regs) (emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx) (emit_and_preserve): Likewise. * config/sparc/sparc.md: Likewise. * config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise. * config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg) (spu_setup_incoming_varargs, ea_load_store_inline) (spu_expand_load): Likewise. * config/stormy16/stormy16.c (xstormy16_expand_prologue) (combine_bnp): Likewise. * config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise. * config/tilegx/tilegx.c (tilegx_setup_incoming_varargs) (tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise. * config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise. * config/tilepro/tilepro.c (tilepro_setup_incoming_varargs) (tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise. * config/v850/v850.c (expand_prologue, expand_epilogue): Likewise. * config/v850/v850.md: Likewise. * config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise. (EH_RETURN_HANDLER_RTX): Likewise. * config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise. * config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue) (print_operand_address, vax_trampoline_init): Likewise. * config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr) (xtensa_function_value_regno_p): Likewise. From-SVN: r187199
Richard Sandiford committed -
2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/43772 testsuite/ * c-c++-common/pr43772.c: New. From-SVN: r187195
Manuel López-Ibáñez committed -
2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/43772 c-family/ * c-common.c (warn_logical_operator): Do not warn if either side is already true or false. testsuite/ * c-c++-common/pr43772.c: New. From-SVN: r187194
Manuel López-Ibáñez committed -
2012-05-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/41600 * trans-array.c (build_array_ref): New static function. (gfc_conv_array_ref, gfc_get_dataptr_offset): Call it. * trans-expr.c (gfc_get_vptr_from_expr): New function. (gfc_conv_derived_to_class): Add a new argument for a caller supplied vptr and use it if it is not NULL. (gfc_conv_procedure_call): Add NULL to call to above. symbol.c (gfc_is_associate_pointer): Return true if symbol is a class object. * trans-stmt.c (trans_associate_var): Handle class associate- names. * expr.c (gfc_get_variable_expr): Supply the array-spec if possible. * trans-types.c (gfc_typenode_for_spec): Set GFC_CLASS_TYPE_P for class types. * trans.h : Add prototypes for gfc_get_vptr_from_expr and gfc_conv_derived_to_class. Define GFC_CLASS_TYPE_P. * resolve.c (resolve_variable): For class arrays, ensure that the target expression has all the necessary _data references. (resolve_assoc_var): Throw a "not yet implemented" error for class array selectors that need a temporary. * match.c (copy_ts_from_selector_to_associate, select_derived_set_tmp, select_class_set_tmp): New functions. (select_type_set_tmp): Call one of last two new functions. (gfc_match_select_type): Copy_ts_from_selector_to_associate is called if associate-name is typed. PR fortran/53191 * resolve.c (resolve_ref): C614 applied to class expressions. 2012-05-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/41600 * gfortran.dg/select_type_26.f03 : New test. * gfortran.dg/select_type_27.f03 : New test. PR fortran/53191 * gfortran.dg/select_type_28.f03 : New test. From-SVN: r187192
Paul Thomas committed -
gcc/fortran: 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/49010 PR fortran/24518 * intrinsic.texi (MOD, MODULO): Mention sign and magnitude of result. * simplify.c (gfc_simplify_mod): Use mpfr_fmod. (gfc_simplify_modulo): Likewise, use copysign to fix the result if zero. * trans-intrinsic.c (gfc_conv_intrinsic_mod): Remove fallback as builtin_fmod is always available. For modulo, call copysign to fix the result when signed zeros are enabled. testsuite: 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/49010 PR fortran/24518 * gfortran.dg/mod_sign0_1.f90: New test. * gfortran.dg/mod_large_1.f90: New test. From-SVN: r187191
Janne Blomqvist committed -
2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.texi (GFORTRAN_TMPDIR): Rename to TMPDIR, explain algorithm for choosing temp directory. 2012-05-05 Janne Blomqvist <jb@gcc.gnu.org> * config.h.in: Regenerated. * configure: Regenerated. * configure.ac: Add checks for getegid and __secure_getenv. * io/unix.c (P_tmpdir): Fallback definition for macro. (tempfile_open): New function. (tempfile): Use secure_getenv, call tempfile_open to try each directory in turn. * libgfortran.h (DEFAULT_TMPDIR): Remove macro. (secure_getenv): New macro/prototype. * runtime/environ.c (secure_getenv): New function. (variable_table): Rename GFORTRAN_TMPDIR to TMPDIR. * runtime/main.c (find_addr2line): Use secure_getenv. From-SVN: r187190
Janne Blomqvist committed -
From-SVN: r187188
GCC Administrator committed
-
- 04 May, 2012 14 commits
-
-
2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> * semantics.c (cxx_eval_constant_expression, case CONVERT_EXPR): Tidy. From-SVN: r187184
Paolo Carlini committed -
2012-05-04 Andrew Pinski <apinski@cavium.com> * expr.c (get_def_for_expr_class): New function. (convert_tree_comp_to_rtx): New function. (expand_cond_expr_using_cmove): New function. (expand_expr_real_2 <case COND_EXPR>): Call expand_cond_expr_using_cmove first and return if it succeeds. Remove the check for HAVE_conditional_move since we should have already converted it to a conditional move. * config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison modes of DImode for 32bits and TImode. From-SVN: r187183
Andrew Pinski committed -
PR other/29442 * read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions. (print_md_ptr_loc, print_c_condition): Use them. * read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes. * genattrtab.c (attr_file_name, dfa_file_name, latency_file_name, attr_file, dfa_file, latency_file): New global variables. (write_attr_valueq, write_attr_set, write_attr_case, write_attr_value, write_upcase, write_indent, write_length_unit_log, write_test_expr, write_attr_get, write_insn_cases, write_eligible_delay, write_const_num_delay_slots): Accept FILE pointer and toss it around. Update all callers. (write_header, open_outfile, handle_arg): New funcions. (make_automaton_attrs): Write prototypes as extern to the output files. (main): Use init_rtx_reader_args_cb with handle_arg to take 3 file names from the command line. Open the output files and write out internal functions for DFA functions to dfa_file_name, insn latency functions to latency_file_name, and everything else to attr_file. * Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o. (BACKEND): Build libbackend first. (MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c. (.PRECIOUS): Likewise. (insn-dfatab.o): New rule. (insn-latencytab.o): New rule. (simple_rtl_generated_c): Do not include insn-attrtab.c. (s-attrtab): New rule. From-SVN: r187181
Steven Bosscher committed -
From-SVN: r187179
Steven Bosscher committed -
* rtl.def (ATTR_FLAG): Remove probability indicating flags. * genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely, ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely. * reorg.c (get_jump_flags): Do not set the removed flags. From-SVN: r187178
Steven Bosscher committed -
Fixes, e.g., "for first := true; first; first = false {". From-SVN: r187176
Ian Lance Taylor committed -
2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53175 * resolve.c (resolve_variable): Set public_used if a private module variable is used in a (public) specification expression. * trans-decl.c (gfc_finish_var_decl): Mark those TREE_PUBLIC. 2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53175 gfortran.dg/public_private_module_5.f90: New. From-SVN: r187175
Tobias Burnus committed -
2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53111 * resolve.c (resolve_fl_derived): Fix -std=f95 diagnostic for generic vs. DT names. 2012-05-04 Tobias Burnus <burnus@net-b.de> PR fortran/53111 * gfortran.dg/constructor_7.f90: New. * gfortran.dg/constructor_8.f90: New. From-SVN: r187174
Tobias Burnus committed -
re PR target/53228 (target attributes in libcpp/lex.c cause illegal instructions to be used elsewhere) PR target/53228 * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE. (TARGET_CMOV): Rename from TARGET_CMOVE. (TARGET_CMOVE): New define. * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV. Do not set TARGET_CMOVE here. From-SVN: r187168
Uros Bizjak committed -
Now that the libstdc++ testsuite is run with -ftrack-macro-location by default, this patch triggers the -Wunused-local-typedefs warning when -Wunused (and -Wall) is turned on. The patch has been reviewed and accepted[1] a while ago, but was waiting for the -ftrack-macro-expansion work to go in first. Bootstrapped and tested again on x86_64-unknown-linux-gnu against trunk. Applied to the mainline. [1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00605.html gcc/ * opts.c (finish_options): Activate -Wunused-local-typedefs if -Wunused is activated. * doc/invoke.texi: Update blurb of -Wunused-local-typedefs. From-SVN: r187167
Dodji Seketeli committed -
/cp 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53166 * pt.c (instantiate_class_template_1): Increase / decrease c_inhibit_evaluation_warnings around the tsubst_expr call for STATIC_ASSERT_CONDITION. (tsubst_expr, case STATIC_ASSERT): Likewise. * typeck.c (cp_build_binary_op, case EQ_EXPR/NE_EXPR): Check c_inhibit_evaluation_warnings in the OPT_Waddress warnings. /testsuite 2012-05-04 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53166 * g++.dg/cpp0x/static_assert7.C: New. From-SVN: r187165
Paolo Carlini committed -
From-SVN: r187163
Ian Lance Taylor committed -
* config/s390/s390.md (*movmem_short, *clrmem_short) (*cmpmem_short): Move the mode check from the insn condition to the match_scratch. From-SVN: r187159
Andreas Krebbel committed -
gcc/ PR tree-optimization/52633 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern. (vect_recog_over_widening_pattern): Remove handling of code that was already detected as over-widening pattern. Remove special handling of "unsigned" cases. Instead, support general case of conversion of the shift result to another type. gcc/testsuite/ PR tree-optimization/52633 * gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be recognized as widening shifts instead of over-widening. * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-4.c: Likewise. * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise. * gcc.target/arm/pr52633.c: New test. From-SVN: r187158
Ulrich Weigand committed
-