Commit Graph

152421 Commits

Author SHA1 Message Date
Marek Polacek
7278b0a266 re PR c++/79791 (-Werror=write-strings ignored with -Wpedantic)
PR c++/79791
	* typeck.c (string_conv_p): In C++11, always call pedwarn with
	OPT_Wwrite_strings.

	* g++.dg/warn/Wwrite-strings-1.C: New test.
	* g++.dg/warn/Wwrite-strings-2.C: New test.
	* g++.dg/warn/Wwrite-strings-3.C: New test.
	* g++.dg/warn/Wwrite-strings-4.C: New test.
	* g++.dg/warn/Wwrite-strings-5.C: New test.
	* g++.dg/warn/Wwrite-strings-6.C: New test.
	* g++.dg/warn/Wwrite-strings-7.C: New test.
	* g++.dg/warn/Wwrite-strings-8.C: New test.
	* g++.dg/warn/Wwrite-strings-9.C: New test.
	* g++.dg/warn/Wwrite-strings-10.C: New test.
	* g++.dg/warn/Wwrite-strings-11.C: New test.
	* g++.dg/warn/Wwrite-strings-12.C: New test.

From-SVN: r245864
2017-03-03 09:58:10 +00:00
Uros Bizjak
5719c938be re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)
PR target/79514
	* config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.

From-SVN: r245861
2017-03-03 10:18:01 +01:00
Richard Biener
75473a91bc re PR middle-end/79818 (wrong code with -fwrapv and -Os/-O1/-O2/-O3)
2017-03-03  Richard Biener  <rguenther@suse.de>

	PR middle-end/79818
	* match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
	TYPE_OVERFLOW_UNDEFINED check.

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

From-SVN: r245860
2017-03-03 08:08:08 +00:00
Jason Merrill
fb5ce60890 Update overload resolution with deduction guides.
* pt.c (do_class_deduction): Always build the copy guide.
	(copy_guide_p, template_guide_p): New.
	(build_deduction_guide): Remember the original constructor.
	* call.c (joust): Prefer the copy guide and non-template guides.

From-SVN: r245859
2017-03-03 02:31:54 -05:00
Jason Merrill
de35db4271 Allow deduction guides to look into primary template.
* cp-tree.h (struct saved_scope): Add deduction_guide_type.
	(struct cp_decl_specifier_seq): Add constructor_p.
	* parser.c (cp_parser_decl_specifier_seq): Set constructor_p.
	(cp_parser_init_declarator): Check it.  Set ctor_dtor_or_conv_p.
	Clear deduction_guide_type.  Don't handle deduction guide names.
	(cp_parser_declarator): Don't clear ctor_dtor_or_conv_p.
	(cp_parser_direct_declarator): Likewise.  Handle deduction guides.
	(cp_parser_member_declaration, cp_parser_cache_defarg)
	(cp_parser_objc_class_ivars): Set ctor_dtor_or_conv_p.
	* pt.c (tsubst_copy, tsubst_copy_and_build): Revert last change.
	(build_deduction_guide): Set deduction_guide_type.
	(dependent_scope_p): Check deduction_guide_type.
	* search.c (lookup_member): Likewise.

From-SVN: r245858
2017-03-02 20:26:47 -05:00
GCC Administrator
9e01c6ce92 Daily bump.
From-SVN: r245857
2017-03-03 00:16:21 +00:00
Jakub Jelinek
50bea0c5ea re PR c++/79782 (ICE: tree check: expected tree_list, have void_type in emit_mem_initializers, at cp/init.c:1225)
PR c++/79782
	* init.c (mark_exp_read_r): New function.
	(emit_mem_initializers): Use cp_walk_tree with mark_exp_read_r on
	whole arguments instead of plain mark_exp_read on TREE_LIST values.

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

From-SVN: r245853
2017-03-02 22:31:40 +01:00
Joseph Myers
2f9221bf7e * da.po: Update.
From-SVN: r245852
2017-03-02 21:06:47 +00:00
Uros Bizjak
130f15ce27 *.c: Test for "{ i?86-*-* x86_64-*-* } && lp64" targets only.
* gcc.dg/rtl/x86_64/*.c: Test for
	"{ i?86-*-* x86_64-*-* } && lp64" targets only.

From-SVN: r245850
2017-03-02 20:32:32 +01:00
Bill Schmidt
d36a53d6f2 vector.md (vector_ne_<mode>_p): Correct operand numbers.
2017-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
	numbers.
	(vector_ae_<mode>_p): Likewise.
	(vector_nez_<mode>_p): Likewise.
	(vector_ne_v2di_p): Likewise.
	(vector_ae_v2di_p): Likewise.
	(vector_ne_<mode>_p): Likewise.
	* config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
	numbers.
	(vsx_tsqrt<mode>2_fe): Likewise.

From-SVN: r245849
2017-03-02 19:17:04 +00:00
Gerald Pfeifer
1a5a334e78 debug_mode.xml: Update and simplify note on link- and run-time coexistence.
* doc/xml/manual/debug_mode.xml: Update and simplify note
	on link- and run-time coexistence.

Co-Authored-By: François Dumont <frs.dumont@gmail.com>
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r245848
2017-03-02 19:11:50 +00:00
Jonathan Wakely
17b0b37f58 Rename 17_intro/headers/names.cc test file
* testsuite/17_intro/headers/names.cc: Rename to ...
	* testsuite/17_intro/names.cc: ... here.

From-SVN: r245845
2017-03-02 18:56:57 +00:00
Uros Bizjak
dc362ada54 re PR target/79514 (ICE in curr_insn_transform, at lra-constraints.c:3773)
PR target/79514
	* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.

testsuite/ChangeLog:

	PR target/79514
	* gcc.target/i386/pr79514.c: New test.

From-SVN: r245844
2017-03-02 19:47:03 +01:00
Jakub Jelinek
fe792dd82f re PR rtl-optimization/79780 (ICE in rtl_verify_bb_insns, at cfgrtl.c:2661 (error: flow control insn inside a basic block))
PR rtl-optimization/79780
	* cprop.c (one_cprop_pass): When second and further conditional trap
	in a single basic block is turned into an unconditional trap, turn it
	into a deleted note to avoid RTL verification failures.

	* gcc.c-torture/compile/pr79780.c: New test.

From-SVN: r245843
2017-03-02 17:02:37 +01:00
Richard Biener
35a4e4ed81 fold-const.c (const_binop): Use ulow () instead of elt (0).
2017-03-02  Richard Biener  <rguenther@suse.de>

	* fold-const.c (const_binop): Use ulow () instead of elt (0).

From-SVN: r245841
2017-03-02 14:38:47 +00:00
Richard Biener
e80facb4af re PR tree-optimization/79345 (passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized))
2017-03-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79345
	PR c++/42000
	* tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
	param and abort the walk, returning -1 if it is hit.
	(walk_aliased_vdefs): Take a limit param and pass it on.
	* tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
	defaulting to 0 and return a signed int.
	* tree-ssa-uninit.c (struct check_defs_data): New struct.
	(check_defs): New helper.
	(warn_uninitialized_vars): Use walk_aliased_vdefs to warn
	about uninitialized memory.

	* fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
	bogus uninitialized warning.
	(fixed_convert_from_real): Likewise.

	* g++.dg/warn/Wuninitialized-7.C: New testcase.
	* c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized.
	* gcc.dg/uninit-pr19430-2.c: Add expected warning.

From-SVN: r245840
2017-03-02 13:42:05 +00:00
Thomas Koenig
f03e92172a matmul.m4 (matmul_'rtype_code`): Avoid race condition on storing function pointer.
2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
	    Jakub Jelinek  <jakub@redhat.com>

	* m4/matmul.m4 (matmul_'rtype_code`):  Avoid
	race condition on storing function pointer.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r245839
2017-03-02 12:54:27 +00:00
Richard Biener
eb0e7c34d7 re PR middle-end/79756 (ICE in execute_todo, at passes.c:2011)
2017-03-02  Richard Biener  <rguenther@suse.de>

	PR c/79756
	* c-common.c (c_common_mark_addressable_vec): Look through
	C_MAYBE_CONST_EXPR.

	* gcc.dg/vector-1.c: New testcase.

From-SVN: r245838
2017-03-02 11:44:16 +00:00
Bin Cheng
653a4b32fe re PR tree-optimization/66768 (address space gets lost on literal pointer)
PR tree-optimization/66768
	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
	iv_use if base object can't be determined.

	gcc/testsuite
	* gcc.target/i386/pr66768.c: New test.

From-SVN: r245837
2017-03-02 11:25:11 +00:00
Thomas Koenig
6d03bdcc81 re PR libfortran/78379 (Processor-specific versions for matmul)
2017-03-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78379
	* m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for
	reals.  Add fma to target options.
	(matmul_'rtype_code`):  Call AVX2 only if FMA is available.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r245836
2017-03-02 11:04:01 +00:00
Jonathan Yong
db9f7f657e gthr-win32.h: Define NOGDI before windows.h include to prevent w32api CC_NONE macro clash...
* config/i386/gthr-win32.h: Define NOGDI before
        windows.h include to prevent w32api CC_NONE macro
        clash with libgfortran.

From-SVN: r245835
2017-03-02 11:03:23 +00:00
Jonathan Yong
126437c5da unwind-seh.c: Suppress warnings for RtlUnwindEx calls.
* unwind-seh.c: Suppress warnings for RtlUnwindEx calls.

From-SVN: r245834
2017-03-02 11:00:28 +00:00
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