Commit Graph

151784 Commits

Author SHA1 Message Date
Kito Cheng
122e7b4f9d RISC-V Port: gcc/testsuite
gcc/testsuite/ChangeLog:

2017-02-06  Kito Cheng  <kito.cheng@gmail.com>

        * lib/target-supports.exp: Define the RISC-V target.
        * g++.dg/cpp0x/constexpr-rom.C: Skip on RISC-V
        * gcc.dg/builtin-apply2.c: Likewise.
        * gcc.dg/ifcvt-4.c: Likewise.
        * gcc.dg/loop-8.c: Likewise.
        * gcc.dg/sibcall-10.c: Likewise.
        * gcc.dg/sibcall-9.c: Likewise.
        * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise.
        * gcc.dg/tree-ssa/20040204-1.c: Likewise.
        * gcc.dg/tree-ssa/ssa-dom-cse-2.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
        * gcc.c-torture/execute/20101011-1.c: Define DO_TEST on RISC-V.
        * gcc.dg/20020312-2.c: Don't define PIC_REG on RISC-V.
        * gcc.dg/stack-usage-1.c: Define SIZE on RISC-V.

From-SVN: r245228
2017-02-06 21:39:03 +00:00
Palmer Dabbelt
b906c007fe RISC-V Port: libatomic
2017-02-06  Palmer Dabbelt <palmer@dabbelt.com>

        * configure.tgt: Add RISC-V tuple.

From-SVN: r245227
2017-02-06 21:38:57 +00:00
Palmer Dabbelt
0bd99911ee RISC-V Port: libgcc
libgcc/ChangeLog:

2017-02-06  Palmer Dabbelt <palmer@dabbelt.com>

        * config.host: Add RISC-V tuples.
        * config/riscv/atomic.c: New file.
        * config/riscv/crti.S: Likewise.
        * config/riscv/crtn.S: Likewise.
        * config/riscv/div.S: Likewise.
        * config/riscv/linux-unwind.h: Likewise.
        * config/riscv/muldi3.S: Likewise.
        * config/riscv/multi3.S: Likewise.
        * config/riscv/save-restore.S: Likewise.
        * config/riscv/sfp-machine.h: Likewise.
        * config/riscv/t-elf: Likewise.
        * config/riscv/t-elf32: Likewise.
        * config/riscv/t-elf64: Likewise.
        * config/riscv/t-softfp32: Likewise.
        * config/riscv/t-softfp64: Likewise.

From-SVN: r245226
2017-02-06 21:38:51 +00:00
Palmer Dabbelt
ef57f7d6b1 RISC-V Port: Regenerate gcc/configure
From-SVN: r245225
2017-02-06 21:38:43 +00:00
Palmer Dabbelt
09cae7507d RISC-V Port: gcc
gcc/ChangeLog:

2017-02-06  Palmer Dabbelt  <palmer@dabbelt.com>

        * config/riscv/riscv.c: New file.
        * gcc/common/config/riscv/riscv-common.c: Likewise.
        * config.gcc: Likewise.
        * config/riscv/constraints.md: Likewise.
        * config/riscv/elf.h: Likewise.
        * config/riscv/generic.md: Likewise.
        * config/riscv/linux.h: Likewise.
        * config/riscv/multilib-generator: Likewise.
        * config/riscv/peephole.md: Likewise.
        * config/riscv/pic.md: Likewise.
        * config/riscv/predicates.md: Likewise.
        * config/riscv/riscv-builtins.c: Likewise.
        * config/riscv/riscv-c.c: Likewise.
        * config/riscv/riscv-ftypes.def: Likewise.
        * config/riscv/riscv-modes.def: Likewise.
        * config/riscv/riscv-opts.h: Likewise.
        * config/riscv/riscv-protos.h: Likewise.
        * config/riscv/riscv.h: Likewise.
        * config/riscv/riscv.md: Likewise.
        * config/riscv/riscv.opt: Likewise.
        * config/riscv/sync.md: Likewise.
        * config/riscv/t-elf-multilib: Likewise.
        * config/riscv/t-linux: Likewise.
        * config/riscv/t-linux-multilib: Likewise.
        * config/riscv/t-riscv: Likewise.
        * configure.ac: Likewise.
        * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
        Waterman as RISC-V maintainers.
        * doc/install.texi: Add RISC-V entries.
        * doc/invoke.texi: Add RISC-V options section.
        * doc/md.texi: Add RISC-V constraints section.

From-SVN: r245224
2017-02-06 21:38:37 +00:00
Jason Merrill
44a6da7bac PR c++/71193 - incomplete types in templates
* parser.c (cp_parser_postfix_dot_deref_expression): In a template
	handle incomplete type by pedwarning and then treating as dependent.

From-SVN: r245223
2017-02-06 16:12:13 -05:00
Michael Meissner
391675acd2 re PR target/66144 (vector element operator produces very bad code)
[gcc]
2017-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/66144
	* config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
	false values to be constant vectors with all 0 or all 1 bits set.
	(vcondu<mode><mode>): Likewise.
	* config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
	predicate.
	(fpmask_comparison_operator): Update comment.
	(vecint_comparison_operator): New predicate.
	* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
	vector conditionals when the true and false values are constant
	vectors with all 0 bits or all 1 bits set.

[gcc/testsuite]
2017-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/66144
	* gcc.target/powerpc/pr66144-1.c: New test.
	* gcc.target/powerpc/pr66144-2.c: Likewise.
	* gcc.target/powerpc/pr66144-3.c: Likewise.

From-SVN: r245222
2017-02-06 21:07:37 +00:00
Martin Sebor
e495e31a20 PR tree-optimization/ 79376 - wrong lower bound with %s and non-constant
strings in -Wformat-overflow

gcc/ChangeLog:
	* gimple-fold.c (get_range_strlen): Set the minimum length to zero.

From-SVN: r245221
2017-02-06 13:11:51 -07:00
Jakub Jelinek
98e0924501 re PR c++/79379 (ICE with #pragma GCC ivdep)
PR c++/79379
	* constexpr.c (cxx_eval_constant_expression): Handle ANNOTATE_EXPR.
	(potential_constant_expression_1): Likewise.

	* g++.dg/cpp1y/constexpr-79379.C: New test.

From-SVN: r245220
2017-02-06 21:06:16 +01:00
Jakub Jelinek
e8b0383c13 re PR c++/79377 (ICE with increment operator in -fpermissive mode)
PR c++/79377
	* tree.c (build_min_non_dep_op_overload): For POST{INC,DEC}REMENT_EXPR
	allow one fewer than expected arguments if flag_permissive.

	* g++.dg/lookup/pr79377.C: New test.

From-SVN: r245219
2017-02-06 21:05:09 +01:00
Jakub Jelinek
a5e8cbd150 re PR c++/79372 (ICE on C++ code with illegal decomposition declaration on x86_64-linux-gnu: in tsubst_decomp_names, at cp/pt.c:15599)
PR c++/79372
	* decl.c (cp_finish_decomp): On error set decl type to error_mark_node.
	* pt.c (tsubst_expr): Don't call tsubst_decomp_names on decompositions
	with error_mark_node type.

	* g++.dg/cpp1z/decomp25.C: New test.

From-SVN: r245218
2017-02-06 21:03:15 +01:00
Uros Bizjak
6f26f15f13 sse.md (vector modes -> vec_extract* splitter): Use explicit subreg RTX with operand 1.
* config/i386/sse.md (vector modes -> vec_extract* splitter): Use
	explicit subreg RTX with operand 1.  Use VECTOR_MODE_P predicate
	to simplify split condition.

From-SVN: r245217
2017-02-06 20:46:51 +01:00
Jakub Jelinek
dc06356ab8 omp-expand.c (oxpand_omp_atomic_fetch_op, [...]): Return false if can_atomic_load_p is false.
* omp-expand.c (oxpand_omp_atomic_fetch_op,
	expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
	false.

From-SVN: r245216
2017-02-06 20:25:02 +01:00
Segher Boessenkool
176274c9bf sched: Do not move expensive insns speculatively (PR68664)
Scheduling should never move very expensive instructions to places they
are executed more frequently.  This patch fixes that, reducing the
execution time of c-ray by over 40% (I tested on a BE Power7 system).

This introduces a new target hook sched.can_speculate_insn which returns
whether the scheduler is allowed to speculate a given instruction.  The
rs6000 implementation disallows all divide and square root instructions.


	PR rtl-optimization/68664
	* target.def (can_speculate_insn): New hook.
	* doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
	* doc/tm.texi: Regenerate.
	* sched-rgn.c (can_schedule_ready_p): Use the new hook.
	* config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
	(rs6000_sched_can_speculate_insn): New function.

From-SVN: r245215
2017-02-06 20:19:49 +01:00
Jakub Jelinek
2568d8a1f6 re PR tree-optimization/79284 (ICE on valid code at -O3 on x86_64-linux-gnu: verify_gimple failed)
PR tree-optimization/79284
	* tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
	* tree-vect-stmts.c (vect_get_vec_def_for_operand,
	vectorizable_mask_load_store, vectorizable_operation,
	vect_is_simple_cond, get_same_sized_vectype): Use it instead
	of comparing TREE_CODE of a type against BOOLEAN_TYPE.
	* tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
	vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
	Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
	is_gimple_assign (stmt).  Replace another such test with
	is_gimple_assign (stmt).
testsuite/
	* gcc.c-torture/compile/pr79284.c: New test.

From-SVN: r245214
2017-02-06 20:15:36 +01:00
Paolo Carlini
aae936b9a3 re PR c++/70448 (ICE on invalid code on x86_64-linux-gnu: unexpected expression ‘f’ of kind overload)
2017-02-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70448
	* g++.dg/cpp0x/pr70448.C: New.

From-SVN: r245213
2017-02-06 17:49:31 +00:00
Jonathan Wakely
3e4fd831e9 Fix test failure at -O0 by pruning output
PR libstdc++/79323
	* testsuite/20_util/duration/literals/range.cc: Prune extra output
	at -O0.

From-SVN: r245211
2017-02-06 16:39:56 +00:00
Dominik Vogt
daf57541f3 PR 78348: Limit amount of unrolling in test.
gcc/testsuite/ChangeLog:

2017-02-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	PR 78348
	* gcc.dg/tree-ssa/ldist-24.c: Add "--param max-completely-peel-times=8"
	to dg-options.

From-SVN: r245210
2017-02-06 15:14:09 +00:00
Georg-Johann Lay
0898c74df4 re PR rtl-optimization/78883 ([avr] ICE triggered by change to combine.c (r243578))
gcc/
	PR target/78883
	* config/avr/avr.c (rtl-iter.h): Include it.
	(TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
	(avr_legitimate_combined_insn): ...and implementation.
gcc/testsuite/
	PR target/78883
	* gcc.c-torture/compile/pr78883.c: New test.

From-SVN: r245209
2017-02-06 13:38:56 +00:00
Dominik Vogt
406fde6e17 S/390: Use macros from hwint.h where possible.
gcc/ChangeLog:

2017-02-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
	* config/s390/s390.c (s390_const_operand_ok)
	(s390_canonicalize_comparison, s390_extract_part)
	(s390_single_part, s390_contiguous_bitmask_nowrap_p)
	(s390_contiguous_bitmask_p, s390_rtx_costs)
	(legitimize_pic_address): Likewise.
	* config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
	* config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
	("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
	("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
	* config/s390/vector.md ("vec_vfenes<mode>"): Likewise.

From-SVN: r245207
2017-02-06 11:42:07 +00:00
Georg-Johann Lay
1e58aefec4 avr.md (*addhi3_zero_extend): Add alternative where REGNO($0) == REGNO($1).
* config/avr/avr.md (*addhi3_zero_extend): Add alternative where
	REGNO($0) == REGNO($1).

From-SVN: r245206
2017-02-06 11:38:52 +00:00
Gerald Pfeifer
ef7df15338 documentation_hacking.xml: Remove obsolete link to DocBook Publishing Tools.
* doc/xml/manual/documentation_hacking.xml: Remove obsolete link
	to DocBook Publishing Tools.
	epubcheck has moved to GitHub.
	Update URL of the DocBook Element Reference; use that term as
	link description instead of "online".

From-SVN: r245205
2017-02-06 10:26:59 +00:00
Andreas Krebbel
df9e7ffb63 S/390: Add SIZE_TYPE comment.
gcc/ChangeLog:

2017-02-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/linux.h(SIZE_TYPE): Add comment.

From-SVN: r245204
2017-02-06 10:25:05 +00:00
Julian Brown
f192030dd1 aarch64-cores.def: Change the scheduler to Thunderx2t99.
2017-02-06  Julian Brown  <julian@codesourcery.com>
	    Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
	    Virendra Pathak  <virendra.pathak@broadcom.com>

	* config/aarch64/aarch64-cores.def: Change the scheduler
	to Thunderx2t99.
	* config/aarch64/aarch64.md: Include thunderx2t99.md.
	* config/aarch64/thunderx2t99.md: New file.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com>
Co-Authored-By: Virendra Pathak <virendra.pathak@broadcom.com>

From-SVN: r245203
2017-02-06 02:23:07 +00:00
GCC Administrator
3b34618408 Daily bump.
From-SVN: r245202
2017-02-06 00:16:21 +00:00
Gerald Pfeifer
e2f097374d standards.texi (Go Language): Update link to language standard.
* doc/standards.texi (Go Language): Update link to language
	standard.

From-SVN: r245199
2017-02-05 21:10:29 +00:00
Gerald Pfeifer
5d358d79f7 contrib.texi (Contributors): Refer to Hans Boehm's garbage collector only in textual form.
* doc/contrib.texi (Contributors): Refer to Hans Boehm's
	garbage collector only in textual form.

From-SVN: r245198
2017-02-05 21:05:26 +00:00
Jan Hubicka
7c67be6dd3 tree-eh.c (lower_resx): Sanitize profile.
* tree-eh.c (lower_resx): Sanitize profile.
	(cleanup_empty_eh_move_lp): Likewise.

From-SVN: r245197
2017-02-05 18:13:22 +00:00
Jan Hubicka
5d3ebb71cb re PR tree-optimization/79347 (vect_do_peeling is messing up profile)
PR tree-ssa/79347
	* cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
	ELSE_PROB.
	* cfgloopmanip.h (loop_version): Update prototype.
	* modulo-sched.c (sms_schedule): Update call of loop_version.
	* tree-if-conv.c(version_loop_for_if_conversion): Likewise.
	* tree-parloops.c (gen_parallel_loop): Likewise.
	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
	* tree-ssa-loop-split.c (split_loop): Likewise.
	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
	* tree-vect-loop-manip.c (vect_loop_versioning): Likewise.

	* gcc.dg/tree-ssa/ifc-10.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-11.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-12.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-20040816-1.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-20040816-2.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-5.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-8.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-9.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-cd.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-pr56541.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-pr68583.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-pr69489-1.c: Match for profile mismatches.
	* gcc.dg/tree-ssa/ifc-pr69489-2.c: Match for profile mismatches.

From-SVN: r245196
2017-02-05 17:16:52 +00:00
Martin Liska
e6b07173d2 re PR bootstrap/78985 (profiledbootstrap failure by -Wuninitialized)
PR bootstrap/78985
	* config/s390/s390.c (s390_gimplify_va_arg): Initialize local
	variable to NULL.
	(print_operand_address): Initialize a struct to zero.

From-SVN: r245195
2017-02-05 08:51:13 -07:00
Andre Vehreschild
139d4065e8 re PR fortran/79344 (segmentation faults and run-time errors)
gcc/fortran/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79344
	* trans-stmt.c (gfc_trans_allocate): Only deallocate the components of
	the temporary, when a new object was created for the temporary.  Not
	when it is just an alias to an existing object.

gcc/testsuite/ChangeLog:

2017-02-04  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79344
	* gfortran.dg/allocate_with_source_24.f90: New test.

From-SVN: r245194
2017-02-05 16:43:03 +01:00
Andre Vehreschild
ea06c7b0c4 re PR fortran/79335 (Conditional jump or move depends on uninitialised in value get_scalar_to_descriptor_type(tree_node*, symbol_attribute) (trans-expr.c:53))
gcc/fortran/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79335
	* trans-decl.c (generate_coarray_sym_init): Retrieve the symbol's
	attributes before using them.

From-SVN: r245193
2017-02-05 14:05:10 +01:00
Andre Vehreschild
764d5c7b53 re PR fortran/78958 (Unallocated memory access after SOURCE-ALLOCATEing unlimited polymorphic object)
gcc/fortran/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/78958
	* trans-stmt.c (gfc_trans_allocate): Add the multiplying the _len
	component of unlimited polymorphic objects when source-allocating.

From-SVN: r245192
2017-02-05 13:42:31 +01:00
Andre Vehreschild
4b9c80d8e4 re PR fortran/79230 ([OOP] Run time error: double free or corruption)
gcc/fortran/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79230
	* trans-array.c (structure_alloc_comps): Ignore pointer components when
	freeing structures.

gcc/testsuite/ChangeLog:

2017-02-05  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/79230
	* gfortran.dg/der_ptr_component_2.f90: New test.

From-SVN: r245191
2017-02-05 13:02:15 +01:00
Gerald Pfeifer
3501e62c3a MAINTAINERS (Write After Approval): Remove redundant entry for Andrew Burgess.
* MAINTAINERS (Write After Approval): Remove redundant entry
	for Andrew Burgess.

From-SVN: r245190
2017-02-05 11:28:08 +00:00
Gerald Pfeifer
b11f6c195c extend.texi (x86 specific memory model extensions for transactional memory): Simplify a phrase.
* doc/extend.texi (x86 specific memory model extensions for
	transactional memory): Simplify a phrase.

From-SVN: r245189
2017-02-05 11:09:18 +00:00
Eric Botcazou
f3877b2f70 re PR target/79353 (ICE in curr_insn_transform, at lra-constraints.c:3773)
PR target/79353
	* config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
	'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
	(atomic_storedi_1): Likewise.

From-SVN: r245188
2017-02-05 09:47:48 +00:00
GCC Administrator
46628ab7ac Daily bump.
From-SVN: r245187
2017-02-05 00:16:17 +00:00
Jakub Jelinek
846b1a1807 re PR tree-optimization/79338 (Memory leak in tree-parloops.c)
PR tree-optimization/79338
	* tree-parloops.c (gather_scalar_reductions): Don't call
	vect_analyze_loop_form for loop->inner before destroying loop's
	loop_vinfo.

From-SVN: r245183
2017-02-04 08:44:13 +01:00
John David Anglin
a2a86d6a7c coarray_43.f90: Add "-latomic" option if libatomic_available.
* gfortran.dg/coarray_43.f90: Add "-latomic" option if
	libatomic_available.

From-SVN: r245182
2017-02-04 01:37:12 +00:00
John David Anglin
a1d9992507 pr77587.c: Require alias support.
* gcc.dg/pr77587.c: Require alias support.
	* gcc.dg/pr77587a.c: Likewise.

From-SVN: r245181
2017-02-04 01:28:56 +00:00
John David Anglin
d8bf159ef2 pr78112-2.C: Skip on hppa*-*-hpux*.
* g++.dg/pr78112-2.C: Skip on hppa*-*-hpux*.
	* gcc.c-torture/execute/pr78622.c: Likewise.

From-SVN: r245180
2017-02-04 01:16:54 +00:00
John David Anglin
d8a09adacf Wunused-var-15.c: Add -fno-common additional option on hppa*-*-hpux*.
* c-c++-common/Wunused-var-15.c: Add -fno-common additional option on
	hppa*-*-hpux*.
	* c-c++-common/Wunused-var-16.c: Likewise.
	* c-c++-common/builtin-shuffle-1.c: Likewise.
	* gcc.dg/debug/dwarf2/align-[1-6].c Likewise.
	* gcc.dg/debug/dwarf2/align-as-1.c: Likewise.

From-SVN: r245179
2017-02-04 00:54:06 +00:00
John David Anglin
510555e01c configure.ac: Add gcc/function-tests.o to compare_exclusions for 32-bit hppa*-*-hpux*.
* configure.ac: Add gcc/function-tests.o to compare_exclusions for
	32-bit hppa*-*-hpux*.
        * configure: Regenerate.

From-SVN: r245178
2017-02-04 00:25:19 +00:00
GCC Administrator
b13549fd84 Daily bump.
From-SVN: r245177
2017-02-04 00:16:21 +00:00
Jason Merrill
fb07bf8800 re PR c++/78334 ([C++1z] P0127R2 related ICE: Segmentation fault)
PR c++/78334

	* g++.dg/cpp1z/nontype-auto7.C: New.

From-SVN: r245174
2017-02-03 18:19:46 -05:00
Martin Sebor
f589a1ce25 PR tree-optimization/79327 - wrong code at -O2 and -fprintf-return-value
PR tree-optimization/79327 - wrong code at -O2 and -fprintf-return-value
gcc/ChangeLog:
	* gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
	when precision has resulted in leading zeros.
	(format_integer): Adjust the likely counter to assume an unknown
	argument that may be zero is non-zero.

gcc/testsuite/ChangeLog:
	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
	* gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: New test.
	* gcc/testsuite/gcc.dg/tree-ssa/pr79327-2.c: Ditto.

From-SVN: r245173
2017-02-03 15:47:35 -07:00
Jason Merrill
77095a6ab1 PR c++/78689 - ICE on constructor with label
gcc/
	* tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
	avoid copying non-taken branch.
gcc/cp/
	* optimize.c (maybe_clone_body): Replace omitted parameters with
	null lvalues.
	* class.c (build_clone): Fix logic for omitting inherited parms.

From-SVN: r245172
2017-02-03 17:42:37 -05:00
Jakub Jelinek
ac6dbb1a40 re PR tree-optimization/79340 (Memory leaks in tree-vect-slp.c)
PR tree-optimization/79340
	* tree-vect-loop.c (vectorizable_reduction): Release
	vec_defs elements after safe_splicing them into other vectors.
	Formatting fixes.

From-SVN: r245171
2017-02-03 23:36:29 +01:00
Jason Merrill
8a87daca9c PR c++/12245 - excessive memory use
* constexpr.c (maybe_constant_value): Fold maybe_constant_value_1
	back in.  Don't cache constants.
	(maybe_constant_init): Don't cache constants.

From-SVN: r245169
2017-02-03 14:44:27 -05:00