Commit Graph

139522 Commits

Author SHA1 Message Date
Mikhail Maltsev
76d96a5a6f Fix several crashes of C++ demangler on fuzzed input.
libiberty/
	* cp-demangle.c (d_dump): Fix syntax error.
	(d_identifier): Adjust type of len to match d_source_name.
	(d_expression_1): Fix out-of-bounds access.  Check code variable for
	NULL before dereferencing it.
	(d_find_pack): Do not recurse for FIXED_TYPE, DEFAULT_ARG and NUMBER.
	(d_print_comp_inner): Add NULL pointer check.
	* cp-demangle.h (d_peek_next_char): Define as inline function when
	CHECK_DEMANGLER is defined.
	(d_advance): Likewise.
	* testsuite/demangle-expected: Add new testcases.

From-SVN: r225727
2015-07-13 05:49:54 +00:00
Aldy Hernandez
026c3cfd5e Fix double word typos.
From-SVN: r225726
2015-07-13 04:46:34 +00:00
GCC Administrator
7e8ce0f359 Daily bump.
From-SVN: r225725
2015-07-13 00:16:17 +00:00
Kugan Vivekanandarajah
9844173510 re PR tree-optimization/66726 (missed optimization, factor conversion out of COND_EXPR)
gcc/testsuite/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
	    Jeff Law  <law@redhat.com>

	PR middle-end/66726
	* g++.dg/tree-ssa/pr66726.c: New test.
	* gcc.dg/tree-ssa/pr66726-2.c: New test.
	* gcc.dg/tree-ssa/pr66726.c: New test.


gcc/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR middle-end/66726
	* tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
	tree_ssa_phiopt_worker): Call it.



Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r225722
2015-07-12 11:22:42 +00:00
Kugan Vivekanandarajah
7f7379f6f4 cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
gcc/ChangeLog:

2015-07-12  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
	* emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
	REG_EQUAL note.

From-SVN: r225721
2015-07-12 11:16:30 +00:00
GCC Administrator
01169386a0 Daily bump.
From-SVN: r225718
2015-07-12 00:16:11 +00:00
Paolo Carlini
4aeb847a75 re PR c++/58734 ([C++11] Template template parameter pack instantiation problem)
2015-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58734
	* g++.dg/cpp0x/variadic-ttp2.C: New.

From-SVN: r225713
2015-07-11 18:17:41 +00:00
Paolo Carlini
6f9c217af5 2015-07-10 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in the last ChangeLog entry.

From-SVN: r225712
2015-07-11 17:53:42 +00:00
Marek Polacek
f1544089c1 re PR middle-end/66353 (Missing bb_has_abnormal_call_pred in basic-block.h)
PR middle-end/66353
	* basic-block.h	(has_abnormal_call_or_eh_pred_edge_p): New function.
	* ira-lives.c (bb_has_abnormal_call_pred): Remove function.
	(process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
	rather than bb_has_abnormal_call_pred.
	* lra-lives.c (bb_has_abnormal_call_pred): Remove function.
	(process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
	rather than bb_has_abnormal_call_pred.

From-SVN: r225711
2015-07-11 10:03:38 +00:00
GCC Administrator
15015c1adb Daily bump.
From-SVN: r225709
2015-07-11 00:16:11 +00:00
Patrick Palka
c554094507 re PR c++/30044 (ICE in tsubst, at cp/pt.c:7359)
Fix PR c++/30044

gcc/cp/ChangeLog:

	PR c++/30044
	* pt.c (begin_template_parm_list): Add a dummy parameter level
	to current_template_parms.
	(end_template_parm_list): Remove the dummy parameter level
	before adding the real one.
	(tsubst): Don't attempt to substitute for template parameters
	corresponding to a dummy argument level.
	(template_parms_to_args): Remove obsolete hack for
	giving template template arguments the proper level.
	(splite_late_return_type): Remove obsolete hack for giving
	template template arguments the proper level.
	* error.c (dump_template_decl): Don't print dummy template
	levels.

gcc/testsuite/ChangeLog

	PR c++/30044
	* g++.dg/cpp0x/auto46.C: New test.
	* g++.dg/template/pr30044.C: New test.
	* g++.dg/template/shadow2.C: New test.
	* g++.dg/template/error55.C: New test.
	* g++.dg/template/crash83.C: Accept any error string.
	* g++.dg/cpp0x/variadic18.C: Adjust to avoid shadowing template
	parameters.
	* g++.dg/cpp0x/variadic18.C: Likewise
	* g++.dg/template/canon-type-13.C: Likewise.
	* g++.old-deja/g++.pt/ttp42.C: Likewise.
	* g++.dg/torture/20070621-1.C: Likewise.

From-SVN: r225706
2015-07-10 23:21:39 +00:00
Paolo Carlini
0a73242e1a re PR c++/54521 (g++ fails to call explicit constructors in the second step of copy initialization)
/cp
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54521
	* call.c (convert_like_real): Do not set LOOKUP_ONLYCONVERTING for
	the second step of copy-initialization.

/testsuite
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54521
	* g++.dg/init/explicit3.C: New.

From-SVN: r225705
2015-07-10 22:56:35 +00:00
Jason Merrill
2ec7e902e7 typo
From-SVN: r225693
2015-07-10 17:35:09 -04:00
Jason Merrill
8de8fdb456 pt.c (find_parameter_packs_r): Handle variable templates.
* pt.c (find_parameter_packs_r): Handle variable templates.
	(variable_template_specialization_p): New.
	* cp-tree.h: Declare it.

From-SVN: r225692
2015-07-10 17:35:04 -04:00
Jason Merrill
55b467a057 * parser.c (cp_parser_template_id): SET_EXPR_LOCATION.
From-SVN: r225691
2015-07-10 17:34:59 -04:00
Anatoly Sokolov
b3ba1c09a8 [V850] Hookize GO_IF_LEGITIMATE_ADDRESS
From-SVN: r225690
2015-07-11 00:31:19 +03:00
Andrew Macleod
5d85afe92a bb-reorder.c: Don't include obstack.h if backend.h is included.
* bb-reorder.c: Don't include obstack.h if backend.h is included.
	* cfg.c: Likewise.
	* cfgloopanal.c: Likewise.
	* cfgrtl.c: Likewise.
	* combine.c: Likewise.
	* cprop.c: Likewise.
	* dominance.c: Likewise.
	* fwprop.c: Likewise.
	* gcse.c: Likewise.
	* ira-emit.c: Likewise.
	* ira.c: Likewise.
	* loop-init.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-iv.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* postreload-gcse.c: Likewise.
	* postreload.c: Likewise.
	* regcprop.c: Likewise.
	* regrename.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree.c: Likewise.
	* web.c: Likewise.
	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr.c: Likewise.
	* config/darwin.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/ft32/ft32.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/moxie/moxie.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/spu/spu.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.

From-SVN: r225689
2015-07-10 21:05:42 +00:00
H.J. Lu
a0ff7835af Allow indirect sibcall with register arguments
Indirect sibcall with register arguments is OK when there is register
available for argument passing.

gcc/

	PR target/66819
	* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
	indirect sibcall with register arguments if register available
	for argument passing.
	(init_cumulative_args): Set cfun->machine->arg_reg_available
	to (cum->nregs > 0) or to true if function has a variable
	argument list.
	(function_arg_advance_32): Set cfun->machine->arg_reg_available
	to false if cum->nregs <= 0.
	* config/i386/i386.h (machine_function): Add arg_reg_available.

gcc/testsuite/

	PR target/66819
	* gcc.target/i386/pr66819-1.c: New test.
	* gcc.target/i386/pr66819-2.c: Likewise.
	* gcc.target/i386/pr66819-3.c: Likewise.
	* gcc.target/i386/pr66819-4.c: Likewise.
	* gcc.target/i386/pr66819-5.c: Likewise.

From-SVN: r225688
2015-07-10 13:30:10 -07:00
Eric Botcazou
bb49ee66ef c-ada-spec.h (cpp_operation): Revert latest change.
c-family/
	* c-ada-spec.h (cpp_operation): Revert latest change.
	* c-ada-spec.c (print_ada_declaration): Likewise.  Skip implicit
	constructors and destructors.
cp/
	* decl2.c (cpp_check): Revert latest change.

From-SVN: r225686
2015-07-10 19:19:39 +00:00
Uros Bizjak
112fc9c399 sse.md (movdi_to_sse): Use gen_lowpart and gen_higpart instead of gen_rtx_SUBREG.
* config/i386/sse.md (movdi_to_sse): Use gen_lowpart
	and gen_higpart instead of gen_rtx_SUBREG.
	* config/i386/i386.md
	(floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
	(read-modify peephole2): Use gen_lowpart instead of
	gen_rtx_SUBREG for operand 5.

From-SVN: r225682
2015-07-10 18:01:30 +02:00
Uros Bizjak
3655e7ca76 pr66703.c: New test.
* gcc.target/i386/pr66703.c: New test.

From-SVN: r225681
2015-07-10 17:44:22 +02:00
Uros Bizjak
15e3956e40 re PR target/66703 ([4.9/5/6] gcc.target/i386/readeflags-1.c aborts on -march=i586 or on -miamcu)
PR target/66703
	* gcc.target/i386/readeflags-1.c (readeflags_test): Declare with
	__attribute__((noinline, noclone)).  Change "x" to "volatile char"
	type to prevent possible flag-clobbering zero-extensions.

From-SVN: r225680
2015-07-10 17:32:48 +02:00
Paolo Carlini
f3ae5c0cea re PR c++/60842 (In-class initializer causes a strange error)
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60842
	* g++.dg/cpp0x/nsdmi-template15.C: New.

From-SVN: r225679
2015-07-10 14:44:43 +00:00
Andrew MacLeod
2f40fae2d9 gen-mul-tables.cc (main): Change include list for generated files.
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* config/tilepro/gen-mul-tables.cc (main): Change include list for
	generated files.
	* config/tilepro/mul-tables.c: Regenerate.
	* config/tilegx/mul-tables.c: Regenerate.

From-SVN: r225675
2015-07-10 13:22:45 +00:00
Richard Biener
a5ab3831b6 sv.po: Update.
2015-07-10  Richard Biener  <rguenther@suse.de>

	* sv.po: Update.
	* de.po: Likewise.

From-SVN: r225673
2015-07-10 12:53:05 +00:00
Richard Biener
14ea9f9283 fold-const.c (distribute_bit_expr): Remove.
2015-07-10  Richard Biener  <rguenther@suse.de>

	* fold-const.c (distribute_bit_expr): Remove.
	(fold_binary_loc): Move simplifying (A & C1) + (B & C2)
	to (A & C1) | (B & C2), distributing (A & B) | (A & C)
	to A & (B | C) and simplifying A << C1 << C2 to ...
	* match.pd: ... patterns here.

From-SVN: r225670
2015-07-10 12:31:05 +00:00
Jiong Wang
53021678c5 [AArch64] Mark GOT related MEM rtx as const to help RTL loop IV
gcc/
    * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Mark mem
    as READONLY and NOTRAP for PIC symbol.

  gcc/testsuite/
    * gcc.target/aarch64/got_mem_hoist_1.c: New test.

From-SVN: r225669
2015-07-10 12:20:54 +00:00
Andrew MacLeod
9fdcd34e0f gimple-predict.h: New file.
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* gimple-predict.h: New file. 
	(gimple_predict_predictor, gimple_predict_set_predictor,
	gimple_predict_outcome, gimple_predict_set_outcome,
	gimple_build_predict): Relocate here.
	* gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
	gimple_predict_outcome, gimple_predict_set_outcome): Move to 
	gimple-predict.h.
	* gimple.c (gimple_build_predict): Move to gimple-predict.h
	* basic-block.h: Don't include cfghooks.h.
	* backend.h: Don't include predict.h.
	* cfghooks.h: Include predict.h.
	* gimple-pretty-print.c: Include gimple-predict.h.
	* gimplify.c: Likwise.
	* predict.c: Adjust includes.
	* tree-inline.c: Likewise.
	* asan.c: Likewise.
	* auto-inc-dec.c: Likewise.
	* auto-profile.c: Likewise.
	* bb-reorder.c: Likewise.
	* builtins.c: Likewise.
	* caller-save.c: Likewise.
	* calls.c: Likewise.
	* cfganal.c: Likewise.
	* cfgbuild.c: Likewise.
	* cfg.c: Likewise.
	* cfgcleanup.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfghooks.c: Likewise.
	* cfgloopanal.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* combine.c: Likewise.
	* cprop.c: Likewise.
	* cse.c: Likewise.
	* dce.c: Likewise.
	* dojump.c: Likewise.
	* dse.c: Likewise.
	* except.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* fwprop.c: Likewise.
	* gcc-plugin.h: Likewise.
	* gcse.c: Likewise.
	* genattrtab.c: Likewise.
	* genemit.c: Likewise.
	* gengtype.c: Likewise.
	* genopinit.c: Likewise.
	* genoutput.c: Likewise.
	* genpreds.c: Likewise.
	* genrecog.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-iterator.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* graph.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* haifa-sched.c: Likewise.
	* ifcvt.c: Likewise.
	* internal-fn.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-split.c: Likewise.
	* ipa-utils.c: Likewise.
	* ira-build.c: Likewise.
	* ira-color.c: Likewise.
	* ira-conflicts.c: Likewise.
	* ira-costs.c: Likewise.
	* ira-emit.c: Likewise.
	* ira-lives.c: Likewise.
	* jump.c: Likewise.
	* loop-doloop.c: Likewise.
	* loop-init.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lra-assigns.c: Likewise.
	* lra.c: Likewise.
	* lra-coalesce.c: Likewise.
	* lra-constraints.c: Likewise.
	* lra-lives.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* mode-switching.c: Likewise.
	* modulo-sched.c: Likewise.
	* omp-low.c: Likewise.
	* optabs.c: Likewise.
	* passes.c: Likewise.
	* postreload.c: Likewise.
	* postreload-gcse.c: Likewise.
	* profile.c: Likewise.
	* recog.c: Likewise.
	* regstat.c: Likewise.
	* reload1.c: Likewise.
	* reorg.c: Likewise.
	* rtlanal.c: Likewise.
	* sched-ebb.c: Likewise.
	* sel-sched-ir.c: Likewise.
	* sese.c: Likewise.
	* shrink-wrap.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stmt.c: Likewise.
	* store-motion.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chkp.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.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-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* ubsan.c: Likewise.
	* value-prof.c: Likewise.
	* varasm.c: Likewise.
	* var-tracking.c: Likewise.
	* config/aarch64/aarch64-builtins.c: Likewise.
	* config/aarch64/aarch64.c: Likewise.
	* config/aarch64/cortex-a57-fma-steering.c: Likewise.
	* config/alpha/alpha.c: Likewise.
	* config/arc/arc.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/c6x/c6x.c: Likewise.
	* config/cr16/cr16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/darwin.c: Likewise.
	* config/darwin-c.c: Likewise.
	* config/epiphany/epiphany.c: Likewise.
	* config/epiphany/mode-switch-use.c: Likewise.
	* config/epiphany/resolve-sw-modes.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/frv/frv.c: Likewise.
	* config/ft32/ft32.c: Likewise.
	* config/h8300/h8300.c: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/iq2000/iq2000.c: Likewise.
	* config/lm32/lm32.c: Likewise.
	* config/m32c/m32c.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/mcore/mcore.c: Likewise.
	* config/mep/mep.c: Likewise.
	* config/microblaze/microblaze.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/mn10300/mn10300.c: Likewise.
	* config/moxie/moxie.c: Likewise.
	* config/msp430/msp430.c: Likewise.
	* config/nds32/nds32.c: Likewise.
	* config/nds32/nds32-cost.c: Likewise.
	* config/nds32/nds32-fp-as-gp.c: Likewise.
	* config/nds32/nds32-intrinsic.c: Likewise.
	* config/nds32/nds32-isr.c: Likewise.
	* config/nds32/nds32-md-auxiliary.c: Likewise.
	* config/nds32/nds32-memory-manipulation.c: Likewise.
	* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
	* config/nds32/nds32-predicates.c: Likewise.
	* config/nios2/nios2.c: Likewise.
	* config/nvptx/nvptx.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pdp11/pdp11.c: Likewise.
	* config/rl78/rl78.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/rx/rx.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/sh-mem.cc: Likewise.
	* config/sh/sh_optimize_sett_clrt.cc: Likewise.
	* config/sh/sh_treg_combine.cc: 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/v850/v850.c: Likewise.
	* config/vax/vax.c: Likewise.
	* config/visium/visium.c: Likewise.
	* config/xtensa/xtensa.c: Likewise.

java
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* java-gimplify.c: Include cfghooks.h rather than predict.h.

lto
2015-07-10  Andrew MacLeod  <amacleod@redhat.com>

	* lto.c: Include cfghooks.h rather than predict.h.

From-SVN: r225668
2015-07-10 12:13:06 +00:00
Christophe Lyon
73c6609b21 attr_thumb.c: Skip if Thumb is not supported.
2015-07-10  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/arm/attr_thumb.c: Skip if Thumb is not supported.
	* gcc.target/arm/flip-thumb.c: Likewise.

From-SVN: r225665
2015-07-10 14:02:13 +02:00
Richard Biener
1651e9b17c genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
2015-07-10  Richard Biener  <rguenther@suse.de>

	* genmatch.c (dt_node::gen_kids_1): Fix indenting of
	case labels.
	(decision_tree::gen_gimple): Likewise.
	(decision_tree::gen_generic): Likewise.

From-SVN: r225663
2015-07-10 11:59:00 +00:00
Uros Bizjak
d7cb4840b7 re PR target/66813 (gcc.target/i386/asm-flag-5.c failed with -march=pentium)
PR target/66813
	* config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
	sequence for TARGET_ZERO_EXTEND_WITH_AND targets.

testsuite/ChangeLog:

	PR target/66813
	* gcc.target/i386/pr66813.c: New test.

From-SVN: r225662
2015-07-10 13:56:48 +02:00
Jakub Jelinek
d26fc9797b re PR middle-end/66820 (internal compiler error: in get_expr_operands, at tree-ssa-operands.c:910)
PR middle-end/66820
	* gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
	or ORT_TASK contexts.
	* omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
	is non-zero.

	* gcc.dg/gomp/pr66820.c: New test.

From-SVN: r225661
2015-07-10 12:26:19 +02:00
Kyrylo Tkachov
e9f4322e78 [obvious] Fix typos above expand_cond_expr_using_cmove
* expr.c (expand_cond_expr_using_cmove): Fix typos in comment
	above function.

From-SVN: r225659
2015-07-10 09:45:32 +00:00
Paolo Carlini
7ed28ff997 re PR c++/65592 (internal compiler error: Segmentation fault when using non-existent enum class enumerator)
2015-07-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65592
	* g++.dg/cpp0x/scoped_enum6.C: New.

From-SVN: r225658
2015-07-10 09:33:34 +00:00
Tom de Vries
9f620bf1ea Insert new bound in try_transform_to_exit_first_loop_alt
2015-07-10  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
	insert nit + 1 bound.

	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
	* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.

	* gfortran.dg/parloops-exit-first-loop-alt-2.f95: New test.
	* gfortran.dg/parloops-exit-first-loop-alt.f95: New test.

From-SVN: r225655
2015-07-10 08:25:18 +00:00
Richard Biener
094fe02336 tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
2015-07-10  Richard Biener  <rguenther@suse.de>

	* tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
	Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
	(if_convertible_loop_p_1): For this always compute bb predicates.
	(if_convertible_loop_p): And free them.

From-SVN: r225654
2015-07-10 08:20:15 +00:00
Bernhard Reutner-Fischer
2374c427a8 ipa-icf.c: Fix typo in dump message
2015-07-10  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
	in dump message.

From-SVN: r225653
2015-07-10 09:56:15 +02:00
Richard Biener
9d0862bf58 re PR tree-optimization/66823 (-ftree-loop-if-convert-stores miscompiles gfortran.dg/elemental_optional_args_3.f90)
2015-07-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66823
	* tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
	inverted predicate.

	* gcc.dg/vect/pr61194.c: Remove -ftree-loop-if-convert-stores
	which should not be necessary.  XFAIL.

From-SVN: r225652
2015-07-10 07:53:06 +00:00
Paolo Carlini
3baeecac5f re PR c++/64848 (G++ internal compiler error with templated lambdas capturing variable)
2015-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/64848
	* g++.dg/cpp0x/lambda/lambda-ice14.C: New.

From-SVN: r225648
2015-07-10 02:44:39 +00:00
GCC Administrator
280edbaf68 Daily bump.
From-SVN: r225646
2015-07-10 00:16:12 +00:00
Steve Ellcey
1b57920b92 mti-linux.h (MIPS_SYSVERSION_SPEC): Update to handle mips[32|64]r3 and mips[32|64]r5.
2015-07-09  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
	to handle mips[32|64]r3 and mips[32|64]r5.

From-SVN: r225643
2015-07-09 22:17:22 +00:00
Jakub Jelinek
a0945730e5 re PR middle-end/66633 (ICE on valid "verify_gimple failed" with OpenMP)
PR middle-end/66633
	* tree-nested.c (get_static_chain): Or in a flag into
	info->static_chain_added.
	(get_frame_field, get_nonlocal_debug_decl): Likewise.
	(convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
	2015-07-01 changes.
	(convert_tramp_reference_stmt): If a frame_decl or chain_decl
	is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
	add it to clauses.

	* gcc.dg/gomp/pr66633-1.c: New test.
	* gcc.dg/gomp/pr66633-2.c: New test.
	* gcc.dg/gomp/pr66633-3.c: New test.
	* gcc.dg/gomp/pr66633-4.c: New test.

From-SVN: r225638
2015-07-09 23:14:11 +02:00
Jakub Jelinek
17b658af66 re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
PR tree-optimization/66718
	* tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
	field.
	(vect_simd_lane_linear): New function.
	(vectorizable_simd_clone_call): Support using linear arguments for
	addresses of arrays elements indexed by GOMP_SIMD_LANE result.

From-SVN: r225637
2015-07-09 23:11:28 +02:00
John Marino
4d1ab2d63e target-supports.exp (check_effective_target_pie): Add *-*-dragonfly*
2015-07-09  John Marino  <gnugcc@marino.st>

        * lib/target-supports.exp (check_effective_target_pie):
	Add *-*-dragonfly*

From-SVN: r225636
2015-07-09 23:04:41 +02:00
H.J. Lu
89be2b1bae Adjust variable shift costs for IA MCU
We reduce code size for IA MCU by adjusting variable shift costs for IA
MCU

	PR target/66821
	* config/i386/i386.c (iamcu_cost): Adjust variable shift costs.

From-SVN: r225635
2015-07-09 13:35:56 -07:00
Michael Meissner
b6d99e1c2d rs6000-protos.h (rs6000_secondary_reload_memory): Use machine mode, not enum machine_mode in the prototype.
2015-07-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
	Use machine mode, not enum machine_mode in the prototype.

	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
	classify 128-bit floating point support.
	(FLOAT128_IBM_P): Likewise.
	(FLOAT128_VECTOR_P): Likewise.
	(FLOAT128_2REG_P): Likewise.
	(SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
	(SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
	(HARD_REGNO_CALLER_SAVE_MODE): Likewise.
	(HARD_REGNO_CALL_PART_CLOBBERED): Likewise.

	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
	tests against TFmode/TDmode, since those modes do not use VSX
	addresses.
	(rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
	support.
	(rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
	tests against TFmode, etc.
	(invalid_e500_subreg): Add tests against IFmode/KFmode.
	(reg_offset_addressing_ok_p): Likewise.
	(rs6000_legitimate_offset_address_p): Likewise.
	(rs6000_legitimize_address): Likewise.
	(rs6000_legitimize_reload_address): Likewise.
	(rs6000_legitimate_address_p): Clean up tests against TFmode and
	TDmode to use the new helper macros, which will include IFmode and
	KFmode.
	(rs6000_emit_move): Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(print_operand): Likewise.
	(rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
	that uses a single vector register as a vector and not as a
	floating point register in terms of the calling sequence.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_return_in_memory): Likewise.
	(init_cumulative_args): Likewise.
	(rs6000_function_arg_boundary): Likewise.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_pass_by_reference): Likewise.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_secondary_reload_memory): Use machine_mode not enum
	machine mode.
	(rs6000_split_multireg_move): Use new helper macros.
	(spe_func_has_64bit_regs_p): Likewise.
	(rs6000_output_function_epilogue): Add IFmode/KFmode support.
	(output_toc): Use new helper macros.
	(rs6000_register_move_cost): Likewise.
	(rs6000_function_value): Add IEEE 128-bit floating point calling
	sequence support.
	(rs6000_libcall_value): Likewise.
	(rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
	floating point support.
	(rs6000_vector_mode_supported_p): Likewise.

From-SVN: r225632
2015-07-09 18:57:06 +00:00
Michael Meissner
2c83faf868 rs6000-protos.h (rs6000_secondary_reload_memory): Use machine mode, not enum machine_mode in the prototype.
2015-07-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
	Use machine mode, not enum machine_mode in the prototype.

	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
	classify 128-bit floating point support.
	(FLOAT128_IBM_P): Likewise.
	(FLOAT128_VECTOR_P): Likewise.
	(FLOAT128_2REG_P): Likewise.
	(SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
	(SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
	(HARD_REGNO_CALLER_SAVE_MODE): Likewise.
	(HARD_REGNO_CALL_PART_CLOBBERED): Likewise.

	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
	tests against TFmode/TDmode, since those modes do not use VSX
	addresses.
	(rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
	support.
	(rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
	tests against TFmode, etc.
	(invalid_e500_subreg): Add tests against IFmode/KFmode.
	(reg_offset_addressing_ok_p): Likewise.
	(rs6000_legitimate_offset_address_p): Likewise.
	(rs6000_legitimize_address): Likewise.
	(rs6000_legitimize_reload_address): Likewise.
	(rs6000_legitimate_address_p): Clean up tests against TFmode and
	TDmode to use the new helper macros, which will include IFmode and
	KFmode.
	(rs6000_emit_move): Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(print_operand): Likewise.
	(rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
	that uses a single vector register as a vector and not as a
	floating point register in terms of the calling sequence.
	(rs6000_discover_homogeneous_aggregate): Likewise.
	(rs6000_return_in_memory): Likewise.
	(init_cumulative_args): Likewise.
	(rs6000_function_arg_boundary): Likewise.
	(rs6000_function_arg_advance_1): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_pass_by_reference): Likewise.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_secondary_reload_memory): Use machine_mode not enum
	machine mode.
	(rs6000_split_multireg_move): Use new helper macros.
	(spe_func_has_64bit_regs_p): Likewise.
	(rs6000_output_function_epilogue): Add IFmode/KFmode support.
	(output_toc): Use new helper macros.
	(rs6000_register_move_cost): Likewise.
	(rs6000_function_value): Add IEEE 128-bit floating point calling
	sequence support.
	(rs6000_libcall_value): Likewise.
	(rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
	floating point support.
	(rs6000_vector_mode_supported_p): Likewise.

From-SVN: r225631
2015-07-09 18:55:01 +00:00
Jason Merrill
1bf3fe3c6a pt.c (instantiation_dependent_r): Call value_dependent_expression_p.
* pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Call
	value_dependent_expression_p.

From-SVN: r225622
2015-07-09 13:50:16 -04:00
Jason Merrill
5c4e8e5cd4 cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to template_parameter_pack_p.
* cp-tree.h (struct cp_parameter_declarator): Rename ellipsis_p to
	template_parameter_pack_p.
	* parser.c (declarator_can_be_parameter_pack): False if
	parameter_pack_p is set.
	(make_parameter_declarator): Add template_parameter_pack_p parm.
	(cp_parser_template_parameter): Remove parameter pack parsing.
	(cp_parser_parameter_declaration): Handle all parameter packs.
	Tweak default argument permerror.

From-SVN: r225621
2015-07-09 13:50:11 -04:00
Andrew Sutton
2cc6d90e2d * parser.c (cp_parser_default_type_template_argument)
(cp_parser_default_template_template_argument): Factor out from
	cp_parser_type_parameter.

From-SVN: r225620
2015-07-09 13:50:06 -04:00