gcc.git
11 years agofix PR sanitizer/58994
Kostya Serebryany [Fri, 15 Nov 2013 10:31:14 +0000 (10:31 +0000)]
fix PR sanitizer/58994

From-SVN: r204838

11 years agolto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.
Uros Bizjak [Fri, 15 Nov 2013 08:46:54 +0000 (09:46 +0100)]
lto-streamer-in.c (input function): Call cgraph_create_node if cgraph_get_node failed.

* lto-streamer-in.c (input function): Call cgraph_create_node if
cgraph_get_node failed.

From-SVN: r204836

11 years agoucnid-9.c: New test.
Joseph Myers [Fri, 15 Nov 2013 02:15:26 +0000 (02:15 +0000)]
ucnid-9.c: New test.

gcc/testsuite:
* gcc.dg/cpp/ucnid-9.c: New test.

libcpp:
* ucnid.tab: Mark C99 digits as [C99DIG].
* makeucnid.c (read_ucnid): Handle [C99DIG].
(read_table): Don't check for digit characters.
* ucnid.h: Regenerate.

From-SVN: r204835

11 years agoDaily bump.
GCC Administrator [Fri, 15 Nov 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204833

11 years agocfgexpand.c (defer_stack_allocation): When optimization is enabled...
Eric Botcazou [Thu, 14 Nov 2013 23:58:39 +0000 (23:58 +0000)]
cfgexpand.c (defer_stack_allocation): When optimization is enabled...

* cfgexpand.c (defer_stack_allocation): When optimization is enabled,
defer allocation of DECL_IGNORED_P variables at toplevel unless really
small.  Factorize size threshold computation from the existing one.
(expand_used_vars): Refine comment.

From-SVN: r204830

11 years agoRevert the last change
H.J. Lu [Thu, 14 Nov 2013 22:39:21 +0000 (22:39 +0000)]
Revert the last change

* gnat.dg/specs/addr1.ads: Revert the last change.
* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204829

11 years agoruntime: Don't use filename without '/' for backtrace library.
Ian Lance Taylor [Thu, 14 Nov 2013 22:31:29 +0000 (22:31 +0000)]
runtime: Don't use filename without '/' for backtrace library.

Fixes http://golang.org/issue/6715.

From-SVN: r204828

11 years agocompiler: Use backend interface for comparisons.
Ian Lance Taylor [Thu, 14 Nov 2013 22:13:41 +0000 (22:13 +0000)]
compiler: Use backend interface for comparisons.

From-SVN: r204827

11 years agoInclude gimple.h and pointer-set.h in gcc-interface/trans.c
H.J. Lu [Thu, 14 Nov 2013 22:04:04 +0000 (22:04 +0000)]
Include gimple.h and pointer-set.h in gcc-interface/trans.c

* gcc-interface/trans.c: Include gimple.h and pointer-set.h.

From-SVN: r204826

11 years agotree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can...
Cong Hou [Thu, 14 Nov 2013 20:59:47 +0000 (15:59 -0500)]
tree-vectorizer.h (struct dr_with_seg_len): Remove the base address field as it can be obtained from dr.

2013-11-14  Cong Hou  <congh@google.com>

    * tree-vectorizer.h (struct dr_with_seg_len): Remove the base
    address field as it can be obtained from dr.  Rename the struct.
    * tree-vect-data-refs.c (comp_dr_with_seg_len_pair): Consider
    steps of data references during sort.
    (vect_prune_runtime_alias_test_list): Adjust with the change to
    struct dr_with_seg_len.
    * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
    Adjust with the change to struct dr_with_seg_len.

2013-11-14  Cong Hou  <congh@google.com>

    * gcc.dg/vect/vect-alias-check.c: Update.

From-SVN: r204822

11 years agobasic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
Jeff Law [Thu, 14 Nov 2013 20:57:38 +0000 (13:57 -0700)]
basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...

* basic-block.h (has_abnormal_outgoing_edge_p): Moved here from...
* tree-inline.c (has_abnormal_outgoing_edge_p): Remove.
* gimple-ssa-isolate-paths.c: Include tree-cfg.h.
(find_implicit_erroneous_behaviour): If a block has abnormal outgoing
edges, then ignore it.  If the statement exhibiting erroneous
behaviour ends basic blocks, with the exception of GIMPLE_RETURNs,
then we can not optimize.
(find_explicit_erroneous_behaviour): Likewise.

From-SVN: r204821

11 years agonet: On Solaris use Darwin keepalive code.
Ian Lance Taylor [Thu, 14 Nov 2013 20:19:51 +0000 (20:19 +0000)]
net: On Solaris use Darwin keepalive code.

From-SVN: r204819

11 years agore PR c++/57887 (nested non-type template parameters not declared in this scope)
Paolo Carlini [Thu, 14 Nov 2013 20:16:51 +0000 (20:16 +0000)]
re PR c++/57887 (nested non-type template parameters not declared in this scope)

/cp
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* parser.c (cp_parser_late_parsing_nsdmi): Call
maybe_begin_member_template_processing.
* pt.c (maybe_begin_member_template_processing): Handle NSDMIs.
(inline_needs_template_parms): Adjust.

/testsuite
2013-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57887
* g++.dg/cpp0x/nsdmi-template3.C: New.
* g++.dg/cpp0x/nsdmi-template4.C: Likewise.

From-SVN: r204818

11 years agoruntime: Add netpoll code that uses select.
Ian Lance Taylor [Thu, 14 Nov 2013 20:15:04 +0000 (20:15 +0000)]
runtime: Add netpoll code that uses select.

Required for Solaris support.

From-SVN: r204817

11 years agoruntime: Fix GC flag in when allocating memory from cgo.
Ian Lance Taylor [Thu, 14 Nov 2013 20:04:32 +0000 (20:04 +0000)]
runtime: Fix GC flag in when allocating memory from cgo.

From-SVN: r204815

11 years agogimplify-be.h: New file.
Andrew MacLeod [Thu, 14 Nov 2013 19:39:38 +0000 (19:39 +0000)]
gimplify-be.h: New file.

* gimplify-be.h:  New file.  Add prototypes.
* gimplify.h: Don't include gimple.h.
(struct gimplify_hasher, struct gimplify_ctx, is_gimple_sizepos,
gimplify_hasher::hash, gimplify_hasher::equal): Relocate from gimple.h.
* gimple.h (struct gimplify_hasher, gimplify_hasher::hash,
gimplify_hasher::equal, struct gimplify_ctx, is_gimple_sizepos): Move
to gimplify.h.
(enum gsi_iterator_update): Move to gimple-iterator.h.
* gimple-iterator.h (enum gsi_iterator_update): Relocate from gimple.h.
* gimplify-be.c: New File.
(force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Relocate from
gimplify.c.
* gimplify.c (force_gimple_operand_1, force_gimple_operand,
force_gimple_operand_gsi_1, force_gimple_operand_gsi): Move to
gimplify-be.c.
* Makefile.in (OBJS): Add gimplify-be.o
* asan.c: Include only gimplify.h, gimplify-be.h, and/or gimple.h as
required.
* cfgloopmanip.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Likewise.
* omp-low.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* targhooks.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* c/c-typeck.c: Include only gimplify.h and gimple.h as needed.
* c-family/c-common.c: Likewise.
* c-family/c-gimplify.c: Likewise.
* c-family/cilk.c: Likewise.

* cp/class.c: Include only gimplify.h and gimple.h as needed.
* cp/cp-gimplify.c: Likewise.
* cp/error.c: Likewise.
* cp/init.c: Likewise.
* cp/optimize.c: Likewise.
* cp/pt.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.

* fortran/trans-expr.c: Include only gimplify.h and gimple.h as needed.
* fortran/trans-openmp.c: Likewise.

* go/go-lang.c: Include only gimplify.h and gimple.h as needed.

* java/java-gimplify.c: Include only gimplify.h and gimple.h as needed.

* objc/objc-act.c: Include only gimplify.h and gimple.h as needed.

From-SVN: r204812

11 years agoarc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.
Joern Rennecke [Thu, 14 Nov 2013 18:53:25 +0000 (18:53 +0000)]
arc.md (doloop_begin_i): Remove extra alignment; use (.&-4) idiom.

* config/arc/arc.md (doloop_begin_i): Remove extra alignment;
use (.&-4) idiom.

From-SVN: r204810

11 years agosysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.
Ulrich Weigand [Thu, 14 Nov 2013 18:51:41 +0000 (18:51 +0000)]
sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/sysv4le.h (LINUX64_DEFAULT_ABI_ELFv2): Define.

From-SVN: r204809

11 years agors6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
Ulrich Weigand [Thu, 14 Nov 2013 18:50:48 +0000 (18:50 +0000)]
rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.

gcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000.h (RS6000_SAVE_AREA): Handle ABI_ELFv2.
(RS6000_SAVE_TOC): Remove.
(RS6000_TOC_SAVE_SLOT): New macro.
* config/rs6000/rs6000.c (rs6000_parm_offset): New function.
(rs6000_parm_start): Use it.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_emit_prologue): Use RS6000_TOC_SAVE_SLOT.
(rs6000_emit_epilogue): Likewise.
(rs6000_call_aix): Likewise.
(rs6000_output_function_prologue): Do not save/restore r11
around calling _mcount for ABI_ELFv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/rs6000-protos.h (rs6000_reg_parm_stack_space):
Add prototype.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Remove.
(REG_PARM_STACK_SPACE): Call rs6000_reg_parm_stack_space.
* config/rs6000/rs6000.c (rs6000_parm_needs_stack): New function.
(rs6000_function_parms_need_stack): Likewise.
(rs6000_reg_parm_stack_space): Likewise.
(rs6000_function_arg): Do not replace BLKmode by Pmode when
returning a register argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (FP_ARG_MAX_RETURN): New macro.
(ALTIVEC_ARG_MAX_RETURN): Likewise.
(FUNCTION_VALUE_REGNO_P): Use them.
* config/rs6000/rs6000.c (TARGET_RETURN_IN_MSB): Define.
(rs6000_return_in_msb): New function.
(rs6000_return_in_memory): Handle ELFv2 homogeneous aggregates.
Handle aggregates of up to 16 bytes for ELFv2.
(rs6000_function_value): Handle ELFv2 homogeneous aggregates.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Michael Gschwind  <mkg@us.ibm.com>

* config/rs6000/rs6000.h (AGGR_ARG_NUM_REG): Define.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): New function.
(rs6000_discover_homogeneous_aggregate): Likewise.
(rs6000_function_arg_boundary): Handle homogeneous aggregates.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_psave_function_arg): Handle BLKmode arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (machine_function): New member
r2_setup_needed.
(rs6000_emit_prologue): Set r2_setup_needed if necessary.
(rs6000_output_mi_thunk): Set r2_setup_needed.
(rs6000_output_function_prologue): Output global entry point
prologue and local entry point marker if needed for ABI_ELFv2.
Output -mprofile-kernel code here.
(output_function_profiler): Do not output -mprofile-kernel
code here; moved to rs6000_output_function_prologue.
(rs6000_file_start): Output ".abiversion 2" for ABI_ELFv2.

(rs6000_emit_move): Do not handle dot symbols for ABI_ELFv2.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_declare_function_name): Do not create dot symbols
or .opd section for ABI_ELFv2.

(rs6000_trampoline_size): Update for ABI_ELFv2 trampolines.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_file_end): Call file_end_indicate_exec_stack
for ABI_ELFv2.

(rs6000_call_aix): Handle ELFv2 indirect calls.  Do not check
for function descriptors in ABI_ELFv2.

* config/rs6000/rs6000.md ("*call_indirect_aix<mode>"): Support
on ABI_AIX only, not ABI_ELFv2.
("*call_value_indirect_aix<mode>"): Likewise.
("*call_indirect_elfv2<mode>"): New pattern.
("*call_value_indirect_elfv2<mode>"): Likewise.

* config/rs6000/predicates.md ("symbol_ref_operand"): Do not
check for function descriptors in ABI_ELFv2.
("current_file_function_operand"): Likewise.

* config/rs6000/ppc-asm.h [__powerpc64__ && _CALL_ELF == 2]:
(toc): Undefine.
(FUNC_NAME): Define ELFv2 variant.
(JUMP_TARGET): Likewise.
(FUNC_START): Likewise.
(HIDDEN_FUNC): Likewise.
(FUNC_END): Likeiwse.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config.gcc [powerpc*-*-* | rs6000-*-*]: Support --with-abi=elfv1
and --with-abi=elfv2.
* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Add "abi".
* config/rs6000/rs6000.opt (mabi=elfv1): New option.
(mabi=elfv2): Likewise.
* config/rs6000/rs6000-opts.h (enum rs6000_abi): Add ABI_ELFv2.
* config/rs6000/linux64.h (DEFAULT_ABI): Do not hard-code to AIX_ABI
if !RS6000_BI_ARCH.
(ELFv2_ABI_CHECK): New macro.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
rs6000_current_abi to ABI_AIX or ABI_ELFv2.
(GLIBC_DYNAMIC_LINKER64): Support ELFv2 ld.so version.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Predefine
_CALL_ELF and __STRUCT_PARM_ALIGN__ if appropriate.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Handle ABI_ELFv2.
(debug_stack_info): Likewise.
(rs6000_file_start): Treat ABI_ELFv2 the same as ABI_AIX.
(rs6000_legitimize_tls_address): Likewise.
(rs6000_conditional_register_usage): Likewise.
(rs6000_emit_move): Likewise.
(init_cumulative_args): Likewise.
(rs6000_function_arg_advance_1): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_output_function_entry): Likewise.
(rs6000_assemble_integer): Likewise.
(rs6000_savres_strategy): Likewise.
(rs6000_stack_info): Likewise.
(rs6000_function_ok_for_sibcall): Likewise.
(rs6000_emit_load_toc_table): Likewise.
(rs6000_savres_routine_name): Likewise.
(ptr_regno_for_savres): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise.
(rs6000_output_function_epilogue): Likewise.
(output_profile_hook): Likewise.
(output_function_profiler): Likewise.
(rs6000_trampoline_size): Likewise.
(rs6000_trampoline_init): Likewise.
(rs6000_elf_output_toc_section_asm_op): Likewise.
(rs6000_elf_encode_section_info): Likewise.
(rs6000_elf_reloc_rw_mask): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_function_arg_boundary): Treat ABI_ELFv2 the same as ABI_AIX,
except that rs6000_compat_align_parm is always assumed false.
(rs6000_gimplify_va_arg): Likewise.
(rs6000_call_aix): Update comment.
(rs6000_sibcall_aix): Likewise.
* config/rs6000/rs6000.md ("tls_gd_aix<TLSmode:tls_abi_suffix>"):
Treat ABI_ELFv2 the same as ABI_AIX.
("*tls_gd_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("tls_ld_aix<TLSmode:tls_abi_suffix>"): Likewise.
("*tls_ld_call_aix<TLSmode:tls_abi_suffix>"): Likewise.
("load_toc_aix_si"): Likewise.
("load_toc_aix_di"): Likewise.
("call"): Likewise.
("call_value"): Likewise.
("*call_local_aix<mode>"): Likewise.
("*call_value_local_aix<mode>"): Likewise.
("*call_nonlocal_aix<mode>"): Likewise.
("*call_value_nonlocal_aix<mode>"): Likewise.
("*call_indirect_aix<mode>"): Likewise.
("*call_value_indirect_aix<mode>"): Likewise.
("sibcall"): Likewise.
("sibcall_value"): Likewise.
("*sibcall_aix<mode>"): Likewise.
("*sibcall_value_aix<mode>"): Likewise.
* config/rs6000/predicates.md ("symbol_ref_operand"): Likewise.
("current_file_function_operand"): Likewise.

gcc/testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-1.c (stack_frame_t): Remove
compiler and linker field if _CALL_ELF == 2.
* gcc.target/powerpc/ppc64-abi-2.c (stack_frame_t): Likewise.
* gcc.target/powerpc/ppc64-abi-dfp-1.c (stack_frame_t): Likewise.
* gcc.dg/stack-usage-1.c (SIZE): Update value for _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* gcc.target/powerpc/ppc64-abi-dfp-1.c (FUNC_START): New macro.
(WRAPPER): Use it.
* gcc.target/powerpc/no-r11-1.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-2.c: Skip on powerpc_elfv2.
* gcc.target/powerpc/no-r11-3.c: Skip on powerpc_elfv2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* lib/target-supports.exp (check_effective_target_powerpc_elfv2):
New function.
* gcc.target/powerpc/pr57949-1.c: Disable for powerpc_elfv2.
* gcc.target/powerpc/pr57949-2.c: Likewise.

libgcc/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
(trampoline_initial): Provide ELFv2 variant.
(__trampoline_setup): Likewise.

* config/rs6000/linux-unwind.h (frob_update_context): Do not
check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (get_regs): Do not support
old kernel versions if _CALL_ELF == 2.
(frob_update_context): Do not support PLT stub variants only
generated by old linkers if _CALL_ELF == 2.

libitm/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
(FUNC): Define ELFv2 variant.
(END): Likewise.
(HIDDEN): Likewise.
(CALL): Likewise.
(BASE): Likewise.
(LR_SAVE): Likewise.

libstdc++/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* scripts/extract_symvers.in: Ignore <localentry: > fields
in readelf --symbols output.

Co-Authored-By: Alan Modra <amodra@gmail.com>
Co-Authored-By: Michael Gschwind <mkg@us.ibm.com>
From-SVN: r204808

11 years agors6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that...
Ulrich Weigand [Thu, 14 Nov 2013 18:40:12 +0000 (18:40 +0000)]
rs6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that for vector / floating point...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic
by making use of the fact that for vector / floating point arguments
passed both in VRs/FPRs and in the fixed parameter area, the partial
bytes mechanism is in fact not used.

From-SVN: r204807

11 years agors6000.c (rs6000_psave_function_arg): New function.
Ulrich Weigand [Thu, 14 Nov 2013 18:39:14 +0000 (18:39 +0000)]
rs6000.c (rs6000_psave_function_arg): New function.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_psave_function_arg): New function.
(rs6000_finish_function_arg): Likewise.
(rs6000_function_arg): Use rs6000_psave_function_arg and
rs6000_finish_function_arg to handle both vector and floating
point arguments that are also passed in GPRs / the stack.

From-SVN: r204806

11 years agors6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
Ulrich Weigand [Thu, 14 Nov 2013 18:38:08 +0000 (18:38 +0000)]
rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
(USE_ALTIVEC_FOR_ARG_P): Likewise.
(rs6000_darwin64_record_arg_advance_recurse): Update uses.
(rs6000_function_arg_advance_1):Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(rs6000_function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.

From-SVN: r204805

11 years agors6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test...
Ulrich Weigand [Thu, 14 Nov 2013 18:36:48 +0000 (18:36 +0000)]
rs6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
"DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
(rs6000_savres_strategy): Likewise.
(rs6000_return_addr): Likewise.
(rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by
testing for ABI_V4 (since ABI_DARWIN is impossible here).
(rs6000_emit_prologue): Likewise.
(legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test.
(rs6000_elf_declare_function_name): Remove duplicated test.
* config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test
for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test).
("load_toc_v4_PIC_1_normal"): Likewise.
("load_toc_v4_PIC_1_476"): Likewise.
("load_toc_v4_PIC_1b"): Likewise.
("load_toc_v4_PIC_1b_normal"): Likewise.
("load_toc_v4_PIC_1b_476"): Likewise.
("load_toc_v4_PIC_2"): Likewise.
("load_toc_v4_PIC_3b"): Likewise.
("load_toc_v4_PIC_3c"): Likewise.
* config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test.
(RS6000_SAVE_AREA): Likewise.
(FP_ARG_MAX_REG): Likewise.
(RETURN_ADDRESS_OFFSET): Likewise.
* config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead
of ABI_AIX.
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.

From-SVN: r204804

11 years agors6000.c (rs6000_call_indirect_aix): Rename to ...
Ulrich Weigand [Thu, 14 Nov 2013 18:32:48 +0000 (18:32 +0000)]
rs6000.c (rs6000_call_indirect_aix): Rename to ...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ...
(rs6000_call_aix): ... this.  Handle both direct and indirect calls.
Create call insn directly instead of via various gen_... routines.
Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE.
(rs6000_sibcall_aix): New function.
* config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove.
(TOC_SAVE_OFFSET_64BIT): Likewise.
(AIX_FUNC_DESC_TOC_32BIT): Likewise.
(AIX_FUNC_DESC_TOC_64BIT): Likewise.
(AIX_FUNC_DESC_SC_32BIT): Likewise.
(AIX_FUNC_DESC_SC_64BIT): Likewise.
("call" expander): Call rs6000_call_aix.
("call_value" expander): Likewise.
("call_indirect_aix<ptrsize>"): Replace this pattern ...
("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_indirect_aix<mode>"): ... by this insn pattern.
("call_value_indirect_aix<ptrsize>"): Replace this pattern ...
("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
("*call_value_indirect_aix<mode>"): ... by this insn pattern.
("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ...
("*call_nonlocal_aix<mode>"): ... this pattern.
("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace
("*call_value_nonlocal_aix<mode>"): ... by this pattern.
("*call_local_aix<mode>"): New insn pattern.
("*call_value_local_aix<mode>"): Likewise.
("sibcall" expander): Call rs6000_sibcall_aix.
("sibcall_value" expander): Likewise.  Move earlier in file.
("*sibcall_nonlocal_aix<mode>"): Replace by ...
("*sibcall_aix<mode>"): ... this pattern.
("*sibcall_value_nonlocal_aix<mode>"): Replace by ...
("*sibcall_value_aix<mode>"): ... this pattern.
* config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove.
(rs6000_call_aix): Add prototype.
(rs6000_sibcall_aix): Likewise.

From-SVN: r204803

11 years agoForgot to add file in last commit.
Ulrich Weigand [Thu, 14 Nov 2013 18:30:19 +0000 (18:30 +0000)]
Forgot to add file in last commit.

From-SVN: r204802

11 years agore PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate...
Jakub Jelinek [Thu, 14 Nov 2013 18:28:43 +0000 (19:28 +0100)]
re PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate symbol errors)

PR sanitizer/59122
* asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
isn't confused by the artificial decl.

From-SVN: r204801

11 years agolinux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64...
Ulrich Weigand [Thu, 14 Nov 2013 18:25:33 +0000 (18:25 +0000)]
linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
location of CR save area for 64-bit little-endian systems.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204800

11 years agors6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the...
Ulrich Weigand [Thu, 14 Nov 2013 18:24:32 +0000 (18:24 +0000)]
rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.

ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a
RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
Instead, add USEs of all modified call-saved CR fields to the
insn storing the result to the stack slot, and provide an
appropriate REG_FRAME_RELATED_EXPR for that insn.
* config/rs6000/rs6000.md ("*crsave"): New insn pattern.
* config/rs6000/predicates.md ("crsave_operation"): New predicate.

testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* g++.dg/eh/ppc64-sighandle-cr.C: New test.

From-SVN: r204799

11 years agofunction.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating...
Ulrich Weigand [Thu, 14 Nov 2013 18:22:30 +0000 (18:22 +0000)]
function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE...

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    Alan Modra  <amodra@gmail.com>

* function.c (assign_parms): Use all.reg_parm_stack_space instead
of re-evaluating REG_PARM_STACK_SPACE target macro.
(locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE.  Use it
instead of evaluating target macro REG_PARM_STACK_SPACE every time.
(assign_parm_find_entry_rtl): Update call.
* calls.c (initialize_argument_information): Update call.
(emit_library_call_value_1): Likewise.
* expr.h (locate_and_pad_parm): Update prototype.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r204798

11 years agocalls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments.
Ulrich Weigand [Thu, 14 Nov 2013 18:21:21 +0000 (18:21 +0000)]
calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL
arguments.

From-SVN: r204797

11 years agogo/build: Add all known gccgo architectures to list.
Ian Lance Taylor [Thu, 14 Nov 2013 18:16:59 +0000 (18:16 +0000)]
go/build: Add all known gccgo architectures to list.

From-SVN: r204796

11 years agorx.c (rx_mode_dependent_address_p): Allow offsets up to 16 bits.
DJ Delorie [Thu, 14 Nov 2013 18:10:36 +0000 (13:10 -0500)]
rx.c (rx_mode_dependent_address_p): Allow offsets up to 16 bits.

* config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets up
to 16 bits.

From-SVN: r204795

11 years agolibgo/go/go/build: use syslist.go from the gc stdlib.
Ian Lance Taylor [Thu, 14 Nov 2013 18:07:31 +0000 (18:07 +0000)]
libgo/go/go/build: use syslist.go from the gc stdlib.

If cmd/go is rebuilt using -compiler gccgo the version of go/build that is linked into that cmd/go will not function properly as the list of file suffixes know as operating systems or architectures is incorrect.

From-SVN: r204794

11 years agotree-ssa-threadedge.c (thread_through_normal_block): Only push the EDGE_START_JUMP_TH...
Jeff Law [Thu, 14 Nov 2013 18:05:55 +0000 (11:05 -0700)]
tree-ssa-threadedge.c (thread_through_normal_block): Only push the EDGE_START_JUMP_THREAD marker if the jump threading path is empty.

* tree-ssa-threadedge.c (thread_through_normal_block): Only push
the EDGE_START_JUMP_THREAD marker if the jump threading path is
empty.

From-SVN: r204793

11 years agoRequire fenv_exceptions in gcc.dg/torture/float128* tests
Rainer Orth [Thu, 14 Nov 2013 14:29:12 +0000 (14:29 +0000)]
Require fenv_exceptions in gcc.dg/torture/float128* tests

* gcc.dg/torture/float128-cmp-invalid.c: Require fenv_exceptions.
* gcc.dg/torture/float128-div-underflow.c: Likewise.
* gcc.dg/torture/float128-extend-nan.c: Likewise.

From-SVN: r204792

11 years agossa-vrp-thread-1.c: Fix target selector.
Richard Biener [Thu, 14 Nov 2013 14:16:06 +0000 (14:16 +0000)]
ssa-vrp-thread-1.c: Fix target selector.

2013-11-14  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Fix target selector.

From-SVN: r204791

11 years agoalloc_traits.h (__allow_copy_cons): Remove.
Jonathan Wakely [Thu, 14 Nov 2013 12:43:00 +0000 (12:43 +0000)]
alloc_traits.h (__allow_copy_cons): Remove.

* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
(__check_copy_constructible): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Do not derive from __check_copy_constructible.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/unordered_map/55043.cc: It is no longer
necessary for is_copy_constructible to be correct to use nested
unordered containers.
* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
* testsuite/23_containers/unordered_set/55043.cc: Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r204790

11 years agoXFAIL addr1.ads and atomic1.ads on x32
H.J. Lu [Thu, 14 Nov 2013 12:40:15 +0000 (12:40 +0000)]
XFAIL addr1.ads and atomic1.ads on x32

* gnat.dg/specs/addr1.ads: XFAIL on x32.
* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204789

11 years agoFix typo in ChangeLog entry.
Christophe Lyon [Thu, 14 Nov 2013 10:25:31 +0000 (11:25 +0100)]
Fix typo in ChangeLog entry.

From-SVN: r204787

11 years ago[AArch64] [-mtune cleanup 5/5] Update invoke.texi
James Greenhalgh [Thu, 14 Nov 2013 10:02:10 +0000 (10:02 +0000)]
[AArch64] [-mtune cleanup 5/5] Update invoke.texi

gcc/
* doc/invoke.texi: Update documentation for AArch64's -mcpu
and -mtune options.

From-SVN: r204785

11 years ago[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.
James Greenhalgh [Thu, 14 Nov 2013 10:00:49 +0000 (10:00 +0000)]
[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.

gcc/
* config/aarch64/aarch64-cores.def (example-1): Remove.
(example-2): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Do not include "large.md" or "small.md".
(generic_sched): Remove "large", "small".
* config/aarch64/large.md: Delete.
* config/aarch64/small.md: Delete.

gcc/testsuite/
* gcc.target/aarch64/cpu-diagnostics-2.c: Change "-mcpu="
to "cortex-a53".
* gcc.target/aarch64/cpu-diagnostics-3.c: Change "-mcpu="
to "cortex-a53".

From-SVN: r204784

11 years ago[AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
James Greenhalgh [Thu, 14 Nov 2013 09:58:37 +0000 (09:58 +0000)]
[AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
 Cortex-A57, tune for Cortex-A15

gcc/
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Include cortex-a15 pipeline model.
(generic_sched): "no" if we are tuning for cortexa15.
* config/arm/cortex-a15.md: Include cortex-a15-neon.md by
relative path.

From-SVN: r204783

11 years ago[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
James Greenhalgh [Thu, 14 Nov 2013 09:56:30 +0000 (09:56 +0000)]
[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.

gcc/
* config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
* config/aarch64/aarch64.md: Do not include aarch64-generic.md.
* config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
(all_cores): Use cortexa53 when tuning for "generic".
(aarch64_override_options): Fix comment.
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
* config/aarch64/aarch64-generic.md: Delete.

From-SVN: r204782

11 years ago[AArch64] [-mtune cleanup 1/5] Remove -march=generic.
James Greenhalgh [Thu, 14 Nov 2013 09:52:34 +0000 (09:52 +0000)]
[AArch64] [-mtune cleanup 1/5] Remove -march=generic.

gcc/
* config/aarch64/aarch64.c (all_architectures): Remove "generic".

From-SVN: r204781

11 years agoFix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+
Rainer Orth [Thu, 14 Nov 2013 09:34:16 +0000 (09:34 +0000)]
Fix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+

* gcc.dg/atomic/c11-atomic-exec-4.c: Define _XOPEN_SOURCE=600 on
*-*-solaris2.1[0-9]*.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.

From-SVN: r204780

11 years agoaarch64.c: Include aarch-cost-tables.h.
Kyrylo Tkachov [Thu, 14 Nov 2013 09:22:51 +0000 (09:22 +0000)]
aarch64.c: Include aarch-cost-tables.h.

* config/aarch64/aarch64.c: Include aarch-cost-tables.h.
(generic_rtx_cost_table): Remove.
(aarch64_rtx_costs): Use fields from cpu_cost_table.
* config/aarch64/aarch64-protos.h (tune_params): Use cpu_cost_table for
insn_extra_cost.
(cpu_rtx_cost_table): Remove.

From-SVN: r204779

11 years ago[multiple changes]
Joey Ye [Thu, 14 Nov 2013 08:38:54 +0000 (08:38 +0000)]
[multiple changes]

2013-11-14  Julian Brown  <julian@codesourcery.com>
        Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_cortex_m_branch_cost): New.
        (arm_v7m_tune): New.
        (arm_slowmul_tune, arm_fastmul_tune,
        arm_strongarm_tune, arm_9e_tune, arm_v6t2_tune,
        arm_cortex_tune, arm_cortex_a15_tune,
        arm_cortex_a5_tune, arm_v6m_tune): Add comments
        for Sched adj cost.
        * config/arm/arm-cores.def (cortex-m4, cortex-m3):
        Use arm_v7m_tune.

testsuite:
2013-11-14  Joey Ye  <joey.ye@arm.com>

        * gcc.dg/tree-ssa/forwprop-28.c: Disable for cortex_m.
        * gcc.dg/tree-ssa/vrp47.c: Likewise.
        * gcc.dg/tree-ssa/vrp87.c: Likewise.
        * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Ingore for cortex_m.
        * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.

From-SVN: r204778

11 years agore PR target/57491 ([ia64] internal compiler error: in ia64_split_tmode -O2, quadmath)
Kirill Yukhin [Thu, 14 Nov 2013 08:33:21 +0000 (08:33 +0000)]
re PR target/57491 ([ia64] internal compiler error: in ia64_split_tmode -O2, quadmath)

        PR target/57491
        * config/ia64/ia64.c (ia64_split_tmode_move): Relax `dead'
        flag setting.

From-SVN: r204777

11 years agoAdded testcase for 58533, fixed by rev 204714.
Adam Butcher [Thu, 14 Nov 2013 08:26:21 +0000 (08:26 +0000)]
Added testcase for 58533, fixed by rev 204714.

gcc/testsuite/
PR c++/58533
* g++.dg/cpp1y/pr58533.C: New testcase (fixed by r204714).

From-SVN: r204776

11 years agore PR target/59101 (integer wrong code bug)
Jakub Jelinek [Thu, 14 Nov 2013 08:11:36 +0000 (09:11 +0100)]
re PR target/59101 (integer wrong code bug)

PR target/59101
* config/i386/i386.md (*anddi_2): Only allow CCZmode if
operands[2] satisfies_constraint_Z that might have bit 31 set.

* gcc.c-torture/execute/pr59101.c: New test.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r204774

11 years agore PR tree-optimization/59102 (ICE on valid code at -Os and above on x86_64-linux...
Jeff Law [Thu, 14 Nov 2013 03:18:17 +0000 (20:18 -0700)]
re PR tree-optimization/59102 (ICE on valid code at -Os and above on x86_64-linux-gnu)

PR tree-optimization/59102
* gimple-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statments): Ensure STMT is a
gimple assignment before looking at gimple_assign_lhs.

PR tree-optimization/59102
* gcc.c-torture/compile/pr59102.c: New test.

From-SVN: r204773

11 years agoira.c: Add comment about threads at the top of file.
Vladimir Makarov [Thu, 14 Nov 2013 01:51:07 +0000 (01:51 +0000)]
ira.c: Add comment about threads at the top of file.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

* ira.c: Add comment about threads at the top of file.

From-SVN: r204772

11 years agoira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies.
Vladimir Makarov [Thu, 14 Nov 2013 01:33:09 +0000 (01:33 +0000)]
ira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies.

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

* ira-color.c (coalesce_allocnos): Don't allocate and free
sorted_copies.

From-SVN: r204771

11 years agoDaily bump.
GCC Administrator [Thu, 14 Nov 2013 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r204770

11 years agoHandle GIMPLE_ASSIGNs with different vuse in gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:42 +0000 (00:10 +0000)]
Handle GIMPLE_ASSIGNs with different vuse in gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_equal_p): Add test for structural
equality for GIMPLE_ASSIGN.

* gcc.dg/tail-merge-store.c: New test.

From-SVN: r204767

11 years agoFactor out gimple_operand_equal_value_p from gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:33 +0000 (00:10 +0000)]
Factor out gimple_operand_equal_value_p from gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Factor new
function out of ...
(gimple_equal_p): ... here.

From-SVN: r204766

11 years agoAdd is_tm_ending
Tom de Vries [Thu, 14 Nov 2013 00:10:24 +0000 (00:10 +0000)]
Add is_tm_ending

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* trans-mem.c (is_tm_ending): New function.
* gimple.h (is_tm_ending): Declare.
* tree-ssa-tail-merge.c (gimple_equal_p): Remove test on
BUILT_IN_TM_COMMIT.
(find_duplicate): Use is_tm_ending instead of is_tm_ending_fndecl.

From-SVN: r204765

11 years agoSimplify code in gimple_equal_p
Tom de Vries [Thu, 14 Nov 2013 00:10:13 +0000 (00:10 +0000)]
Simplify code in gimple_equal_p

2013-11-14  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (gimple_equal_p): Remove equal variable.

From-SVN: r204764

11 years agogimple-walk.h: New File.
Andrew Macleod [Wed, 13 Nov 2013 23:54:17 +0000 (23:54 +0000)]
gimple-walk.h: New File.

* gimple-walk.h: New File.  Relocate prototypes from gimple.h.
(struct walk_stmt_info):  Relocate here from gimple.h.
* gimple-iterator.h: New File.  Relocate prototypes from gimple.h.
(struct gimple_stmt_iterator_d): Relocate here from gimple.h.
(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h.
* gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h.
(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h.
(struct walk_stmt_info): Move to gimple-walk.h.
(gimple_seq_set_location): Move to gimple.c
* gimple-walk.c: New File.
(walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op,
walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops,
walk_stmt_load_store_ops): Relocate here from gimple.c.
* gimple-iterator.c: Include gimple-iterator.h.
* gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm,
walk_gimple_op, walk_gimple_stmt, get_base_loadstore,
walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to
gimple-walk.c.
(gimple_seq_set_location): Relocate from gimple.h.
* tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c.
* tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h.
* gengtype.c (open_base_files): Add gimple-iterator.h to include list.
* Makefile.in (OBJS): Add gimple-walk.o

* asan.c: Update Include list as required for gimple-iterator.h and
gimple-walk.h.
* cfgexpand.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphunit.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-low.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-split.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* omp-low.c: Likewise.
* predict.c: Likewise.
* profile.c: Likewise.
* sese.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* vtable-verify.c: Likewise.

* config/aarch64/aarch64-builtins.c: Include gimple-iterator.h.
* config/rs6000/rs6000.c: Include gimple-iterator.h and gimple-walk.h.
* testsuite/g++.dg/plugin/selfassign.c: Include gimple-iterator.h.
* testsuite/gcc.dg/plugin/selfassign.c: Likewise.

From-SVN: r204763

11 years agogimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.
Steven Bosscher [Wed, 13 Nov 2013 23:23:18 +0000 (23:23 +0000)]
gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.

* gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.

From-SVN: r204762

11 years agore PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass)
Jeff Law [Wed, 13 Nov 2013 23:10:34 +0000 (16:10 -0700)]
re PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass)

* PR middle-end/59119
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New
function, extracted from gimple_ssa_isolate_erroneous_paths.
(find_explicit_erroneous_behaviour): Similarly.
(insert_trap_and_remove_trailing_statements): Remove statements
in reverse order.

* PR middle-end/59119
* gcc.c-torture/compile/pr59119.c: New test.

From-SVN: r204760

11 years agotypo fix
Steven Bosscher [Wed, 13 Nov 2013 22:58:03 +0000 (22:58 +0000)]
typo fix

From-SVN: r204759

11 years agocfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
Steven Bosscher [Wed, 13 Nov 2013 22:55:49 +0000 (22:55 +0000)]
cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.

* cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
Make that check explicit.  BB_HEAD cannot be NULL, remove check for it.
* haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before
looking at INSN_CODE.
* reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an
active_insn_p object, respect basic block boundaries.
* reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always
follows immediately after the jump table data label.
* config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise.
* config/sh/sh.c (barrier_align): Likewise.  Rearrange code such
that JUMP_TABLE_DATA is not expected to be an active_insn_p object.

From-SVN: r204758

11 years agore PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap...
Peter Bergner [Wed, 13 Nov 2013 22:34:33 +0000 (16:34 -0600)]
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)

PR sanitizer/59009
* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
ifdef out more source.

From-SVN: r204757

11 years agore PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa...
Teresa Johnson [Wed, 13 Nov 2013 21:51:44 +0000 (21:51 +0000)]
re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)

2013-11-13  Teresa Johnson  <tejohnson@google.com>

PR ipa/58862
* predict.c (drop_profile): Error is currently too strict.
(handle_missing_profiles): Pass call_count to drop_profile.

From-SVN: r204756

11 years agore PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa...
Teresa Johnson [Wed, 13 Nov 2013 21:48:59 +0000 (21:48 +0000)]
re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)

2013-11-13  Teresa Johnson  <tejohnson@google.com>

PR ipa/58862
* ipa-inline.c (edge_badness): Fix overflow.

From-SVN: r204755

11 years agore PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86...
Vladimir Makarov [Wed, 13 Nov 2013 18:00:43 +0000 (18:00 +0000)]
re PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86 targets.)

2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59036
* ira-color.c (struct allocno_color_data): Add new members
first_thread_allocno, next_thread_allocno, thread_freq.
(sorted_copies): New static var.
(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
up.
(allocno_thread_conflict_p, merge_threads)
(form_threads_from_copies, form_threads_from_bucket)
(form_threads_from_colorable_allocno, init_allocno_threads): New
functions.
(bucket_allocno_compare_func): Add comparison by thread frequency
and threads.
(add_allocno_to_ordered_bucket): Rename to
add_allocno_to_ordered_colorable_bucket.  Remove parameter.
        (push_only_colorable): Call form_threads_from_bucket.
(color_pass): Call init_allocno_threads.  Use
consideration_allocno_bitmap instead of coloring_allocno_bitmap
for nuillify allocno color data.
(ira_initiate_assign, ira_finish_assign): Allocate/free
sorted_copies.
(coalesce_allocnos): Use static sorted copies.

From-SVN: r204752

11 years agopasses.c (execute_todo): Don't call do_per_function if flags are zero.
Jakub Jelinek [Wed, 13 Nov 2013 17:34:29 +0000 (18:34 +0100)]
passes.c (execute_todo): Don't call do_per_function if flags are zero.

* passes.c (execute_todo): Don't call do_per_function if
flags are zero.
(execute_one_ipa_transform_pass, execute_one_pass): Don't call
execute_function_dump if dump_file is NULL.

From-SVN: r204751

11 years agore PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's...
Marc Glisse [Wed, 13 Nov 2013 15:47:04 +0000 (16:47 +0100)]
re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's complex.h)

2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/59087
* include/ext/pod_char_traits.h: Uglify V, I and S.

From-SVN: r204750

11 years agoira-shrinkwrap-prep-1.c: Add lp64 to target requirements.
Martin Jambor [Wed, 13 Nov 2013 15:41:39 +0000 (16:41 +0100)]
ira-shrinkwrap-prep-1.c: Add lp64 to target requirements.

2013-11-13  Martin Jambor  <mjambor@suse.cz>

* gcc.dg/ira-shrinkwrap-prep-1.c: Add lp64 to target requirements.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.
* gcc.dg/pr10474.c: Likewise.

From-SVN: r204749

11 years agocgraph.c (cgraph_get_create_node): Do what cgraph_get_create_real_symbol_node used...
Martin Jambor [Wed, 13 Nov 2013 15:34:47 +0000 (16:34 +0100)]
cgraph.c (cgraph_get_create_node): Do what cgraph_get_create_real_symbol_node used to do.

2013-11-13  Martin Jambor  <mjambor@suse.cz>

* cgraph.c (cgraph_get_create_node): Do what
cgraph_get_create_real_symbol_node used to do.
(cgraph_get_create_real_symbol_node): Removed.  Changed all users to
call cgraph_get_create_node.
* cgraph.h (cgraph_get_create_real_symbol_node): Removed.
* lto-streamer-in.c (input_function): Call cgraph_get_node instead of
cgraph_get_create_node.  Assert we get a node.

From-SVN: r204748

11 years agoaarch64-simd.md (vec_extract): New.
Tejas Belagod [Wed, 13 Nov 2013 15:07:27 +0000 (15:07 +0000)]
aarch64-simd.md (vec_extract): New.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_extract): New.

From-SVN: r204747

11 years agoaarch64-simd.md (vec_set<mode>): Add w -> w option to the constraint.
Tejas Belagod [Wed, 13 Nov 2013 15:04:44 +0000 (15:04 +0000)]
aarch64-simd.md (vec_set<mode>): Add w -> w option to the constraint.

2013-11-13  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-simd.md (vec_set<mode>): Add w -> w option to
the constraint.

From-SVN: r204746

11 years ago2013-11-13 Cesar Philippidis <cesar@codesourcery.com>
Cesar Philippidis [Wed, 13 Nov 2013 14:18:31 +0000 (06:18 -0800)]
2013-11-13  Cesar Philippidis  <cesar@codesourcery.com>

    * lib/target-supports.exp
    (check_effective_target_vect_cmdline_neeed): Add AArch64 to the list
    of targets that do not need command line argument to enable SIMD.

From-SVN: r204745

11 years agoRemove ada/ prefix
Eric Botcazou [Wed, 13 Nov 2013 12:27:09 +0000 (12:27 +0000)]
Remove ada/ prefix

From-SVN: r204743

11 years agocfgexpand.c (expand_used_vars): Allocate space for partitions based on PARM_DECLs...
Eric Botcazou [Wed, 13 Nov 2013 12:15:47 +0000 (12:15 +0000)]
cfgexpand.c (expand_used_vars): Allocate space for partitions based on PARM_DECLs or RESULT_DECLs only if...

* cfgexpand.c (expand_used_vars): Allocate space for partitions based
on PARM_DECLs or RESULT_DECLs only if they are ignored for debug info
or if optimization is enabled.
* tree-ssa-coalesce.c (coalesce_ssa_name): If optimization is disabled,
require that all the names based on a PARM_DECL or a RESULT_DECL that
isn't ignored for debug info be coalesced.

From-SVN: r204742

11 years agoc6x.c: Include "gimple-expr.h".
Jan-Benedict Glaw [Wed, 13 Nov 2013 12:14:40 +0000 (12:14 +0000)]
c6x.c: Include "gimple-expr.h".

2013-11-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/c6x/c6x.c: Include "gimple-expr.h".

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01411.html

From-SVN: r204741

11 years agogimple-streamer-out.c (output_gimple_stmt): Also wrap decls in ADDR_EXPR operands...
Richard Biener [Wed, 13 Nov 2013 11:58:12 +0000 (11:58 +0000)]
gimple-streamer-out.c (output_gimple_stmt): Also wrap decls in ADDR_EXPR operands inside a MEM_REF and optimize that.

2013-11-13  Richard Biener  <rguenther@suse.de>

* gimple-streamer-out.c (output_gimple_stmt): Also wrap
decls in ADDR_EXPR operands inside a MEM_REF and optimize that.
* gimple-streamer-in.c (input_gimple_stmt): Remove now dead
code dealing with type mismatches inside component reference
chains.

From-SVN: r204740

11 years agore PR tree-optimization/59077 (ipa-pure-const.c (better_state): comment and code...
Marc Glisse [Wed, 13 Nov 2013 11:55:01 +0000 (12:55 +0100)]
re PR tree-optimization/59077 (ipa-pure-const.c (better_state): comment and code mistmatch)

2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/59077
* ipa-pure-const.c (better_state): Update *state.

From-SVN: r204739

11 years agoaarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
Christophe Lyon [Wed, 13 Nov 2013 10:11:00 +0000 (10:11 +0000)]
aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.

2013-11-13  Christophe Lyon  <christophe.lyon@linaro.org>

* config/aarch64/aarch64.h (FRAME_GROWS_DOWNWARD): Define to 1.
* config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
Update offset calculations.

From-SVN: r204737

11 years agore PR ada/35998 (debug info invalid x86_64 DW_AT_byte_size 0xffffffff)
Eric Botcazou [Wed, 13 Nov 2013 10:07:14 +0000 (10:07 +0000)]
re PR ada/35998 (debug info invalid x86_64 DW_AT_byte_size 0xffffffff)

PR ada/35998
* dwarf2out.c (add_byte_size_attribute): Also use int_size_in_bytes
for fields.  Do not add the attribute if the size is negative.

From-SVN: r204736

11 years agoarm.c: Include aarch-cost-tables.h.
Kyrylo Tkachov [Wed, 13 Nov 2013 09:45:20 +0000 (09:45 +0000)]
arm.c: Include aarch-cost-tables.h.

* config/arm/arm.c: Include aarch-cost-tables.h.
(generic_extra_costs): Move from here...
* config/arm/aarch-cost-tables.h: ... To here.  New file.

From-SVN: r204735

11 years agoi386.c (ix86_print_operand): Support z-masking.
Alexander Ivchenko [Wed, 13 Nov 2013 08:21:57 +0000 (08:21 +0000)]
i386.c (ix86_print_operand): Support z-masking.

* config/i386/i386.c (ix86_print_operand): Support z-masking.
* config/i386/predicate.md (const_0_to_4_operand): New.
(const_0_to_5_operand): Ditto.
* config/i386/sse.md (UNSPEC_COMPRESS): New.
(UNSPEC_COMPRESS_STORE): Ditto.
(UNSPEC_EXPAND): Ditto.
(UNSPEC_EMBEDDED_ROUNDING): Ditto.
(define_mode_attr ssescalarsize): Ditto.
(avx512f_load<mode>_mask): Ditto.
(avx512f_store<mode>_mask): Ditto.
(avx512f_storedqu<mode>_mask): Ditto.
(avx512f_vmcmp<mode>3_mask): Ditto.
(avx512f_fmadd_<mode>_mask): Ditto.
(avx512f_fmadd_<mode>_mask3): Ditto.
(avx512f_fmsub_<mode>_mask): Ditto.
(avx512f_fmsub_<mode>_mask3): Ditto.
(avx512f_fnmadd_<mode>_mask): Ditto.
(avx512f_fnmadd_<mode>_mask3): Ditto.
(avx512f_fnmsub_<mode>_mask): Ditto.
(avx512f_fnmsub_<mode>_mask3): Ditto.
(avx512f_fmaddsub_<mode>_mask): Ditto.
(avx512f_fmaddsub_<mode>_mask3): Ditto.
(avx512f_fmsubadd_<mode>_mask): Ditto.
(avx512f_fmsubadd_<mode>_mask3): Ditto.
(vec_unpacku_float_lo_v16si): Ditto.
(avx512f_vextract<shuffletype>32x4_mask): Ditto.
(avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
(avx512f_vextract<shuffletype>64x4_mask): Ditto.
(vec_extract_lo_<mode>_maskm): Ditto.
(vec_extract_hi_<mode>_maskm): Ditto.
(avx512f_vternlog<mode>_mask): Ditto.
(avx512f_shufps512_mask): Ditto.
(avx512f_fixupimm<mode>_mask): Ditto.
(avx512f_shufpd512_mask): Ditto.
(avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
(avx512f_<code>v8div16qi2_mask/trunc): Ditto.
(*avx512f_<code>v8div16qi2_store_mask): Ditto.
(ashr<mode>3<mask_name>): Ditto.
(avx512f_vinsert<shuffletype>32x4_mask): Ditto.
(avx512f_vinsert<shuffletype>64x4_mask): Ditto.
(avx512f_shuf_<shuffletype>64x2_mask): Ditto.
(avx512f_shuf_<shuffletype>32x4_mask): Ditto.
(avx512f_pshufdv3_mask): Ditto.
(avx512f_perm<mode>_mask): Ditto.
(avx512f_vpermi2var<mode>3_mask): Ditto.
(avx512f_vpermt2var<mode>3_mask): Ditto.
(avx512f_compress<mode>_mask): Ditto.
(avx512f_compressstore<mode>_mask): Ditto.
(avx512f_expand<mode>_mask): Ditto.
(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Extend
to support masking.
(avx512f_storeu<ssemodesuffix>512_mask): Ditto.
(<plusminus_insn><mode>3<mask_name>): Ditto.
(*<plusminus_insn><mode>3<mask_name>): Ditto.
(mul<mode>3<mask_name>): Ditto.
(*mul<mode>3<mask_name>): Ditto.
(<sse>_div<mode>3<mask_name>): Ditto.
(<mask_codefor>rcp14<mode><mask_name>): Ditto.
(<sse>_sqrt<mode>2<mask_name>): Ditto.
(<mask_codefor>rsqrt14<mode><mask_name>): Ditto.
(<code><mode>3<mask_name>/smaxmin): Ditto.
(*<code><mode>3_finite<mask_name>/smaxmin): Ditto.
(*<code><mode>3<mask_name>/smaxmin): Ditto.
(float<sseintvecmodelower><mode>2<mask_name>): Ditto.
(ufloatv16siv16sf2<mask_name>): Ditto.
(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto.
(<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto.
(<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto.
(float<si2dfmodelower><mode>2<mask_name>): Ditto.
(ufloatv8siv8df<mask_name>): Ditto.
(<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto.
(avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto.
(<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto.
(<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto.
(<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto.
(<mask_codefor>avx512f_unpckhps512<mask_name>): Ditto.
(<mask_codefor>avx512f_unpcklps512<mask_name>): Ditto.
(<mask_codefor>avx512f_movshdup512<mask_name>): Ditto.
(<mask_codefor>avx512f_movsldup512<mask_name>): Ditto.
(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
(vec_extract_lo_<mode><mask_name>): Ditto.
(vec_extract_hi_<mode><mask_name>): Ditto.
(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
(avx512f_movddup512<mask_name>): Ditto.
(avx512f_unpcklpd512<mask_name>): Ditto.
(*avx512f_unpcklpd512<mask_name>): Ditto.
(*avx512f_vmscalef<mode>): Ditto.
(avx512f_scalef<mode><mask_name>): Ditto.
(avx512f_getexp<mode><mask_name>): Ditto.
(<mask_codefor>avx512f_align<mode><mask_name>): Ditto.
(avx512f_rndscale<mode><mask_name>): Ditto.
(avx512f_shufps512_1<mask_name>): Ditto.
(avx512f_shufpd512_1<mask_name>): Ditto.
(<plusminus_insn><mode>3<mask_name>): Ditto.
(*<plusminus_insn><mode>3<mask_name>): Ditto.
(vec_widen_umult_even_v16si<mask_name>): Ditto.
(*vec_widen_umult_even_v16si<mask_name>): Ditto.
(vec_widen_smult_even_v16si<mask_name>): Ditto.
(*vec_widen_smult_even_v16si<mask_name>): Ditto.
(mul<mode>3<mask_name>): Ditto.
(*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto.
(<shift_insn><mode>3<mask_name>): Ditto.
(avx512f_<rotate>v<mode><mask_name>/rotate): Ditto.
(avx512f_<rotate><mode><mask_name>): Ditto.
(<code><mode>3<mask_name>/maxmin): Ditto.
(*avx2_<code><mode>3<mask_name>/maxmin): Ditto.
(<sse2_avx2>_andnot<mode>3<mask_name>): Ditto.
(*andnot<mode>3<mask_name>): Ditto.
(<mask_codefor><code><mode>3<mask_name>/any_logic): Ditto.
(<mask_codefor>avx512f_interleave_highv16si<mask_name>): Ditto.
(<mask_codefor>avx512f_interleave_lowv16si<mask_name>): Ditto.
(<mask_codefor>avx512f_vinsert<shuffletype>32x4_1<mask_name>): Ditto.
(vec_set_lo_<mode><mask_name>): Ditto.
(vec_set_hi_<mode><mask_name>): Ditto.
(avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto.
(avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto.
(avx512f_pshufd_1<mask_name>): Ditto.
(<mask_codefor>abs<mode>2<mask_name>): Ditto.
(<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>): Ditto.
(avx512f_<code>v16hiv16si2<mask_name>/any_extend): Ditto.
(avx512f_<code>v8qiv8di2<mask_name>/any_extend): Ditto.
(avx512f_<code>v8hiv8di2<mask_name>/any_extend): Ditto.
(avx512f_<code>v8siv8di2<mask_name>/any_extend): Ditto.
(avx512er_exp2<mode><mask_name>): Ditto.
(<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto.
(<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto.
(<avx2_avx512f>_permvar<mode><mask_name>): Ditto.
(<avx2_avx512f>_perm<mode>_1<mask_name>): Ditto.
(<mask_codefor>avx512f_vec_dup<mode><mask_name>): Ditto.
(<mask_codefor>avx512f_broadcast<mode><mask_name>/V16FI): Ditto.
(<mask_codefor>avx512f_broadcast<mode><mask_name>/V8FI): Ditto.
(<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>): Ditto.
(<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>): Ditto.
(<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF2): Ditto.
(<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF1): Ditto.
(*<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto.
(<sse2_avx_avx512f>_vpermilvar<mode>3<mask_name>): Ditto.
(<avx2_avx512f>_ashrv<mode><mask_name>): Ditto.
(<avx2_avx512f>_<shift_insn>v<mode><mask_name>): Ditto.
(<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto.
(<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto.
(avx512f_getmant<mode><mask_name>): Ditto.
(clz<mode>2<mask_name>): Ditto.
(<mask_codefor>conflict<mode><mask_name>): Ditto.
(*srcp14<mode>): Remove visibility.
(*rsqrt14<mode>): Ditto.
(*fma_fmsub_<mode>): Ditto.
(*fma_fnmadd_<mode>): Ditto.
(*avx512f_rndscale<mode>): Ditto.
* config/i386/subst.md: New file.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>
From-SVN: r204734

11 years ago* gcc.dg/c11-complex-1.c: New test.
Joseph Myers [Wed, 13 Nov 2013 00:43:03 +0000 (00:43 +0000)]
* gcc.dg/c11-complex-1.c: New test.

From-SVN: r204732

11 years agoextend.texi (Statement Exprs, Typeof): Discuss __auto_type.
Joseph Myers [Wed, 13 Nov 2013 00:38:49 +0000 (00:38 +0000)]
extend.texi (Statement Exprs, Typeof): Discuss __auto_type.

* doc/extend.texi (Statement Exprs, Typeof): Discuss __auto_type.
* ginclude/stdatomic.h (kill_dependency, atomic_store_explicit)
(atomic_load_explicit, atomic_exchange_explicit)
(atomic_compare_exchange_strong_explicit)
(atomic_compare_exchange_weak_explicit): Use __auto_type to
declare variable initialized with PTR argument.

c-family:
* c-common.h (enum rid): Add RID_AUTO_TYPE.
* c-common.c (c_common_reswords): Add __auto_type.
(keyword_begins_type_specifier): Handle RID_AUTO_TYPE.

c:
* c-tree.h (c_typespec_keyword): Add cts_auto_type.
* c-decl.c (declspecs_add_type, finish_declspecs): Handle
__auto_type.
* c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
(c_parser_attribute_any_word, c_parser_objc_selector): Handle
RID_AUTO_TYPE.
(c_parser_declspecs): Take argument AUTO_TYPE_OK.
(c_parser_declaration_or_fndef, c_parser_struct_declaration)
(c_parser_declarator, c_parser_direct_declarator_inner)
(c_parser_parameter_declaration, c_parser_type_name): All callers
changed.
(c_parser_declaration_or_fndef): Handle declarations with type
determined from the initializer.

testsuite:
* gcc.dg/atomic/stdatomic-vm.c, gcc.dg/auto-type-1.c,
gcc.dg/auto-type-2.c: New tests.

From-SVN: r204731

11 years agoThe patch re-factors libgcov.c to make it better modulelized.
Rong Xu [Wed, 13 Nov 2013 00:24:49 +0000 (00:24 +0000)]
The patch re-factors libgcov.c to make it better modulelized.

2013-11-12  Rong Xu  <xur@google.com>

The patch re-factors libgcov.c to make it better modulelized.
It contains two pieces of work:
1. break gcov_exit() into the following structure:
   gcov_exit()
      --> gcov_exit_compute_summary()
      --> allocate_filename_struct()
          for gi_ptr in gcov_list
            --> gcov_exit_dump_gcov()
                   --> gcov_exit_open_gcda_file()
                   --> gcov_exit_merge_gcda ()
                   --> gcov_exit_merge_summary ()
                   --> gcov_exit_write_gcda ()
2. split libgcov.c into the following files:
     libgcov-profiler.c
     libgcov-merge.c
     libgcov-interface.c
     libgcov-driver.c
       libgcov-driver-system.c (source included into libgcov-driver.c)

* libgcc/libgcov.c: Delete as part of re-factoring.
* gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to
        avoid warning.
* libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c.
(init_mx_once): Ditto.
(__gcov_flush): Ditto.
(__gcov_reset): Ditto.
(__gcov_dump): Ditto.
(__gcov_fork): Ditto.
(__gcov_execl): Ditto.
(__gcov_execlp): Ditto.
(__gcov_execle): Ditto.
(__gcov_execv): Ditto.
(__gcov_execvp): Ditto.
(__gcov_execve): Ditto.
        * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from
        libgcov.c.
(__gcov_merge_add): Ditto.
(__gcov_merge_ior): Ditto.
(__gcov_merge_single): Ditto.
(__gcov_merge_delta): Ditto.
* libgcc/libgcov-profiler.c
(__gcov_interval_profiler): Ditto.
(__gcov_pow2_profiler): Ditto.
(__gcov_one_value_profiler_body): Ditto.
(__gcov_one_value_profiler): Ditto.
(__gcov_indirect_call_profiler): Ditto.
(__gcov_indirect_call_profiler_v2): Ditto.
(__gcov_time_profiler): Ditto.
(__gcov_average_profiler): Ditto.
(__gcov_ior_profiler): Ditto.
* libgcc/libgcov-driver.c (set_gcov_list): New.
(get_gcov_dump_complete): Ditto.
(set_gcov_dump_complete):Ditto.
(reset_gcov_dump_complete):Ditto.
(gcov_exit_compute_summary): New function split from gcov_exit().
(gcov_exit_merge_gcda): Ditto.
(gcov_exit_write_gcda): Ditto.
(gcov_exit_merge_summary): Ditto.
(gcov_exit_dump_gcov): Ditto.
(struct gcov_fn_buffer): Moved from libgcov.c
(struct gcov_summary_buffer): Ditto.
(free_fn_data): Ditto.
(buffer_fn_data): Ditto.
(crc32_unsigned): Ditto.
(gcov_version): Ditto.
(gcov_histogram_insert): Ditto.
(gcov_compute_histogram): Ditto.
(gcov_exit): Ditto.
(gcov_clear): Ditto.
(__gcov_init): Ditto.
        (this_prg): Make it file scope static variable.
        (all_prg): Ditto.
        (crc32): Ditto.
        (gi_filename): Ditto.
        (fn_buffer): Ditto.
        (sum_buffer): Ditto.
        (struct gcov_filename_aux): New types to store auxiliary information
        for gi_filename.
* libgcc/libgcov-driver-system.c (gcov_error): New utility function.
(allocate_filename_struct): New function split from gcov_exit().
(gcov_exit_open_gcda_file): Ditto.
(create_file_directory): Moved from libgcov.c
* libgcc/Makefile.in: Change to build newly added files.

From-SVN: r204730

11 years agoDaily bump.
GCC Administrator [Wed, 13 Nov 2013 00:17:16 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204729

11 years agosanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source.
Jakub Jelinek [Tue, 12 Nov 2013 23:42:55 +0000 (00:42 +0100)]
sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source.

* sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
ifdef out almost the whole source.
* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

From-SVN: r204726

11 years ago+2013-11-12 Balaji V.
Balaji V. Iyer [Tue, 12 Nov 2013 23:17:26 +0000 (23:17 +0000)]
+2013-11-12 Balaji V.

+2013-11-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * gcc.dg/cilk-plus/cilk-plus.exp: Added a check for LTO before running
+       LTO tests.
+

From-SVN: r204725

11 years agotree-ssa-threadedge.c (thread_around_empty_blocks): New argument backedge_seen_p.
Jeff Law [Tue, 12 Nov 2013 23:15:13 +0000 (16:15 -0700)]
tree-ssa-threadedge.c (thread_around_empty_blocks): New argument backedge_seen_p.

* tree-ssa-threadedge.c (thread_around_empty_blocks): New
argument backedge_seen_p.  Set, use and pass it to children
appropriately.
(thread_through_normal_block): Similarly.
(thread_across_edge): Similarly.

From-SVN: r204724

11 years agoMakefile.am (libcilkrts_la_LDFLAGS): Added a check for availability of "-ldl" flag.
Balaji V. Iyer [Tue, 12 Nov 2013 23:13:13 +0000 (23:13 +0000)]
Makefile.am (libcilkrts_la_LDFLAGS): Added a check for availability of "-ldl" flag.

2013-11-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * Makefile.am (libcilkrts_la_LDFLAGS): Added a check for availability
        of "-ldl" flag.
        * configure.ac: Likewise.
        * configure: Regenerate
        * Makefile.in: Likewise.

From-SVN: r204723

11 years agogimple-ssa-isolate-paths.c (check_loadstore): Mark discovered memory references as...
Jeff Law [Tue, 12 Nov 2013 23:09:09 +0000 (16:09 -0700)]
gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered memory references as volatile.

* gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered
memory references as volatile.
(insert_trap_and_remove_trailing_statements): Fix comment.

* gcc.dg/tree-ssa/isolate-1.c: Update expected output.
* gcc.dg/tree-ssa/isolate-5.c: Verify the load survives through
the SSA optimizers.

From-SVN: r204722

11 years agocompiler: Update for mainline changes.
Ian Lance Taylor [Tue, 12 Nov 2013 22:44:15 +0000 (22:44 +0000)]
compiler: Update for mainline changes.

From Andrew MacLeod.

From-SVN: r204721

11 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Vladimir Makarov [Tue, 12 Nov 2013 21:33:06 +0000 (21:33 +0000)]
re PR other/58712 (issues found by --enable-checking=valgrind)

2013-11-12  Vladimir Makarov  <vmakarov@redhat.com>

PR other/58712
* ira-costs.c (record_operand_costs): Check operands number for
the single set.

From-SVN: r204720

11 years agore PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)
Michael Meissner [Tue, 12 Nov 2013 20:55:58 +0000 (20:55 +0000)]
re PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)

2013-11-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59054
* config/rs6000/rs6000.md (movdi_internal32): Eliminate
constraints that would allow DImode into the traditional Altivec
registers, but cause undesirable code generation when loading 0 as
a constant.
(movdi_internal64): Likewise.
(cmp<mode>_fpr): Do not use %x for CR register output.
(extendsfdf2_fpr): Fix constraints when -mallow-upper-df and
-mallow-upper-sf debug switches are used.

[gcc/testsuite]
2013-11-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59054
* gcc.target/powerpc/pr59054.c: New test.

From-SVN: r204718

11 years agogimple-expr.h (create_tmp_var_name, [...]): Relocate prototypes from gimple.h.
Andrew MacLeod [Tue, 12 Nov 2013 20:26:43 +0000 (20:26 +0000)]
gimple-expr.h (create_tmp_var_name, [...]): Relocate prototypes from gimple.h.

2013-11-12  Andrew MacLeod  <amacleod@redhat.com>

* gimple-expr.h (create_tmp_var_name, create_tmp_var_raw,
create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs):
Relocate prototypes from gimple.h.
* gimplify.h: New File.  Relocate some prototypes from gimple.h here.
(gimple_predicate, enum fallback, enum gimplify_status): Relocate
from gimple.h.
* gimple.h: Move some prototypes to gimplify.h.
(gimple_predicate, enum fallback, enum gimplify_status): Move to
gimplify.h.
(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location):
Relocate from gimpify.c.
* gimple-expr.c (remove_suffix, tmp_var_id_num, create_tmp_var_name,
create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable,
is_gimple_reg_rhs) Relocate from gimplify.c.
* gimplify.c (mark_addressable): Move to gimple-expr.c.
(gimple_seq_add_stmt_without_update): Move to gimple.c.
(remove_suffix, tmp_var_id_num, create_tmp_var_name, create_tmp_var_raw,
create_tmp_var, create_tmp_reg, is_gimple_reg_rhs): Move to
gimple-expr.c.
(should_carry_location_p): Move to gimple.c.
(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Move
to gimple.h.
(annotate_one_with_location, annotate_all_with_location_after,
annotate_all_with_location): Move to gimple.c.
(compare_case_labels, sort_case_labels,
preprocess_case_label_vec_for_gimple): Move to gimple.c.
(rhs_predicate_for): Make static.
(gimplify_assign): Relocate from gimple.c.
* gimple.c (gimplify_assign): Move to gimplify.c.
(gimple_seq_add_stmt_without_update, should_carry_location_p,
annotate_one_with_location, annotate_all_with_location_after,
annotate_all_with_location, compare_case_labels, sort_case_labels,
preprocess_case_label_vec_for_gimple): Relocate from gimplify.c.
* tree.h (unshare_expr, unshare_expr_without_location,
mark_addressable): Move prototypes to gimplify.h.
* Makefile.in (GTFILES): gimple-expr.c now has the GTY tag for
tmp_var_id_num
* asan.c: Include gimplify.h rather than gimple.h.
* cfgloopmanip.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* dwarf2out.c: Dont include gimple.h.
* fold-const.c: Include gimplify.h rather than gimple.h.
* function.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Dont include gimple.h.
* loop-init.c: Include gimplify.h rather than gimple.h.
* omp-low.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* targhooks.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa.c: Likewise.
* tree-switch-conversio: Likewise.n.c
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* config/aarch64/aarch64.c: Include gimplify.h instead of gimple.h.
* config/alpha/alpha.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* ada/gcc-interface/trans.c: Include gimplify.h.

* c/c-typeck.c: Include gimplify.h.

* c-family/c-common.c: Include gimplify.h.
* c-family/c-gimplify.c: Likewise.
* c-family/cilk.c: Likewise.
* c-family/c-omp.c: Include gimple-expr.h instead of gimple.h.
* c-family/c-ubsan.c: Don't include gimple.h.

* cp/class.c: Include gimplify.h.
* cp/cp-gimplify.c: Likewise.
* cp/error.c: Likewise.
* cp/init.c: Likewise.
* cp/optimize.c: Likewise.
* cp/pt.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.
* cp/decl2.c: Don't include gimple.h.
* cp/except.c: Likewise.
* cp/method.c: Include pointer-set.h instead of gimple.h.

* fortran/f95-lang.c: Don't include gimple.h.
* fortran/trans-array.c: Include gimple-expr.h instead of gimple.h.
* fortran/trans.c: Likewise.
* fortran/trans-decl.c: Likewise.
* fortran/trans-expr.c: Include gimplify.h.
* fortran/trans-openmp.c: Likewise.

* go/go-lang.c: Include gimplify.h.

* java/java-gimplify.c: Include gimplify.h.

* objc/objc-act.c: Include gimplify.h.

From-SVN: r204717

11 years agoAdd some generic lambda test cases.
Adam Butcher [Tue, 12 Nov 2013 20:17:54 +0000 (20:17 +0000)]
Add some generic lambda test cases.

gcc/testsuite/g++.dg/cpp1y/
* lambda-generic.C: New test case.
* lambda-generic-cfun.C: New test case.
* lambda-generic-dep.C: New test case.
* lambda-generic-udt.C: New test case.
* lambda-generic-variadic.C: New test case.
* lambda-generic-x.C: New test case.
* lambda-generic-xcfun.C: New test case.
* lambda-generic-xudt.C: New test case.
* lambda-generic-mixed.C: New test case.

From-SVN: r204716

11 years agoSupport implicit parameter packs.
Adam Butcher [Tue, 12 Nov 2013 20:17:44 +0000 (20:17 +0000)]
Support implicit parameter packs.

* pt.c (convert_generic_types_to_packs): New function to transform
a range of implicitly introduced non-pack template parms to be parameter
packs.
* cp-tree.h (convert_generic_types_to_packs): Declare.
* parser.c (cp_parser_parameter_declaration_list): If a function
parameter pack contains generic types, convert them to packs prior to
grokdeclarator.

From-SVN: r204715

11 years agoRefactor implicit function template implementation and fix 58534, 58536, 58548, 58549...
Adam Butcher [Tue, 12 Nov 2013 20:17:33 +0000 (20:17 +0000)]
Refactor implicit function template implementation and fix 58534, 58536, 58548, 58549 and 58637.

gcc/
* tree.c (grow_tree_vec_stat): New function ...
* tree.h (grow_tree_vec_stat) (grow_tree_vec): ... and its declaration
and macro front-end.

gcc/cp/
PR c++/58534
PR c++/58536
PR c++/58548
PR c++/58549
PR c++/58637
* parser.h (struct cp_parser): New members implicit_template_parms,
implicit_template_scope and auto_is_implicit_function_template_parm_p.
* parser.c (add_implicit_template_parms): Refactor as ...
(synthesize_implicit_template_parm): ... this to append a new template
type parm to the current template parameter list (introducing a new list
if necessary).  Removed push_deferring_access_checks.
(finish_fully_implicit_template): Removed pop_deferring_access_checks.
(cp_parser_new): Initialize new cp_parser members.
(cp_parser_parameter_declaration_clause): Consider auto as implicit
template parm when parsing a parameter declaration (unless parsing an
explicit specialization).
(cp_parser_parameter_declaration_list): Remove local
implicit_template_parms counter and reset cp_parser implicit template
state when complete.
(cp_parser_lambda_expression): Reset implicit template cp_parser members
whilst generating lambda class.
(cp_parser_function_definition_after_declarator): Reset implicit
template cp_parser members whilst parsing function definition.
(make_generic_type_name): Respell '<autoN>' as 'auto:N' which works
better with template diagnostics.
(cp_parser_simple_type_specifier): Synthesize implicit template parm on
parsing 'auto' if auto_is_implicit_function_template_parm_p and provide
diagnostics ...
* decl.c (grokdeclarator): ... that were previously done here.

gcc/testsuite/g++.dg/
* cpp1y/pr58534.C: New testcase.
* cpp1y/pr58536.C: New testcase.
* cpp1y/pr58548.C: New testcase.
* cpp1y/pr58549.C: New testcase.
* cpp1y/pr58637.C: New testcase.

From-SVN: r204714

11 years agocp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *).
Uros Bizjak [Tue, 12 Nov 2013 20:02:21 +0000 (21:02 +0100)]
cp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *).

* cp-demangle.c (d_copy_templates): Cast result of malloc
to (struct d_print_template *).
(d_print_comp): Cast result of realloc to (struct d_saved scope *).

From-SVN: r204713