Commit Graph

152298 Commits

Author SHA1 Message Date
GCC Administrator 55a8bcbb1f Daily bump.
From-SVN: r245897
2017-03-05 00:16:13 +00:00
Jason Merrill 108154ff26 c.opt (Wnoexcept-type): New.
* c.opt (Wnoexcept-type): New.

gcc/cp/
	* mangle.c (mangle_decl): Check -Wnoexcept-type instead of
	-Wc++1z-compat.

From-SVN: r245894
2017-03-04 14:21:38 -05:00
Marek Polacek 1ff4bae6b5 re PR c/79847 (diagnostics: missing space in "implicit declaration of function")
PR c/79847
	* c-decl.c (implicit_decl_warning): Add missing space.

From-SVN: r245893
2017-03-04 11:04:50 +00:00
Jason Merrill 4cdeb2343a Core issues 2273 and 2277
* call.c (joust): Adjust using-declaration tiebreaker to handle
	the intermediate base case.
	* method.c (strip_inheriting_ctors): Just return the argument if
	!flag_new_inheriting_ctors.

From-SVN: r245892
2017-03-04 03:12:28 -05:00
Jerry DeLisle ea6c757a1c re PR fortran/79841 (Inconsistent diagnostics in fortran/openmp.c, function check_symbol_not_pointer)
2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/79841
	* openmp.c (check_symbol_not_pointer): Adjust diagnostic.

From-SVN: r245891
2017-03-04 03:13:34 +00:00
GCC Administrator 6fdea83ec0 Daily bump.
From-SVN: r245890
2017-03-04 00:16:21 +00:00
Joseph Myers 2fda3b6549 * de.po: Update.
From-SVN: r245887
2017-03-03 23:48:40 +00:00
Marek Polacek 7f5a7d7848 re PR c/79758 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in store_parm_decls_oldstyle, at c/c-decl.c:8973)
PR c/79758
	* c-decl.c (store_parm_decls_oldstyle): Check if the element of
	current_function_prototype_arg_types is error_mark_node.  Fix
	formatting.  Use TREE_VALUE instead of TREE_TYPE.

	* gcc.dg/noncompile/pr79758.c: New test.

From-SVN: r245886
2017-03-03 22:19:24 +00:00
Jakub Jelinek 79c9b7a84f re PR c/79837 (incomplete diagnostic in c-parser: expected +, *, -, &, ^, |, &&, ||, min or identifier)
PR c/79837
	* c-parser.c (c_parser_omp_clause_reduction): Don't mention
	%<min%> or %<max%> in the diagnostics, instead mention identifier.
	(c_parser_omp_declare_reduction): Don't mention %<min%> in the
	diagnostics.

From-SVN: r245885
2017-03-03 21:16:58 +01:00
Jakub Jelinek 883c8f06ff re PR c/79836 (typo in c/c-parser.c: pragma omp ordered)
PR c/79836
	* c-parser.c (c_parser_generic_selection): Use %<_Generic%>
	instead of %<_Generic>.
	(c_parser_omp_ordered): Use %<depend%> instead of %<depend>.
	(c_parser_omp_target_exit_data): Use %<release%> instead of
	%<release>.

From-SVN: r245883
2017-03-03 20:56:54 +01:00
Jakub Jelinek cc195d46a3 re PR middle-end/79805 (ICE (verify_flow_info failed) with -fnon-call-exceptions -O)
PR middle-end/79805
	* internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
	ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
	ECF_NOTHROW.
	* gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
	gimple_call_nothrow_p flag based on whether original builtin can throw.
	If it can, emit following stmts on the fallthrough edge.
	* tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
	don't create new bb if inserting just debug stmts on the edge, try to
	insert them on the fallthru bb or just reset debug stmts.

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

From-SVN: r245882
2017-03-03 20:32:01 +01:00
Segher Boessenkool f325c45673 rs6000: Fix for -mwarn-cell-microcode (PR43763)
If using -mwarn-cell-microcode, rs6000_final_prescan_insn calls
get_insn_template to get the name of the machine instruction.  But,
get_insn_template calls the output template if that is code, and that
then can modify recog_data (it is normal to change the operands, for
example).

This patch saves and restores recog_data around the call to
get_insn_template to fix the problems this causes.


	PR target/43763
	* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
	restore recog_data (including the operand rtxes inside it) around
	the call to get_insn_template.

From-SVN: r245880
2017-03-03 18:00:50 +01:00
Andrew Senkevich 945b6e16e2 avx512vpopcntdq-check.h: New.
* gcc.target/i386/avx512vpopcntdq-check.h: New.
	* gcc.target/i386/avx512vpopcntdq-vpopcntd-1.c: Ditto.
	* gcc.target/i386/avx512vpopcntdq-vpopcntq-1.c: Ditto.
	* gcc.target/i386/avx512f-helper.h: Add avx512vpopcntdq-check.h.
	* gcc.target/i386/i386.exp
	(check_effective_target_avx512vpopcntdq): New.

From-SVN: r245879
2017-03-03 17:55:31 +01:00
Martin Sebor da7c751ba7 PR tree-optimization/79699 - small memory leak in MPFR
gcc/ChangeLog:
	* context.c (context::~context): Free MPFR caches to avoid
	a memory leak on program exit.

From-SVN: r245878
2017-03-03 09:35:00 -07:00
Kyrylo Tkachov d9074b2959 [AArch64] Fix bootstrap due to wide_int .elt (0) uninit warning
* config/aarch64/aarch64.c (aarch64_float_const_representable_p):
    Use wide_int::ulow () instead of .elt (0).

From-SVN: r245877
2017-03-03 16:32:01 +00:00
Uros Bizjak c953fb88fe i386.md (*pushtf): Change *roF constraint to *roC.
* config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
	(*pushxf): Limit oF constraint to 32bit targets and add oC
	constraint for 64bit targets.
	(pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
	(*pushdf): Change rmF constraint to rmC.

From-SVN: r245876
2017-03-03 17:19:34 +01:00
Gerald Pfeifer 252e3e7b4a * gcc_release (snapshot_print): Replace md5 checksum by sha256.
From-SVN: r245875
2017-03-03 14:12:04 +00:00
Toma Tabacu 31dcc38568 MIPS: Fix register mode checking for n64 in pr68273.c.
gcc/testsuite/

	* gcc.target/mips/pr68273.c (dg-final): Match SImode registers only for
	ilp32 targets and match DImode registers for lp64 targets.

From-SVN: r245874
2017-03-03 13:23:53 +00:00
Martin Liska 1c98e10bc9 Remove unused variable.
2017-03-03  Martin Liska  <mliska@suse.cz>

	* tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
	Remove unused variable.

From-SVN: r245873
2017-03-03 12:53:13 +00:00
Uros Bizjak 0e174ae195 pr71624.C: Disable for x32.
* g++.dg/pr71624.C: Disable for x32.
	* g++.dg/pr71633.C: Ditto.

From-SVN: r245872
2017-03-03 13:26:16 +01:00
Jakub Jelinek 93505ec51e re PR target/79807 (ICE in extract_insn, at recog.c:2311 (error: unrecognizable insn))
PR target/79807
	* config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
	is a memory operand, increase num_memory.
	(ix86_expand_args_builtin): Likewise.

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

From-SVN: r245871
2017-03-03 13:24:53 +01:00
Jan Hubicka 8479ed2c47 Properly handle __cxa_pure_virtual visibility (PR lto/79760).
2017-03-03  Jan Hubicka  <jh@suse.cz>

	PR lto/79760
	* ipa-devirt.c (maybe_record_node): Properly handle
	__cxa_pure_virtual visibility.

From-SVN: r245870
2017-03-03 11:58:03 +00:00
Martin Liska d78a1c01db Add -Wdisabled-optimization to loop prefetching pass (PR tree-optimization/79803).
2017-03-03  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/79803
	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
	assert.
	(pass_loop_prefetch::execute): Disabled optimization if an
	assumption about L1 cache size is not met.
2017-03-03  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/79803
	* gcc.dg/tree-ssa/pr79803.c: New test.

From-SVN: r245869
2017-03-03 11:53:56 +00:00
Martin Liska ec7f796e87 GCSE: Use HOST_WIDE_INT instead of int (PR rtl-optimization/79574).
2017-03-03  Martin Liska  <mliska@suse.cz>

	PR rtl-optimization/79574
	* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
	(hash_scan_set): Likewise.
	(dump_hash_table): Likewise.
	(hoist_code): Likewise.
2017-03-03  Martin Liska  <mliska@suse.cz>

	PR rtl-optimization/79574
	* gcc.dg/pr79574-2.c: New test.

From-SVN: r245868
2017-03-03 11:53:14 +00:00
Richard Biener 98fa4d3c02 fixed-value.c (fixed_from_string): Restore use of elt (1) in place of uhigh ().
2017-03-03  Richard Biener  <rguenther@suse.de>

	* fixed-value.c (fixed_from_string): Restore use of elt (1)
	in place of uhigh ().
	(fixed_convert_from_real): Likewise.

From-SVN: r245867
2017-03-03 11:32:38 +00:00
Richard Biener 30d309aaf1 re PR c++/79825 (Uninitialized uses in aggregate copies of empty structs (missed DCE in C++ gimplify))
2017-03-03  Richard Biener  <rguenther@suse.de>

	PR c++/79825
	* cp-gimplify.c (simple_empty_class_p): Handle EMPTY_CLASS_EXPR.

	* g++.dg/warn/Wuninitialized-8.C: New testcase.

From-SVN: r245866
2017-03-03 11:30:32 +00:00
Jakub Jelinek 38801de50f * gcc.dg/pr57134.c: Use empty inline asm string literal.
From-SVN: r245865
2017-03-03 11:41:49 +01:00
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