- 09 Jul, 2011 4 commits
-
-
2011-07-09 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/49668 * include/std/functional (__bind_simple): Define. * include/std/future (_Task_setter): Parameterize by type of result pointer instead of state object. (_S_task_setter): Type deduction helper. (_Task_state): Use _S_task_setter and __bind_simple. (_Deferred_state, _Async_state): Store call wrapper directly not as std::function. Use _S_task_setter and __bind_simple. (_S_make_deferred_state, _S_make_async_state): Type deduction helpers. (async): Use new functions and __bind_simple. * include/std/mutex (call_once): Use __bind_simple. * include/std/thread (thread): Likewise. Remove unused headers. * src/thread.cc: Add header. * testsuite/30_threads/async/49668.cc: New. * testsuite/30_threads/call_once/49668.cc: New. * testsuite/30_threads/thread/cons/49668.cc: New. * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool. From-SVN: r176073
Jonathan Wakely committed -
PR c++/45437 gcc/ * gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in compound assignment. gcc/c-family/ * c-omp.c (check_omp_for_incr_expr): Handle preevaluation. gcc/cp/ * typeck.c (cp_build_modify_expr): Preevaluate RHS. From-SVN: r176072
Jason Merrill committed -
gcc/ * cgraph.c (cgraph_add_to_same_comdat_group): New. * cgraph.h: Declare it. * ipa.c (function_and_variable_visibility): Make sure thunks have the right visibility. gcc/cp/ * method.c (use_thunk): Use cgraph_add_to_same_comdat_group. * optimize.c (maybe_clone_body): Likewise. * semantics.c (maybe_add_lambda_conv_op): Likewise. From-SVN: r176071
Jason Merrill committed -
From-SVN: r176070
GCC Administrator committed
-
- 08 Jul, 2011 34 commits
-
-
There's little point at holding onto these saves indefinitely. PR bootstrap/49680 * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the end of the prologue. From-SVN: r176066
Richard Henderson committed -
PR bootstrap/49680 * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after any tablejump vector. From-SVN: r176065
Richard Henderson committed -
PR target/49621 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use CONST0_RTX (dest_mode) instead of const0_rtx as second operand of NE. * config/rs6000/vector.md (vector_select_<mode>, vector_select_<mode>_uns): Change second operand of NE to CONST0_RTX (<MODE>mode) instead of const0_rtx. * config/rs6000/altivec.md (*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Expect second operand of NE to be zero_constant of the corresponding vector mode. * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Likewise. * gcc.target/powerpc/altivec-34.c: New test. From-SVN: r176063
Jakub Jelinek committed -
* be.po, ca.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po, nl.po, ru.po, sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r176061
Joseph Myers committed -
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r176059
Joseph Myers committed -
From-SVN: r176058
Sebastian Pop committed -
2011-07-08 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (build_alias_set_powerset): Remove continue from loop, add one more assert. From-SVN: r176057
Sebastian Pop committed -
From-SVN: r176056
Sebastian Pop committed -
PR c++/45603 * decl.c (expand_static_init): Don't get confused by user declaration of __cxa_guard_acquire. From-SVN: r176054
Jason Merrill committed -
PR target/46779 * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite. In particular, allow 8-bit values in r28 and r29. (avr_hard_regno_scratch_ok): Disallow any register that might be part of the frame pointer. (avr_hard_regno_rename_ok): Same. (avr_legitimate_address_p): Don't allow SUBREGs. From-SVN: r176053
Georg-Johann Lay committed -
* typeck.c (cp_apply_type_quals_to_decl): Don't check COMPLETE_TYPE_P either. From-SVN: r176052
Jason Merrill committed -
gcc/ * config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in big-endian mode. (reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>) (reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>) (neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>) (vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>) (neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>) (neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>) (vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q registers in big-endian mode. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_little_endian): New. (check_effective_target_vect_pack_trunc): Use above. (check_effective_target_vect_unpack): Likewise. (check_effective_target_vect_element_align): Test check_effective_target_arm_vect_no_misalign for ARM. From-SVN: r176050
Julian Brown committed -
From-SVN: r176049
Jason Merrill committed -
* defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default. * doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN. (REG_WORDS_BIG_ENDIAN): Document. * doc/tm.texi: Regenerate. * reload.c (operands_match_p): Take it into account. (reload_adjust_reg_for_mode): Likewise. * rtlanal.c (subreg_get_info): Likewise. From-SVN: r176048
Bernd Schmidt committed -
* genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined in terms of another. (write_attr_value): Write a cast if necessary. From-SVN: r176047
Bernd Schmidt committed -
re PR c++/49673 ([C++0x] const variables initialised with constexpr constructor placed in .data not .rodata) PR c++/49673 gcc/c-family/ * c-common.c (c_apply_type_quals_to_decl): Don't check TYPE_NEEDS_CONSTRUCTING. gcc/cp/ * typeck.c (cp_apply_type_quals_to_decl): Don't check TYPE_NEEDS_CONSTRUCTING. From-SVN: r176045
Jason Merrill committed -
2011-07-08 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index folding. From-SVN: r176044
Richard Guenther committed -
2011-07-08 Kai Tietz <ktietz@redhat.com> * fold-const.c (fold_truth_andor): Factored out truth_andor label from fold_binary as function. (fold_binary_loc): Replace truth_andor lable by function fold_truth_andor. From-SVN: r176043
Kai Tietz committed -
Fix PR middle-end/49519. gcc/ 2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com> PR middle-end/49519 * calls.c (mem_overlaps_already_clobbered_arg_p): Additional check if address is stored in register. If so - give up. (check_sibcall_argument_overlap_1): Do not perform check of overlapping when it is call to address. gcc/tessuite/ 2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com> PR middle-end/49519 * g++.dg/torture/pr49519.C: New test. From-SVN: r176042
Kirill Yukhin committed -
* config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead of magic '31'. From-SVN: r176041
Georg-Johann Lay committed -
* optabs.c (expand_binop): Tighten conditions for doubleword expansions. (widen_bswap): Assert that mode bitsize and precision are the same. * stor-layout.c (get_best_mode): Skip modes that have lower precision than bitsize. * recog.c (simplify_while_replacing): Assert that bitsize and precision are the same. From-SVN: r176040
Bernd Schmidt committed -
* rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against a bitsize. From-SVN: r176039
Bernd Schmidt committed -
* optabs.c (expand_binop): Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE where appropriate. (widen_leading, expand_parity, expand_ctz, expand_ffs, expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump, expand_float, expand_fix): Likewise. * expr.c (convert_move, convert_modes, expand_expr_real_2, expand_expr_real_1, reduce_to_bit_field_precision): Likewise. * cfgexpand.c (convert_debug_memory_address, expand_debug_expr): Likewise. * convert.c (convert_to_integer): Likewise. * expmed.c (expand_shift_1): Likewise. From-SVN: r176038
Bernd Schmidt committed -
gcc: * Makefile.in (LIBGCOV): Remove. (libgcc.mvars): Remove LIBGCOV. * libgov.c: Move to ../libgcc. libgcc: * Makfile.in (LIBGCOV): New variable. ($(libgcov-objects)): Use $(srcdir) to refer to libgcov.c. * libgcov.c: New file. From-SVN: r176037
Rainer Orth committed -
gcc: * config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc. libgcc: * fixed-bit.c, fixed-bit.h: New files. * fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to refer to fixed-bit.c. From-SVN: r176036
Rainer Orth committed -
2011-07-08 Martin Jambor <mjambor@suse.cz> testsuite/ * gcc.dg/tree-ssa/sra-12.c: Skip dump scan on avr targets. From-SVN: r176035
Martin Jambor committed -
PR testsuite/48727 * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*. From-SVN: r176034
Rainer Orth committed -
tree-sra.c (analyze_all_variable_accesses): Dump that a struture is too big for total scalarization. 2011-07-08 Martin Jambor <mjambor@suse.cz> * tree-sra.c (analyze_all_variable_accesses): Dump that a struture is too big for total scalarization. From-SVN: r176033
Martin Jambor committed -
* configure.host (abi_baseline_subdir_switch): Describe. Provide default. (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override. * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute baseline_subdir_switch. * testsuite/Makefile.am (site.exp): Emit it. (baseline_subdir): Use it. * testsuite/libstdc++-abi/abi.exp: Use it. * configure: Regenerate. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r176032
Rainer Orth committed -
re PR tree-optimization/49662 (XFAIL: gcc.dg/graphite/interchange-XX.c, PRE confuses loop interchange) 2011-07-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/49662 * gcc.dg/graphite/interchange-14.c: XFAIL. * gcc.dg/graphite/interchange-15.c: Likewise. * gcc.dg/graphite/interchange-mvt.c: Likewise. From-SVN: r176031
Richard Guenther committed -
From-SVN: r176025
GCC Administrator committed -
In particular, the mips sdb extensions accidentally implied the irix dwarf2 extensions and restrictions. Disable stabs because it's almost certainly untested for years. * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef. (DBX_DEBUGGING_INFO): Undef. From-SVN: r176021
Richard Henderson committed -
* dwarf2out.c (output_cfi_directive): Export. Add FILE parameter. Handle some opcodes specially for debugging. * print-rtl.c: Include dwarf2out.h (print_rtx): Handle NOTE_INSN_CFI. * Makefile.in (print-rtl.o): Update. From-SVN: r176020
Richard Henderson committed -
* tree-pass.h (pass_dwarf2_frame): Declare. * passes.c (init_optimization_passes): Add it. * dwarf2cfi.c (dwarf2out_frame_debug): Make static. (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue; make static, do not call add_cfis_to_fde. (dwarf2out_frame_debug_init, dwarf2cfi_function_init, dwarf2out_frame_init): Merge into... (execute_dwarf2_frame): ... here. New function. (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change saved_do_cfi_asm to a tri-state variable. (gate_dwarf2_frame, pass_dwarf2_frame): New. * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde if it has yet to be done. Don't call dwarf2cfi_function_init. * dwarf2out.h, debug.h: Update decls. * final.c (final_start_function): Don't call dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue. * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init. * toplev.c (lang_dependent_init): Likewise. From-SVN: r176019
Richard Henderson committed
-
- 07 Jul, 2011 2 commits
-
-
Prepare for allocating the FDE for the current function earlier than dwarf2out_begin_prologue. * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use, FDE_TABLE_INCREMENT): Replace with... (fde_vec): ... this, a new vector. (current_fde): Remove. Replace all users with cfun->fde. (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec. (size_of_aranges, dwarf2out_finish): Likewise. (dwarf2out_alloc_current_fde): Break out from ... (dwarf2out_begin_prologue): ... here. (dwarf2out_frame_init): Remove. * dwarf2cfi.c: Update all users of current_fde. (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init. * dwarf2out.h: Update decls. (dw_fde_node): Add fde_index member. * function.h (struct function): Add fde member. From-SVN: r176018
Richard Henderson committed -
This patch is essentially Bernd's 006-cfilabel patch, updated for all the other changes to dwarf2out. The patch reduces the difference between the cfi-asm and non-cfi-asm code paths. We now emit the CFI notes in all cases. Later, after we're done producing the CFI insns we need, another pass over the rtl adds the necessary labels and set_loc/advance_loc CFIs. One consequence of this is that def_cfa_1 can no longer use lookup_cfa, so it just compares to an old_cfa variable instead. The major change since Bernd's patch is that all the target-specific changes are no longer necessary. * dwarf2cfi.c (add_cfi): Remove. (dwarf2out_cfi_label): Remove force argument. Only generate the label name. (add_fde_cfi): Simplify the different code paths. (add_cie_cfi): New. (old_cfa, old_cfa_remember): New. (def_cfa_1, reg_save): Remove label, add for_cie parameter. (last_reg_save_label): Remove. (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save, dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register, dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_cfa_restore, dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr): Remove label parameter. (cfi_label_required_p, add_cfis_to_fde): New. (dwarf2out_frame_debug_after_prologue): New. (dwarf2cfi_frame_init): Initialize old_cfa. (dwarf2out_frame_debug_restore_state): Likewise. * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm. (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here. * final.c (final_start_function): Call dwarf2out_frame_debug_after_prologue. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r176017
Bernd Schmidt committed
-