1. 15 Jul, 2015 1 commit
    • re PR c++/66850 (Adding a forward declaration of a template containing a… · 09f725f4
      re PR c++/66850 (Adding a forward declaration of a template containing a template template parm causes ICE on valid code)
      
      Fix PR c++/66850
      
      gcc/cp/ChangeLog:
      
      	PR c++/66850
      	* pt.c (redeclare_class_template): Set the DECL_CONTEXTs of each
      	template template parm in the redeclaration.
      	(lookup_template_class_1): Peel off irrelevant template levels
      	from current_template_parms before augmenting the argument
      	list.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/66850
      	* g++.dg/template/pr66850.C: New test.
      
      From-SVN: r225801
      Patrick Palka committed
  2. 14 Jul, 2015 34 commits
    • constraints.md (U, v): New constraints. · 524d2e49
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/constraints.md (U, v): New constraints.
      	* config/nios2/predicates.md (rdprs_dcache_operand): New.
      	(ldstex_memory_operand): New.
      	* config/nios2/sync.md: New file.
      	* config/nios2/nios2.md (unspecv): Add new builtin function
      	UNSPECV codes.
      	(rdprs, flushd, flushda, wrpie, eni): New patterns.
      	(top-level): Include sync.md.
      	* config/nios2/nios2.c (N2_FTYPES): Add function types for
      	new builtins.
      	(N2_BUILTINS): Add arch field setting, add new builtins.
      	(enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
      	for arch field.
      	(nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
      	Also handle ldex/stex/ldsex/stsex builtins.
      	(nios2_expand_rdprs_builtin): New function.
      	(nios2_expand_cache_builtin): New function.
      	(nios2_expand_wrpie_builtin): New function.
      	(nios2_expand_eni_builtin): New function.
      	(nios2_expand_builtin): Add arch field handling and new builtin 
              cases.
      	* doc/extend.texi (Altera Nios II Built-in Functions): Document
      	new builtins.
      	* doc/md.texi (Machine Constraints): Document U and v constraints.
      
      	gcc/testsuite/
      	* gcc.target/nios2/nios2-flushd.c: New.
      	* gcc.target/nios2/nios2-rdprs.c: New.
      	* gcc.target/nios2/r2-atomic.c: New.
      	* gcc.target/nios2/r2-eni.c: New.
      	* gcc.target/nios2/r2-wrpie.c: New.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225800
      Sandra Loosemore committed
    • nios2-protos.h (nios2_expand_return): Declare. · c3ff2812
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2-protos.h (nios2_expand_return): Declare.
      	* config/nios2/nios2.c (struct GTY (()) machine_function): Add
      	callee_save_reg_size and uses_anonymous_args fields.
      	(nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
      	(nios2_create_cfa_notes): New function.
      	(nios2_adjust_stack): New function for adjusting stack.
      	(nios2_expand_prologue): Update for CDX push.n/pop.n usage.
      	Use nios2_adjust_stack.
      	(nios2_expand_epilogue): Likewise.
      	(nios2_expand_return): New function.
      	(nios2_can_use_return_insn): Update for CDX pop.n usage.
      	(nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
      	If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
      	* config/nios2/nios2.md (return): Use nios2_expand_return.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225799
      Sandra Loosemore committed
    • predicates.md (pop_operation): New. · aa32db37
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/predicates.md (pop_operation): New.
      	(ldwm_operation, stwm_operation): New.
      	(nios2_hard_register_operand): New.
      	* config/nios2/nios2-protos.h (pop_operation_p): Declare.
      	(ldstwm_operation_p): Declare.
      	(gen_ldstwm_peep): Declare.
      	* config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
      	(base_reg_adjustment_p): New.
      	(pop_operation_p): New.
      	(CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
      	(nios2_ldstwm_regset_p): New.
      	(ldstwm_operation_p): New.
      	(gen_ldst): New.
      	(nios2_ldst_parallel): New.
      	(struct ldswm_operand): Declare.
      	(compare_ldstwm_operands): New.
      	(can_use_cdx_ldstw): New.
      	(gen_ldstwm_peep): New.
      	* config/nios2/nios2-ldstwm.sml: New.
      	* config/nios2/nios2.md: Include ldstwm.md.
      	* config/nios2/ldstwm.md: Generated.
      
      	gcc/testsuite/
      	* gcc.target/nios2/cdx-ldstwm-1.c: New.
      	* gcc.target/nios2/cdx-ldstwm-2.c: New.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225798
      Sandra Loosemore committed
    • nios2.h (LABEL_ALIGN): Define. · 3bbbe009
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.h (LABEL_ALIGN): Define.
      	(REG_ALLOC_ORDER): Define.
      	(ADJUST_REG_ALLOC_ORDER): Define.
      	(HONOR_REG_ALLOC_ORDER): Define.
      	(CDX_REG_P): Define.
      	(ANDCLEAR_INT): Define.
      	* config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
      	(nios2_label_align): Declare.
      	(nios2_cdx_narrow_form_p): Declare.
      	(nios2_adjust_reg_alloc_order): Declare.
      	* config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
      	operation.
      	(nios2_large_unspec_reloc_p): New function, split from...
      	(nios2_legitimate_pic_operand_p): ...here.
      	(nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
      	(nios2_print_operand_punct_valid_p): New.
      	(nios2_print_operand): Add %., %!, %x, %y, %A.  Remove %U.
      	(split_mem_address): New.
      	(split_alu_insn): New.
      	(cdxreg): New.
      	(cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
      	(enum nios2_add_insn_kind): New.
      	(nios2_add_insn_names, nios2_add_insn_narrow): New.
      	(nios2_add_insn_classify): New.
      	(nios2_add_insn_asm): New.
      	(nios2_cdx_narrow_form_p): New.
      	(label_align, min_labelno, max_labelno): New.
      	(nios2_reorg): New.
      	(nios2_label_align): New.
      	(nios2_adjust_reg_alloc_order): New.
      	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
      	(TARGET_MACHINE_DEPENDENT_REORG): Define.
      	* config/nios2/constraints.md (P): New constraint.
      	* config/nios2/predicates.md (const_and_operand): New.
      	(and_operand): New.
      	(stack_memory_operand): New.
      	* config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
      	(length): Update to use nios2_cdx_narrow_form_p().
      	(type): Add new insn type values.
      	(control, alu, st, ld, shift): Update insn reservations with
      	new insn type values.
      	(*high, *lo_sum): Define new insn patterns for constant generation.
      	(movqi_internal, movhi_internal, movsi_internal): Reduce
      	alternatives, update asm template to handle CDX variants, update
      	type attributes.
      	(zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
      	template, update type attributes.
      	(extendhisi2, extendqi<mode>2): Likewise.
      	(addsi3): Change to use function for asm string.
      	(subsi3): Add CDX notation to asm template, update type attributes.
      	(negsi3, one_cmplsi3): Likewise.
      	(andsi3): New pattern, specialized from logical patterns.
      	(<code>si3): Remove and case, combine alternatives, update asm
      	template.
      	(<shift_op>si3): Add CDX notation, update type attributes.
      	(rotrsi3): Update type attribute.
      	(*merge, extzv, insv): New insn patterns.
      	(return): Change to define_expand.
      	(simple_return): Add CDX notation, update type attributes.
      	(indirect_jump): Add CDX notation.
      	(jump): Update asm cases, update length attribute expression.
      	(*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
      	(nios2_cbranch): Update asm cases and length attribute expression
      	to handle CDX variants.
      	(nios2_cmp<code>): Update asm template.
      	(nop): Add CDX notation, update type attributes.
      	(trap): Add CDX notation.
      	(ctrapsi4): Update asm cases and length attribute expression to
      	handle CDX variant.
      	* doc/md.texi (Machine Constraints): Document P constraint.
      
      	gcc/testsuite/
      	* gcc.target/nios2/andci.c: New.
      	* gcc.target/nios2/bmx.c: New.
      	* gcc.target/nios2/cdx-add.c: New.
      	* gcc.target/nios2/cdx-branch.c: New.
      	* gcc.target/nios2/cdx-callret.c: New.
      	* gcc.target/nios2/cdx-loadstore.c: New.
      	* gcc.target/nios2/cdx-logical.c: New.
      	* gcc.target/nios2/cdx-mov.c: New.
      	* gcc.target/nios2/cdx-shift.c: New.
      	* gcc.target/nios2/cdx-sub.c: New.
      	* gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225796
      Sandra Loosemore committed
    • tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level. · a03c6ae3
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgcc/
      	* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
      	for __nios2_arch__ level.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225794
      Sandra Loosemore committed
    • re PR c++/65071 (ICE on valid, sizeof...() of template template parameter pack in return type) · 973590f3
      /cp
      2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>
      
      	PR c++/65071
      	* parser.c (cp_parser_sizeof_pack): Also consider template template
      	parameters.
      
      /testsuite
      2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>
      
      	PR c++/65071
      	* g++.dg/cpp0x/vt-65071.C: New.
      
      From-SVN: r225793
      Andrea Azzarone committed
    • nios2.h (SMALL_INT12): New macro. · 42e6ab74
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.h (SMALL_INT12): New macro.
      	* config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
      	(nios2_valid_addr_expr_p): Use it.
      	(nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
      	with implicit "io" instructions on R2.
      	* config/nios2/constraints.md (w): New constraint.
      	* config/nios2/predicates.md (ldstio_memory_operand): New.
      	* config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
      	operand predicate and constraint.
      	(ld<bh>io_signed, st<bhw>io>): Likewise.
      	* doc/md.texi (Machine Constraints): Document w constraint.
      
      	gcc/testsuite/
      	* gcc.target/nios2/r2-io-range.c: New.
      	* gcc.target/nios2/r2-stio-1.c: New.
      	* gcc.target/nios2/r2-stio-2.c: New.
      	* gcc.target/nios2/nios2-ldxio.c: New.
      	* gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
      	of just compile.  Add more tests.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225792
      Sandra Loosemore committed
    • nios2.opt (march, mbmx, mcdx): New options. · 77c50d73
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.opt (march, mbmx, mcdx): New options.
      	* config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
      	Nios II architecture level.
      	* config/nios2/nios2.h (TARGET_ARCH_R2): New define.
      	(TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
      	(OPTION_DEFAULT_SPECS): Define.
      	(ASM_SPEC): Add -march= spec strings.
      	* config/nios2/nios2.c (nios2_option_override): Check for
      	conflicts involving new options.
      	* config.gcc (nios2*-*-*): Support --with-arch=.
      	* doc/invoke.texi (Option Summary, Nios II Options): Document
      	-march=, -mbmx,	and -mcdx.
      
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225791
      Sandra Loosemore committed
    • simplify.c (gfc_simplify_floor): Set precision of temporary to that of arg. · ff7097f2
      2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* simplify.c (gfc_simplify_floor): Set precision of temporary to
      	that of arg.
      
      2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	gfortran.dg/pr66864.f90: New test.
      
      From-SVN: r225790
      Steven G. Kargl committed
    • re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c… · 6e5ad0f9
      re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu)
      
      2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/66626
      	* lra-constraints.c (lra_constraints): Prevent equivalence
      	substitution for static chain pseudo in functions with nonlocal
      	goto.
      
      2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/66626
      	* gcc.target/i386/pr66626.c: New.
      
      From-SVN: r225789
      Vladimir Makarov committed
    • PR 66861 Fix null pointer crash on mingw. · 5fd6ec3e
      2015-07-14  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/66861
      	* io/unix.c (compare_file_filename): Verify that u->filename is
      	non-NULL before strcmp.
      	(find_file0): Likewise.
      
      From-SVN: r225788
      Janne Blomqvist committed
    • nios2.c (TEMP_REG_NUM): Move define up in file. · 5faebb89
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
      	(nios2_emit_stack_limit_check): Add size parameter.  Handle
      	-fstack-limit-symbol as well as -fstack-limit-register.
      	(nios2_expand_prologue): Emit only a single stack limit check,
      	even if multiple stack adjustments are required.
      	(nios2_option_override): Diagnose unsupported combination of -fpic
      	and -stack-limit-symbol.
      
      	gcc/testsuite/
      	* gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
      	* gcc.target/nios2/nios2-stack-check-2.c: Likewise.
      	* gcc.target/nios2/nios2-stack-check-3.c: New test case.
      
      From-SVN: r225787
      Sandra Loosemore committed
    • simd-3.c: (main): Change type of res and ref from int to double. · 4c1cb4da
      2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
      
      libgomp/
      	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
      	and ref from int to double.  Replaced their comparison with
      	an inequality of their difference and EPS.
      	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
      	comparison of pri and a reference number with an inequality of their
      	difference and EPS.
      	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
      	the comparison of sum and sum_ref with an inequality of their
      	difference and EPS.
      	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
      	the comparison of pri and a reference number with an inequality of
      	their difference and EPS.
      
      From-SVN: r225786
      Maxim Blumenthal committed
    • * call.c (build_new_method_call_1): Call reshape_init. · e056dfd0
      From-SVN: r225784
      Jason Merrill committed
    • pt.c (check_template_shadow): Emit error + inform instead of two errors. · 87679b76
      /cp
      2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (check_template_shadow): Emit error + inform instead of
      	two errors.
      
      /testsuite
      2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/template/crash81.C: Adjust for error + inform change.
      	* g++.dg/template/pr58878.C: Likewise.
      	* g++.dg/template/shadow1.C: Likewise.
      	* g++.dg/template/shadow2.C: Likewise.
      	* g++.old-deja/g++.benjamin/tem03.C: Likewise.
      	* g++.old-deja/g++.benjamin/tem04.C: Likewise.
      	* g++.old-deja/g++.brendan/crash7.C: Likewise.
      	* g++.old-deja/g++.pt/shadow2.C: Likewise.
      
      From-SVN: r225783
      Paolo Carlini committed
    • Remove trailing spaces in demangle.h · 721c8251
      From-SVN: r225782
      H.J. Lu committed
    • Update copyright year in include · 9cefc856
      From-SVN: r225781
      H.J. Lu committed
    • configure.tgt: Add *-*-dragonfly to supported targets. · b6735e76
      2015-07-14  John Marino  <gnugcc@marino.st>
      
      	* configure.tgt: Add *-*-dragonfly to supported targets.
      
      From-SVN: r225779
      John Marino committed
    • Sync toplevel configure with binutils-gdb · f1595603
      	Sync with binutils-gdb:
      	2015-03-17  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac (target_configdirs): Exclude target-zlib if
      	target-libjava isn't built.
      	* configure: Regenerated.
      
      From-SVN: r225778
      H.J. Lu committed
    • Sync toplevel configure with binutils-gdb · a05c2c75
      	Sync with binutils-gdb:
      	2015-05-13  John David Anglin  <dave.anglin@bell.net>
      
      	* configure.ac: Disable configuration of GDB for HPUX targets.
      	* configure: Regenerate.
      
      	2015-04-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac: Add --with-system-zlib.
      	* configure: Regenerated.
      
      	2015-01-28  James Bowman  <james.bowman@ftdichip.com>
      
      	* configure.ac: Add FT32 support.
      	* configure: Regenerate.
      
      	2015-01-12  Anthony Green  <green@moxielogic.com>
      
      	* configure.ac: Don't disable gprof for moxie.
      	* configure: Rebuild.
      
      From-SVN: r225777
      H.J. Lu committed
    • Sync toplevel files binutils-gdb · 1c01ebf6
      	Sync with binutils-gdb:
      	2015-05-01  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR ld/18355
      	* Makefile.def: Add extra_configure_flags to host zlib.
      	* configure.ac (extra_host_zlib_configure_flags): New.  Set
      	to --enable-host-shared When bfd is to be built as shared
      	library.  AC_SUBST.
      	* Makefile.in: Regenerated.
      
      From-SVN: r225776
      H.J. Lu committed
    • This patch syncs zlib.m4 with binutils-gdb and uses AM_ZLIB from zlib.m4 · 96a58590
      in gcc/configure.ac.
      
      config/
      
      	* zlib.m4: Sync with binutils-gdb.
      
      gcc/
      
      	* Makefile.in (top_srcdir): New.
      	* configure.ac: Use AM_ZLIB.
      	* configure: Regeneated.
      
      From-SVN: r225774
      H.J. Lu committed
    • re PR target/66840 (plugins fail to build on powerpc64le-linux-gnu) · 6ed80e1e
      2015-07-14  Matthias Klose  <doko@ubuntu.com>
      
              PR target/66840
              * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
      
      From-SVN: r225772
      Matthias Klose committed
    • Sync with src: · e59969a1
      	2015-03-30  H.J. Lu  <hongjiu.lu@intel.com>
      	* Makefile.def (dependencies): Add all-zlib to all-bfd.
      	* Makefile.in: Regenerated.
      
      From-SVN: r225769
      Hans-Peter Nilsson committed
    • re PR tree-optimization/66863 (wrong code at -Os and above on x86_64-linux-gnu) · fe9acb3a
      2015-07-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/66863
      	* tree-vrp.c (register_edge_assert_for_2): Properly restrict
      	what we record for conversion use stmt lhs inequalities.
      
      	* gcc.dg/torture/pr66863.c: New testcase.
      
      From-SVN: r225768
      Richard Biener committed
    • genmatch.c (dt_node::gen_kids_1): Fix case label indenting. · 1ec1fa94
      2015-07-14  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
      	(decision_tree::gen_gimple): Likewise.
      
      From-SVN: r225765
      Richard Biener committed
    • Ignore -ftree-parallelize-loops={0,1} using gt · cf7416c3
      2015-07-14  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c (greater_than_spec_func): Declare forward.
      	(LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
      	-ftree-parallelize-loops={0,1}.
      	(static_spec_functions): Add greater_than_spec_func function with name
      	"gt".
      	(greater_than_spec_func): New function.
      
      From-SVN: r225764
      Tom de Vries committed
    • tree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion… · c9080ba2
      tree-ssa-dom.c (record_temporary_equivalences): Merge wideing type conversion case from record_equivalences_from_incoming_edge...
      
      2015-07-14  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-dom.c (record_temporary_equivalences): Merge
      	wideing type conversion case from record_equivalences_from_incoming_edge
      	and use record_equality to record equivalences.
      	(record_equivalences_from_incoming_edge): Call
      	record_temporary_equivalences.
      
      From-SVN: r225761
      Richard Biener committed
    • genmatch.c (struct operand): Add OP_IF and OP_WITH op_types. · 8fdc6c67
      2015-07-14  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
      	(struct if_expr): New.
      	(struct with_expr): Likewise.
      	(is_a_helper): Add helpers for if_expr and with_expr.
      	(struct simplify): Add simplify_kind enum and member.  Remove
      	ifexpr_vec member.
      	(simplify::simplify): Adjust.
      	(lower_commutative): Adjust.
      	(lower_opt_convert): Likewise.
      	(lower_cond): Likewise.
      	(replace_id): Handle with_expr and if_expr.
      	(lower_for): Adjust.
      	(dt_simplify::gen_1): New recursive worker, split out from ...
      	(dt_simplify::gen): ... here.  Deal with if and with expansion
      	recursively.
      	(capture_info::capture_info): Take context argument
      	(capture_info::walk_result): Only analyze specific result.
      	(parser::parse_result): New function.
      	(parser::parse_simplify): Adjust to parse ifs with then end
      	else case.
      	(parser::parse_if): Simplify.
      	(parser::parse_pattern): Pass down simplify kind.
      	* match.pd: Convert if structure to new syntax.
      
      From-SVN: r225760
      Richard Biener committed
    • compiler,runtime: Determine if allocations need new pointers in runtime. · 67a546ab
          
          As the removed comment states, if the package being compiled played
          certain tricks with pointers that looked like integers, the compiler
          might allocate space for new pointers unnecessarily.  Since the type
          information on the heap is now precise, this logic can be moved to the
          runtime.
          
          Reviewed-on: https://go-review.googlesource.com/11581
      
      From-SVN: r225757
      Ian Lance Taylor committed
    • compiler: Improve location info for function parameters. · d8b6e6a1
          
          Previously, errors reported for function parameters would point to the
          beginning of the function declaration instead of to the column for the
          given parameter.
          
          Reviewed-on: https://go-review.googlesource.com/11580
      
      From-SVN: r225756
      Ian Lance Taylor committed
    • Daily bump. · 4d5586f5
      From-SVN: r225755
      GCC Administrator committed
    • Update to patch that Aldy committed directly here. · 7374d1d4
      From-SVN: r225752
      Ian Lance Taylor committed
    • escape: Analyze multiple result type assertions. · 485c981f
          
          For multi-result type assertions, the object being converted is hidden
          behind unsafe conversions and calls to runtime methods.  This change
          allows the analysis to make edges between the result of the assertion
          and the object being asserted.
          
          Reviewed-on: https://go-review.googlesource.com/10661
      
      From-SVN: r225751
      Ian Lance Taylor committed
  3. 13 Jul, 2015 5 commits
    • re PR c++/65186 (internal compiler error: in tsubst, at cp/pt.c:11738) · 15d6614a
      Fix PR c++/65186
      
      gcc/cp/ChangeLog: 
      	PR c++/65186
      	* pt.c (invalid_nontype_parm_type_p): Accept a bound template
      	template parm type under C++11 and later.
      
      gcc/testsuite/ChangeLog:
      
      	PR c++/65186
      	* g++.dg/template/pr65186.C: New test.
      
      From-SVN: r225749
      Patrick Palka committed
    • re PR libstdc++/66855 (codecvt wrong endianness in UTF-16 conversions) · 795038b7
      	PR libstdc++/66855
      	* src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
      	endianness bit in mode.
      	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
      
      From-SVN: r225748
      Jonathan Wakely committed
    • * rtl.c (rtx_equal_p_cb): Fix typo. · c05fbb62
      From-SVN: r225747
      Marek Polacek committed
    • syscall: remove calls to Entersyscall & Exitsyscall in Getdents · 51cef06e
          
          The syscall for Getdents in syscall/libcall_linux.go
          called Entersyscall and Exitsyscall, causing the
          runtime_sched counts for goroutines to be incorrect.
          Inconsistent counts caused checkdead in runtime/proc.c
          to panic.
          
          Fixes golang/go#11406
          
          Reviewed-on: https://go-review.googlesource.com/11761
      
      From-SVN: r225745
      Ian Lance Taylor committed
    • c++config (_GLIBCXX_NOEXCEPT_IF): Define. · c5d9ec56
      	* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
      	* include/bits/forward_list.h (forward_list::swap): Make noexcept
      	unconditional.
      	* include/bits/hashtable.h (_Hashtable::swap): Do not use
      	_S_nothrow_swap().
      	* include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
      	unconditional.
      	* include/bits/stl_deque.h (deque::swap): Likewise.
      	(swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
      	* include/bits/stl_list.h (list::swap): Make noexcept unconditional.
      	(swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
      	* include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
      	_GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
      	* include/bits/stl_multimap.h (multimap::swap,
      	swap(multimap&, multimap&)): Likewise.
      	* include/bits/stl_multiset.h (multiset::swap,
      	swap(multiset&, multiset&)): Likewise.
      	* include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
      	* include/bits/stl_tree.h (_Rb_tree::swap,
      	swap(_Rb_tree&, _Rb_tree&)): Likewise.
      	* include/bits/stl_vector.h (vector::swap): Make noexcept
      	unconditional.
      	(swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
      	* include/debug/deque (deque::swap, swap): Likewise.
      	* include/debug/forward_list (swap): Add noexcept.
      	* include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
      	* include/debug/map.h (map::swap, swap): Likewise.
      	* include/debug/multimap.h (multimap::swap, swap): Likewise.
      	* include/debug/multiset.h (multiset::Swap, swap): Likewise.
      	* include/debug/set.h (set::swap, swap): Likewise.
      	* include/debug/unordered_map (unordered_map::swap,
      	unordered_multimap::swap, swap): Likewise.
      	* include/debug/unordered_set (unordered_set::swap,
      	unordered_multiset::swap, swap): Likewise.
      	* include/debug/vector (vector::swap, swap): Likewise.
      	* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
      	Remove.
      	* include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
      	* include/profile/forward_list (swap): Add noexcept.
      	* include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
      	* include/profile/map.h (map::swap, swap): Likewise.
      	* include/profile/multimap.h (multimap::swap, swap): Likewise.
      	* include/profile/multiset.h (multiset::swap, swap): Likewise.
      	* include/profile/set.h (set::swap, swap): Likewise.
      	* include/profile/unordered_map (swap): Likewise.
      	* include/profile/unordered_set (swap): Likewise.
      	* include/profile/vector (vector::swap, swap): Likewise. Remove
      	overloads for swapping rvalues.
      	* testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
      	for noexcept on swap.
      	* testsuite/23_containers/forward_list/allocator/noexcept.cc:
      	Likewise.
      	* testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
      	Likewise.
      	* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
      	* testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
      	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
      	number.
      
      From-SVN: r225744
      Jonathan Wakely committed