152349 Commits

Author SHA1 Message Date
Jakub Jelinek
d5a216fa21 re PR tree-optimization/79345 (passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized))
PR tree-optimization/79345
	* gensupport.h (struct pattern_stats): Add min_scratch_opno field.
	* gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
	(get_pattern_stats): Initialize it.
	* genemit.c (gen_expand): Verify match_scratch numbers come after
	match_operand/match_dup numbers.
	* config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
	match_scratch numbers.
	* config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
	Likewise.
	* config/s390/s390.md (trunctdsd2): Likewise.

From-SVN: r245833
2017-03-02 10:19:28 +01:00
Richard Biener
da403f3178 dfinit.c: Only run for lp64.
2017-03-02  Richard Biener  <rguenther@suse.de>

	* gcc.dg/rtl/x86_64/dfinit.c: Only run for lp64.
	* gcc.dg/rtl/x86_64/final.c: Likewise.
	* gcc.dg/rtl/x86_64/into-cfglayout.c: Likewise.
	* gcc.dg/rtl/x86_64/ira.c: Likewise.
	* gcc.dg/rtl/x86_64/times-two.c.after-expand.c: Likewise.
	* gcc.dg/rtl/x86_64/vregs.c: Likewise.

From-SVN: r245832
2017-03-02 08:20:19 +00:00
Richard Biener
c8c6a29eca wide-int.h (wide_int_storage::operator=): Implement in terms of wi::copy.
2017-03-02  Richard Biener  <rguenther@suse.de>

	* wide-int.h (wide_int_storage::operator=): Implement in terms
	of wi::copy.

From-SVN: r245831
2017-03-02 08:02:41 +00:00
Richard Biener
83692f9662 re PR tree-optimization/79777 (ICE on -Os and above in on aarch64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 }))
2017-03-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79777
	* tree-ssa-pre.c (eliminate_insert): Give up if we simplify
	the to insert expression to sth existing.

	* gcc.dg/torture/pr79777.c: New testcase.

From-SVN: r245830
2017-03-02 07:53:42 +00:00
Jonathan Wakely
d34d36ef0d PR libstdc++/79789 fix non-reserved names in headers
PR libstdc++/79789
	* include/bits/hashtable_policy.h (__clp2): Use reserved names for
	parameters and local variables.
	* include/bits/ios_base.h (make_error_code, make_error_condition):
	Likewise.
	* include/bits/list.tcc (list::sort): Likewise.
	* include/bits/mask_array.h (mask_array): Likewise.
	* include/bits/regex.h (regex_token_iterator): Likewise.
	* include/bits/slice_array.h (slice_array): Likewise.
	* include/bits/stl_algo.h (__sample): Likewise.
	* include/std/memory (undeclare_no_pointers): Likewise.
	* include/std/type_traits (is_callable_v, is_nothrow_callable_v):
	Likewise.
	* libsupc++/exception_ptr.h (__dest_thunk): Likewise.
	* testsuite/17_intro/headers/names.cc: New test.

From-SVN: r245828
2017-03-02 03:43:49 +00:00
Jonathan Wakely
5782e30941 PR 79798 Fix incorrect use of std::result_of in std::bind
PR libstdc++/79798
	* include/std/functional (bind::_Res_type_impl): Fix incorrect use of
	result_of that loses top-level cv-qualifiers.
	* testsuite/20_util/bind/79798.cc: New test.

From-SVN: r245827
2017-03-02 03:43:36 +00:00
Jason Merrill
9a642ccae4 Class template argument deduction in new-expression
Class template argument deduction in new-expression
	* init.c (build_new): Handle deduction from no initializer.
	* parser.c (cp_parser_new_expression): Don't require a single
	expression for class template deduction.
	* typeck2.c (cxx_incomplete_type_diagnostic): Fix diagnostic for
	class template placeholder.
	* pt.c (tsubst_copy) [TEMPLATE_DECL]: Handle dependent context.
	(tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle SCOPE_REF.
	(redeclare_class_template): Set TEMPLATE_TYPE_PARM_FOR_CLASS.

From-SVN: r245826
2017-03-01 20:58:30 -05:00
GCC Administrator
2b83483746 Daily bump.
From-SVN: r245825
2017-03-02 00:16:14 +00:00
Martin Sebor
71dedb336f PR middle-end/79692 - [7 Regression] -Wformat-overflow false positive
gcc/ChangeLog:

	PR middle-end/79692
	* gimple-ssa-sprintf.c
	(directive::known_width_and_precision): New function.
	(format_integer): Use it.
	(get_mpfr_format_length): Consider the full range of precision
	when computing %g output with the # flag.  Set the likely byte
	count to 3 rather than 1 when precision is indeterminate.
	(format_floating): Correct the lower bound of precision.

gcc/testsuite/ChangeLog:

	PR middle-end/79692
	* gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Correct %#g.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: New test.
	* gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto.

From-SVN: r245822
2017-03-01 16:39:59 -07:00
Bill Schmidt
538d7dba84 invoke.texi: Document default code model for 64-bit Linux.
2017-03-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* doc/invoke.texi: Document default code model for 64-bit Linux.

From-SVN: r245821
2017-03-01 23:14:26 +00:00
Joseph Myers
2590a109d8 * es.po: Update.
From-SVN: r245820
2017-03-01 22:08:44 +00:00
Aaron Sawdey
af15f9938b re PR target/79752 (incorrect code generation for __divkf3 with -O2 -mcpu=power9)
2017-03-01  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

        PR target/79752
        * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
        udiv rather than div since input pattern is unsigned.

From-SVN: r245817
2017-03-01 13:58:05 -06:00
Uros Bizjak
489909059b i386.c (print_reg): Warn for values of unsupported size in integer register.
* config/i386/i386.c (print_reg): Warn for values of
	unsupported size in integer register.

testsuite/ChangeLog:

	* gcc.target/i386/invsize-2.c: New test.
	* gcc.target/i386/invsize-3.c: Ditto.
	* gcc.target/i386/invsize-4.c: Ditto.
	* gcc.target/i386/pr66274.c: Expect "unsuported size" warning.
	* gcc.target/i386/stackalign/asm-1.c: Ditto.

From-SVN: r245815
2017-03-01 20:24:53 +01:00
Ian Lance Taylor
c85ac396f1 cmd/go: add testdata/timeoutbench_test.go
This file was accidentally omitted from the update to the final Go 1.8.

From-SVN: r245814
2017-03-01 18:41:15 +00:00
Michael Meissner
c7f0c9f34f re PR target/79439 (Missing nop instruction after recursive call corrupts TOC register)
[gcc]
2017-03-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/79439
	* config/rs6000/predicates.md (current_file_function_operand): Do
	not allow self calls to be local if the function is replaceable.

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

	PR target/79439
	* gcc.target/powerpc/pr79439.c: New test.

From-SVN: r245813
2017-03-01 18:33:21 +00:00
Pat Haugen
f5ef6bfc30 pr79544.c: Add test for vec_vsrad and fix up scan string.
* gcc.target/powerpc/pr79544.c: Add test for vec_vsrad and fix up
	scan string.

From-SVN: r245812
2017-03-01 18:09:51 +00:00
Kelvin Nilsen
501815065b re PR target/79395 (Compile error with -mcpu=power9 and __builtin_vec_vcmpne_p)
gcc/ChangeLog:

2017-03-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/79395
	* config/rs6000/altivec.h (vec_ctz and others): Change the
	preprocessor macro that controls conditional compilation from
	_ARCH_PWR9 to __POWER9_VECTOR__.
	(vec_all_ne): Change parameterization of __altivec_scalar_pred
	macro expansion under preprocessor #ifdef __POWER9_VECTOR__
	control (instead of _ARCH_PWR9 control) so that template
	definition uses power9-specific function.
	(vec_any_eq): Likewise.
	(vec_all_ne): Change macro definition to use a power9-specific
	expansion under #ifdef __POWER9_VECTOR__ control (instead of
	_ARCH_PWR9 control).
	(vec_any_eq) Likewise.
	* config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
	expansion for CMPNEF to remove support for xvcmpnesp instruction.
	(CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
	support for xvcmpnedp instruction.
	(VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
	macro expansion so that Power9 implementation of vec_all_ne does
	not use the AltiVec predicate framework.
	(VCMPNEH_P): Likewise.
	(VCMPNEW_P): Likewise.
	(VCMPNED_P): Likewise.
	(VCMPNEFP_P): Likewise.
	(VCMPNEDP_P): Likewise.
	(VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
	implementation of vec_any_eq to not use AltiVec predicate
	framework.
	(VCMPAEH_P): Likewise.
	(VCMPAEW_P): Likewise.
	(VCMPAED_P): Likewise.
	(VCMPAEFP_P): Likewise.
	(VCMPAEDP_P): Likewise.
	(VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
	BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
	not use the AltiVec predicate framework.
	(VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
	of vec_any_eq to not use AltiVec predicate framework.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
	support for predefined __POWER9_VECTOR__ macro to indicate that
	Power9 instruction selection is enabled.
	(altivec_overloaded_builtins): Remove extraneous
	ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
	function argument types RS6000_BTI_bool_V16QI and
	RS6000_BTI_bool_V16QI.  Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
	entry for overloaded function argument types RS6000_BTI_bool_V4SI
	andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB.  Remove
	two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
	P9V_BUILTIN_CMPNEF to force use of instructions not specific to
	Power9 for implementations of vec_cmpne.  Change the signature for
	all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
	(representing vec_all_ne) to remove the previously described first
	argument of type RS6000_BTI_INTSI, as this was an artifact of
	reliance on the AltiVec predicate framework, which is no longer
	used in the implementation of these functions.  Add
	P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
	function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
	since, unlike the AltiVec predicate framework implementation, we
	do not share function descriptors between vec_alle and vec_anyeq.
	(altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
	set of modes that receive special treatment even when
	TARGET_P9_VECTOR is true.  The special treatment emits code that
	does not depend on Power9 instructions.
	* config/rs6000/vector.md (vector_ne_<mode>_p): Change this
	define_expand to not rely on AltiVec predicate framework.
	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
	function.
	(vector_ne_v2di_p): Change this define_expand to not rely on
	AltiVec predicate framework.
	(vector_ae_v2di_p): New define_expand to represent vec_any_eq
	function.
	(vector_ne_<mode>_p): Change this define_expand to not rely on
	AltiVec predicate framework.
	(vector_ae_<mode>p): New define_expand to represent vec_any_eq
	function.
	* config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
	(V16QI, V8HI, V4SI), correct a typo in the code emitted for this
	define_insn pattern.
	(*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
	define_insn pattern because the xvcmpne<VSs>. instruction is not
	supported.
	(vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
	instruction is not supported.

gcc/testsuite/ChangeLog:

2017-03-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	PR target/79395
	* gcc.target/powerpc/vsu/vec-all-ne-10.c: Change scan-assembler
	pattern to look for vcmpequd. instead of vcmpnew.
	* gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise.
	* gcc.target/powerpc/vsu/vec-all-ne-7.c: Change scan-assembler
	pattern to look for xvcmpeqsp. instead of xvcmpnesp.
	* gcc.target/powerpc/vsu/vec-all-ne-8.c: Change scan-assembler to
	look for xvcmpeqdp. instead of xvcmpnedp.
	* gcc.target/powerpc/vsu/vec-all-ne-9.c: Change scan-assembler to
	look for vcmpequd. instead of vcmpnew.
	* gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
	* gcc.target/powerpc/vsu/vec-any-eq-7.c: Change scan-assembler to
	look for xvcmpeqsp. instead of xvcmpnesp.
	* gcc.target/powerpc/vsu/vec-any-eq-8.c: Change scan-assembler to
	look for xvcmpeqdp. instead of xvcmpnedp.
	* gcc.target/powerpc/vsu/vec-any-eq-9.c: Change scan-assembler to
	look for vcmpequd. instead of vcmpnew.
	* gcc.target/powerpc/vsu/vec-cmpne-8.c: Change scan-assembler to
	look for vcmpeqsp instead of xvcmpnesp.
	* gcc.target/powerpc/vsu/vec-cmpne-9.c: Change scan-assembler to
	look for xvcmpeqdp instead of xvcmpnedp.

From-SVN: r245811
2017-03-01 14:43:02 +00:00
Gerald Pfeifer
00133e166c documentation_hacking.xml: Tweak link to doxygen.org.
* doc/xml/manual/documentation_hacking.xml: Tweak link to
	doxygen.org.

From-SVN: r245808
2017-03-01 12:53:28 +00:00
Jakub Jelinek
50c620cad9 * config/nvptx/nvptx.c: Include intl.h.
From-SVN: r245806
2017-03-01 11:25:49 +01:00
Martin Jambor
86cd0334f3 [PR 78140] Reuse same IPA bits and VR info
2017-03-01  Martin Jambor  <mjambor@suse.cz>

	PR lto/78140
	* ipa-prop.h (ipa_bits): Removed field known.
	(ipa_jump_func): Removed field vr_known.  Changed fields bits and m_vr
	to pointers.  Adjusted their comments to warn about their sharing.
	(ipcp_transformation_summary): Change bits to a vector of pointers.
	(ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
	(ipa_get_ipa_bits_for_value): Declare.
	* tree-vrp.h (value_range): Mark as GTY((for_user)).
	* ipa-prop.c (ipa_bit_ggc_hash_traits): New.
	(ipa_bits_hash_table): Likewise.
	(ipa_vr_ggc_hash_traits): Likewise.
	(ipa_vr_hash_table): Likewise.
	(ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
	being pointers and vr_known being removed.
	(ipa_set_jf_unknown): Likewise.
	(ipa_get_ipa_bits_for_value): New function.
	(ipa_set_jfunc_bits): Likewise.
	(ipa_get_value_range): New overloaded functions.
	(ipa_set_jfunc_vr): Likewise.
	(ipa_compute_jump_functions_for_edge): Use the above functions to
	construct bits and vr parts of jump functions.
	(ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
	exist.
	(ipcp_grow_transformations_if_necessary): Also allocate
	ipa_bits_hash_table and ipa_vr_hash_table if they do not already
	exist.
	(ipa_node_params_t::duplicate): Do not copy bits, just pointers to
	them.  Fix too long lines.
	(ipa_write_jump_function): Adjust for bits and m_vr being pointers and
	vr_known being removed.
	(ipa_read_jump_function): Use new setter functions to construct bits
	and vr parts of jump functions or set them to NULL.
	(write_ipcp_transformation_info): Adjust for bits being pointers.
	(read_ipcp_transformation_info): Likewise.
	(ipcp_update_bits): Likewise.  Fix excessively long lines a trailing
	space.
	Include gt-ipa-prop.h.
	* ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
	being pointers.
	(ipcp_store_bits_results): Likewise.
	(propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
	Do not write to existing jump functions but use a temporary instead.

From-SVN: r245805
2017-03-01 10:37:27 +01:00
Jakub Jelinek
42132674e5 re PR c++/79681 (ICE with constexpr and bitfield)
PR c++/79681
	* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
	attempt to use its first operand as BIT_FIELD_REF base.

	* g++.dg/cpp1y/constexpr-79681-1.C: New test.
	* g++.dg/cpp1y/constexpr-79681-2.C: New test.

From-SVN: r245804
2017-03-01 10:02:12 +01:00
Richard Biener
0100ae4302 re PR tree-optimization/79721 (Scalar evolution introduces signed overflow)
2017-03-01  Richard Biener  <rguenther@suse.de>

	PR middle-end/79721
	* tree-chrec.c (chrec_evaluate): Perform computation of Newtons
	interpolating formula in wrapping arithmetic.
	(chrec_apply): Convert chrec_evaluate return value to wanted type.

	* gcc.dg/torture/pr79721.c: New testcase.

From-SVN: r245803
2017-03-01 08:54:29 +00:00
Jakub Jelinek
e3e9e8ca83 re PR c++/79746 (Confusing -Wunused-but-set-parameter warning with virtual inheritance)
PR c++/79746
	* init.c (emit_mem_initializers): When not constructing vbases of
	abstract classes, mark arguments as read for
	-Wunused-but-set-parameter.

	* g++.dg/warn/Wunused-parm-9.C: New test.

From-SVN: r245802
2017-03-01 09:35:55 +01:00
Jakub Jelinek
0f3f4ffeaf re PR tree-optimization/79734 (ICE: verify_gimple failed)
PR tree-optimization/79734
	* tree-vect-generic.c (expand_vector_condition): Optimize
	AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
	Handle VEC_COND_EXPR where comparison has different inner width from
	type's inner width.

	* g++.dg/opt/pr79734.C: New test.

From-SVN: r245801
2017-03-01 09:34:48 +01:00
Sandra Loosemore
e287080d1c invoke.texi (ARC Options): Copy-edit to fix punctuation, markup, and similar issues.
2017-02-28  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
	markup, and similar issues.  Remove @opindex entries for things
	that aren't options.  Add missing -mmpy-option entries.

From-SVN: r245800
2017-02-28 23:31:28 -05:00
GCC Administrator
da1a9ced78 Daily bump.
From-SVN: r245799
2017-03-01 00:16:17 +00:00
Jason Merrill
853ef4e563 Class template argument deduction refinements
* call.c (joust): Move deduction guide tiebreaker down.
	* decl.c (start_decl_1, cp_finish_decl, grokdeclarator): Allow class
	deduction with no initializer.
	* pt.c (build_deduction_guide): Handle implicit default/copy ctor.
	(do_class_deduction): Use that rather than special case.
	(do_auto_deduction): Handle null initializer.

From-SVN: r245796
2017-02-28 18:57:09 -05:00
Jakub Jelinek
ad1de65225 re PR tree-optimization/79737 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes))
PR tree-optimization/79737
	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
	a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
	tmpbuf[byte_size - 1].  Call natice_encode_expr with byte_size - 1
	instead of byte_size.  Formatting fix.
	(shift_bytes_in_array_right): Formatting fix.

	* gcc.c-torture/execute/pr79737-1.c: New test.
	* gcc.c-torture/execute/pr79737-2.c: New test.

From-SVN: r245795
2017-02-28 23:39:11 +01:00
Ian Lance Taylor
7efb3707f2 mksigtab.sh: skip signals defined as other signals
Fixes Solaris build.
    
    Patch by Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/37587

From-SVN: r245794
2017-02-28 22:30:57 +00:00
Eric Botcazou
7a1ae92374 re PR target/79749 (Many sparc testcases FAIL at -O0 with -fomit-frame-pointer)
PR target/79749
	* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
	condition on optimize for the leaf function test.

From-SVN: r245791
2017-02-28 22:15:54 +00:00
Martin Liska
cbf6ad9d61 Do not allow to run GIMPLE or RTL test-cases w/ LTO (PR lto/79625).
2017-02-28  Martin Liska  <mliska@suse.cz>

	PR lto/79625
	* read-rtl-function.c (function_reader::handle_unknown_directive):
	Bail out when one uses -flto.

From-SVN: r245790
2017-02-28 22:04:32 +00:00
Martin Liska
9453ba0a0e Introduce =<number> for couple of options.
2017-02-28  Martin Liska  <mliska@suse.cz>

	* c.opt: Replace space with tabular for options of <number>
	type.
2017-02-28  Martin Liska  <mliska@suse.cz>

	* common.opt: Replace space with tabular for options of <number>
	type.
	* config/i386/i386.opt: Show <number> value for
	-mlarge-data-threshold.
	* opts.c (print_filtered_help): Do not display number in hexadecimal
	format.

From-SVN: r245789
2017-02-28 22:02:58 +00:00
Martin Liska
6a825afe90 Add tabulars for options with enum values.
2017-02-28  Martin Liska  <mliska@suse.cz>

	* common.opt: Fix --help=option -Q for options which are of
	an enum type.
2017-02-28  Martin Liska  <mliska@suse.cz>

	* c.opt: Fix --help=option -Q for options which are of
	an enum type.

From-SVN: r245788
2017-02-28 22:02:15 +00:00
Paul Thomas
753721a542 re PR fortran/79739 (ICE with some interesting code)
2017-02-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/79739
	* resolve.c (resolve_fl_procedure): Deal with the case where
	'submodule_name' is NULL so that gfc_error does not ICE.
	Reformat the error message to make it more consistent.

From-SVN: r245787
2017-02-28 19:32:02 +00:00
Uros Bizjak
2af0c3edd1 i386.c (print_reg): Error out for values of 8-bit size in invalid integer register.
* config/i386/i386.c (print_reg): Error out for values
	of 8-bit size in invalid integer register.

testsuite/ChangeLog:

	* gcc.target/i386/invsize-1.c: New test.

From-SVN: r245785
2017-02-28 19:03:16 +01:00
Martin Sebor
203ced0a77 PR tree-optimization/79691 - -Wformat-truncation suppressed by (and only by) -Og
gcc/ChangeLog:

	PR tree-optimization/79691
	* passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.

gcc/testsuite/ChangeLog:

	PR tree-optimization/79691
	* gcc.dg/tree-ssa/pr79691.c: New test.

From-SVN: r245782
2017-02-28 09:59:16 -07:00
Jakub Jelinek
8a915b876a re PR target/79729 (ICE in ix86_print_operand, at config/i386/i386.c:18231)
PR target/79729
	* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
	gcc_unreachable with output_operand_lossage.

	* gcc.target/i386/pr79729.c: New test.

From-SVN: r245781
2017-02-28 17:24:56 +01:00
Richard Biener
41aa3a3857 re PR tree-optimization/79740 (ICE on -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 }))
2017-02-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79740
	* tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
	inserts.
	(visit_nary_op): Insert the nary into the hashtable if we
	pattern-matched sth.
	* tree-ssa-pre.c (eliminate_insert): Robustify.

	* gcc.dg/torture/pr79740.c: New testcase.

From-SVN: r245780
2017-02-28 15:32:24 +00:00
Richard Biener
587240d249 re PR c/79731 (ICE: verify_gimple failed)
2017-02-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/79731
	* fold-const.c (decode_field_reference): Reject out-of-bound
	accesses.

	* c-c++-common/torture/pr79731.c: New testcase.

From-SVN: r245779
2017-02-28 15:31:30 +00:00
Jakub Jelinek
324ff1a07f i386.c: Include intl.h.
* config/i386/i386.c: Include intl.h.
	(ix86_option_override_internal): Use cond ? G_("...") : G_("...")
	instead of just cond ? "..." : "...".
	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
	* coverage.c (read_counts_file): Likewise.
	* omp-offload.c: Include intl.h.
	(oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
	of just cond ? "..." : "...".
	* gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
	of just cond ? "..." : "...".
c/
	* c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...")
	instead of just cond ? "..." : "...".
	(c_parser_oacc_enter_exit_data): Use %s and ternary operator only
	for "enter"/"exit" keyword.
	(c_finish_oacc_routine): Don't use %s to supply portions of the
	message.
cp/
	* decl.c (find_decomp_class_base): Use cond ? G_("...") : G_("...")
	instead of just cond ? "..." : "...".
	(grokdeclarator): Likewise.
	(build_enumerator): Likewise.
	* init.c (build_new_1): Likewise.
	* call.c (build_new_method_call_1): Likewise.
	* parser.c: Include intl.h.
	(cp_parser_oacc_enter_exit_data): Use %s and ternary operator only for
	"enter"/"exit" keyword.
	(cp_finalize_oacc_routine): Don't use %s to supply portions of the
	message.
fortran/
	* parse.c (parse_critical_block): Use cond ? G_("...") : G_("...")
	instead of just cond ? "..." : "...".
	* scanner.c (gfc_next_char_literal): Likewise.
	* match.c (match_exit_cycle): Likewise.

From-SVN: r245778
2017-02-28 16:25:19 +01:00
Ian Lance Taylor
c5c78a527d runtime: fix sigfwd to not allocate memory
The use of &[1]uintptr{fn} was causing sigfwd to allocate memory, even
    though it is being compiled for the runtime package.  That is a bad
    idea for this function, which is invoked by a signal handler.  Rewrite
    it to use only constructs that do not allocate memory when compiled
    for the runtime package.
    
    The test for this is misc/cgo/testcarchive in the main repo, which we
    don't yet test.
    
    Reviewed-on: https://go-review.googlesource.com/37454

From-SVN: r245777
2017-02-28 15:13:16 +00:00
Ian Lance Taylor
5d805ca622 libgo: fix quoting in mksigtab.sh
The quoting was causing us to never add the system-specific signals.
    
    The test for this is misc/cgo/testcarchive in the master repo, which
    we don't yet run for gccgo.
    
    Reviewed-on: https://go-review.googlesource.com/37453

From-SVN: r245776
2017-02-28 15:09:43 +00:00
Richard Earnshaw
48c0758a30 [ARM] Fix PR79742 incorrect scheduler choice.
Due to an oversight, the changes to use the new CPU generation tables
forgot to handle selecting a scheduler for a CPU other than the named
CPU target.  This meant that if, say, cortex-a12 was used, the null
scheduler was chosen rather than cortex-a17's scheduler as intended.
The fix is to correctly use the 'tune for' field when generating the
target-specific data files.

This revealed a spelling mistake in the name of the tune target in
cortex-m0.small-multiply.

	PR target/79742
	* config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
	entry, if present.
	* config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
	'tune for' CPU name.
	* config/arm/arm-cpu-data.h: Regenerated.

From-SVN: r245775
2017-02-28 14:17:29 +00:00
Gerald Pfeifer
b54f986e4d update_web_docs_svn: Remove a reference to GCC 3.1.
* update_web_docs_svn: Remove a reference to GCC 3.1.  Describe   
	settings to tweak if running on a host different from gcc.gnu.org.
	(WWWBASE): Allow override via the environment.  Also check for
	existance.

From-SVN: r245774
2017-02-28 13:17:52 +00:00
Richard Biener
dd3f45609c re PR middle-end/79732 (ICE in set_ssa_default_def, at tree-dfa.c:327)
2017-02-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79732
	* tree-inline.c (expand_call_inline): Do not shadow var.

	* gcc.dg/torture/pr79732.c: New testcase.

From-SVN: r245773
2017-02-28 12:38:57 +00:00
Richard Biener
c7d97b2846 re PR tree-optimization/79723 (Another case of dropped gs: prefix)
2017-02-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79723
	* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
	address-space properly.

	* gcc.target/i386/pr79723.c: New testcase.

From-SVN: r245772
2017-02-28 09:17:20 +00:00
Thomas Schwinge
d03958cfdf Miscellaneous optimization group fixes
gcc/
	* doc/optinfo.texi (Optimization groups): Fix option used for
	OPTGROUP_ALL.
	* doc/invoke.texi (-fopt-info): Document "omp".
	* dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
	(OPTGROUP_ALL): Add OPTGROUP_OMP.
	* hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
	* ipa-hsa.c (pass_data_ipa_hsa): Likewise.
	* omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.

From-SVN: r245769
2017-02-28 09:42:06 +01:00
Thomas Schwinge
fd2b8c8bd3 Rename the "openmp" group of optimizations to "omp"
gcc/
	* dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP.  Adjust
	all users.
	* dumpfile.c (optgroup_options): Instead of "openmp", associate
	OPTGROUP_OMP with "omp".

From-SVN: r245768
2017-02-28 09:41:55 +01:00
GCC Administrator
51e8bfb967 Daily bump.
From-SVN: r245767
2017-02-28 00:16:22 +00:00
Joseph Myers
7f25b97fff Update .po files.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r245764
2017-02-27 21:26:34 +00:00