Commit Graph

167393 Commits

Author SHA1 Message Date
David Malcolm ec0f936b30 i386.c: make "sorry" message more amenable to translation (PR target/79926)
gcc/ChangeLog:
	PR target/79926
	* config/i386/i386.c (ix86_set_current_function): Make "sorry"
	messages more amenable to translation, and improve wording.

gcc/testsuite/ChangeLog:
	PR target/79926
	* gcc.target/i386/interrupt-387-err-1.c: Update expected message.
	* gcc.target/i386/interrupt-387-err-2.c: Likewise.
	* gcc.target/i386/interrupt-mmx-err-1.c: Likewise.
	* gcc.target/i386/interrupt-mmx-err-2.c: Likewise.

From-SVN: r269515
2019-03-08 22:27:08 +00:00
Paolo Carlini 49c1f7a6c5 re PR c++/63540 (Erroneous "'Derived' declares a move constructor or move assignment operator" in error.)
2019-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/63540
	* g++.dg/cpp0x/implicit17.C: New.

From-SVN: r269508
2019-03-08 21:22:07 +00:00
Paolo Carlini a8ce2144c1 re PR c++/22149 (func pointer non-type template parm invalid access control)
2019-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/22149
	* g++.dg/template/access29.C: New.

From-SVN: r269507
2019-03-08 20:59:39 +00:00
Bill Schmidt 792deebfe4 rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild ud- and du-chains between phases.
2019-03-08  Bill Schmidt  <wschmidt@linux.ibm.com>

	* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
	ud- and du-chains between phases.

From-SVN: r269505
2019-03-08 19:47:05 +00:00
Jakub Jelinek 6fbaad2154 re PR c++/82075 (structured binding fails with empty base class)
PR c++/82075
	* g++.dg/cpp1z/decomp49.C: New test.

From-SVN: r269504
2019-03-08 19:31:27 +01:00
Richard Sandiford 3a3998f36a Fix POLY_INT_CST/CONST_POLY_INT typo (PR 89631)
2019-03-08  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	PR debug/89631
	* dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT
	instead of POLY_INT_CST.

From-SVN: r269500
2019-03-08 18:18:23 +00:00
Andre Vieira f65112f616 [GCC, Arm] Fix availability of FP16-FP64 conversion instructions
vcvtb.f16.f64 and vcvtb.f64.f16 were being made available even for FPUs that do
not support double precision.  This patch fixes that.

gcc/ChangeLog:
2019-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
	requirement.

gcc/testsuite/ChangeLog:
2019-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* gcc.target/arm/f16_f64_conv_no_dp.c: New test.

From-SVN: r269499
2019-03-08 17:29:02 +00:00
Uros Bizjak 9a53d503a4 re PR target/68924 (No intrinsic for x86 `MOVQ m64, %xmm` in 32bit mode.)
PR target/68924
	PR target/78782
	PR target/87558
	* config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic.
	(_mm_storeu_si64): Ditto.

testsuite/ChangeLog:

	PR target/68924
	PR target/78782
	PR target/87558
	* gcc.target/i386/pr78782.c: New test.
	* gcc.target/i386/pr87558.c: Ditto.

From-SVN: r269497
2019-03-08 16:53:47 +01:00
Jakub Jelinek 752e334b3a Add tests for resolved PR (PR c/85870).
2019-03-08  Jakub Jelinek  <jakub@redhat.com>

	PR c/85870
	* gcc.dg/lto/pr85870_0.c: New test.
	* gcc.dg/lto/pr85870_1.c: New test.

From-SVN: r269495
2019-03-08 14:04:27 +00:00
Jonathan Wakely c7904d9e08 Fix text of hyperlink in manual
* doc/xml/manual/using.xml: Use link element instead of xref.
	* doc/html/*: Regenerate.

From-SVN: r269494
2019-03-08 13:56:53 +00:00
Jonathan Wakely 43aaf5ab73 Add fixed underlying type to enum path::format
* include/bits/fs_path.h (path::format): Add fixed underlying type.

From-SVN: r269493
2019-03-08 13:56:48 +00:00
Martin Liska f62d3527db x86: Disable jump tables when retpolines are used (PR target/86952).
2019-03-08  Martin Liska  <mliska@suse.cz>

	PR target/86952
	* config/i386/i386.c (ix86_option_override_internal): Disable
	jump tables when retpolines are used.
2019-03-08  Martin Liska  <mliska@suse.cz>

	PR target/86952
	* gcc.target/i386/pr86952.c: New test.
	* gcc.target/i386/indirect-thunk-7.c: Use jump tables to match
	scanned pattern.
	* gcc.target/i386/indirect-thunk-inline-7.c: Likewise.

From-SVN: r269492
2019-03-08 12:55:40 +00:00
Jan Hubicka 37555926fe Restrict IPA split (PR go/63560).
2019-03-08  Jan Hubicka  <hubicka@ucw.cz>

	PR go/63560
	* ipa-split.c (execute_split_functions): Do not split
	'noinline' or 'section' function.

From-SVN: r269491
2019-03-08 12:37:54 +00:00
Jakub Jelinek ec07e94bbf re PR target/79846 (s390: untranslatable diagnostic in s390.c)
PR target/79846
	* config/s390/s390.c (s390_const_operand_ok): Use %wu instead of
	HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of
	HOST_WIDE_INT_PRINT_DEC.  Formatting fixes.

From-SVN: r269489
2019-03-08 11:53:27 +01:00
Jakub Jelinek 4ee494c053 re PR ipa/80000 (diagnostics: trailing spaces in "one definition rule ")
PR ipa/80000
	* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
	from diagnostics.  Formatting fixes.

	PR target/85665
	* ipa-devirt.c (odr_types_equivalent_p): Fix grammar in
	warn_odr diagnostics.

From-SVN: r269488
2019-03-08 11:52:38 +01:00
Jakub Jelinek 0d7bac69b7 re PR other/80058 (fix double spaces in string literals everywhere)
PR other/80058
	* lra-constraints.c (process_alt_operands): Avoid one space before
	" at the end of line and another after " on another line in a string
	literal.
	* attribs.c (handle_dll_attribute): Likewise.
	* config/avr/avr-devices.c (avr_texinfo): Likewise.
cp/
	* parser.c (cp_parser_template_declaration_after_parameters): Avoid
	one space before " at the end of line and another after " on another
	line in a string literal.
fortran/
	* arith.c (gfc_complex2complex): Avoid two spaces in the middle of
	diagnostics.
	* resolve.c (resolve_allocate_expr): Likewise.

From-SVN: r269487
2019-03-08 11:51:28 +01:00
Jakub Jelinek 723a52f951 gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap warning_at or inform messages in G_() if there is no ?:.
* gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
	warning_at or inform messages in G_() if there is no ?:.

From-SVN: r269486
2019-03-08 11:50:23 +01:00
Jakub Jelinek 1db01ff96a re PR tree-optimization/89550 (Spurious array-bounds warning when using __PRETTY_FUNCTION__ as a string_view)
PR tree-optimization/89550
	* builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at
	returned true.  Formatting fixes.
	(expand_builtin_strnlen): Formatting fixes.
	* tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING
	if warning_at returned true.
	* tree-cfg.c (pass_warn_function_return::execute): Likewise.
c-family/
	* c-common.c (c_common_truthvalue_conversion): Only set
	TREE_NO_WARNING if warning_at returned true.
	* c-warn.c (overflow_warning, warn_logical_operator): Likewise.
c/
	* c-decl.c (finish_function): Only set TREE_NO_WARNING if warning_at
	returned true.
	(c_write_global_declarations_1): Only set TREE_NO_WARNING if pedwarn
	or warning returned true.
cp/
	* semantics.c (maybe_convert_cond): Only set TREE_NO_WARNING if
	warning_at returned true.
	* decl2.c (c_parse_final_cleanups): Likewise.
	* typeck.c (convert_for_assignment): Likewise.
	* decl.c (finish_function): Likewise.

From-SVN: r269485
2019-03-08 11:46:39 +01:00
Richard Biener 94ec37a909 re PR target/89578 (5% runtime regression for 481.wrf at -Ofast -flto)
2019-03-08  Richard Biener  <rguenther@suse.de>

	PR middle-end/89578
	* cfgloop.h (struct loop): Add owned_clique field.
	* cfgloopmanip.c (copy_loop_info): Copy it.
	* tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
	cliques.
	* tree-inline.c (copy_loops): Remap owned_clique.
	* lto-streamer-in.c (input_cfg): Stream owned_clique.
	* lto-streamer-out.c (output_cfg): Likewise.

From-SVN: r269484
2019-03-08 10:20:12 +00:00
Jakub Jelinek 5d1504d42a re PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)
PR c++/89585
	* parser.c (cp_parser_asm_definition): Just warn instead of error
	on volatile qualifier outside of function body.

	* g++.dg/asm-qual-3.C: Adjust expected diagnostics for toplevel
	asm volatile.

From-SVN: r269483
2019-03-08 08:45:23 +01:00
Jakub Jelinek ed3ea9f271 re PR c++/89599 (C-style function-pointer-to-void* cast is handled inconsistently)
PR c++/89599
	* constexpr.c (potential_constant_expression_1): Reject
	REINTERPRET_CAST_P NOP_EXPRs.

	* g++.dg/ubsan/vptr-4.C: Adjust expected diagnostics.
	* g++.dg/parse/array-size2.C: Likewise.
	* g++.dg/cpp0x/constexpr-89599.C: New test.

From-SVN: r269482
2019-03-08 08:43:58 +01:00
Jakub Jelinek 560a46a591 re PR c++/89622 (G++ prints notes, but no warning or error)
PR c++/89622
	* call.c (joust): Call print_z_candidate only if pedwarn returned
	true.

	* g++.dg/warn/pr89622.C: New test.

From-SVN: r269481
2019-03-08 08:42:51 +01:00
Jakub Jelinek 1d28bbdf47 re PR target/80190 (darwin: untranslateable placeholder "non-ASCII character")
PR target/80190
	* config/darwin.c: Include intl.h.
	(darwin_build_constant_cfstring): Improve i18n of diagnostics by not
	composing the message out of two separate parts.

From-SVN: r269480
2019-03-08 08:39:31 +01:00
François Dumont c0cb38c28e re PR libstdc++/89477 (Incorrect CTAD deduction guides for set and multiset)
2019-03-08  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/89477
	* include/debug/map.h (map): Use _RequireNotAllocator to constrain
	parameters in deduction guides.
	* include/debug/multimap.h (multimap): Likewise.
	* include/debug/set.h (multimap): Likewise.
	* include/debug/multiset.h (multimap): Likewise.
	* include/debug/unordered_map (unordered_map): Likewise.
	(unordered_multimap): Likewise.
	* include/debug/unordered_set (unordered_set): Likewise.
	(unordered_multiset): Likewise.

From-SVN: r269479
2019-03-08 05:53:09 +00:00
François Dumont 20a4550ce0 re PR libstdc++/89608 (Undetected iterator invalidations on unordered containers in debug mode)
2019-03-08  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/89608
	* include/debug/unordered_map (unordered_map<>::_M_check_rehashed):
	Invalidate all iterators in case of rehash.
	(unordered_multimap<>::_M_check_rehashed): Likewise.
	* include/debug/unordered_set
	(unordered_set<>::_M_check_rehashed): Likewise.
	(unordered_multiset<>::_M_check_rehashed): Likewise.
	* testsuite/23_containers/unordered_set/debug/89608_neg.cc: New.

From-SVN: r269478
2019-03-08 05:37:50 +00:00
Jason Merrill bddee796d0 PR c++/88123 - lambda and using-directive.
For named function calls in a template, the result of unqualified lookup is
safed in CALL_EXPR_FN.  But for operator expressions, no unqualified lookup
is performed until we know whether the operands have class type.  So when we
see in a lambda a use of an operator that might be overloaded, we need to do
that lookup then and save it away somewhere.  One possibility would be in
the expression, but we can't really add extra conditional operands to
standard tree codes.  I mostly implemented another approach using a new
WITH_LOOKUP_EXPR code, but teaching everywhere how to handle a new tree code
is always complicated.  Then it occurred to me that we could associate the
lookups with the function, which is both simpler and smaller.  So this patch
stores any operator bindings needed by a lambda function in an internal
attribute on the lambda call operator.

	* name-lookup.c (op_unqualified_lookup)
	(maybe_save_operator_binding, discard_operator_bindings)
	(push_operator_bindings): New.
	* typeck.c (build_x_binary_op, build_x_unary_op): Call
	maybe_save_operator_binding.
	* decl.c (start_preparsed_function): Call push_operator_bindings.
	* tree.c (cp_free_lang_data): Call discard_operator_bindings.

From-SVN: r269477
2019-03-07 21:54:41 -05:00
GCC Administrator 1ce59b6cad Daily bump.
From-SVN: r269476
2019-03-08 00:16:34 +00:00
Joseph Myers 479d3a6076 * sv.po: Update.
From-SVN: r269473
2019-03-08 00:06:15 +00:00
Andreas Schwab ec274050c5 RISC-V: Add libstdc++ check-abi support.
Andreas Schwab  <schwab@suse.de>
	* config/abi/post/riscv64-linux-gnu: New directory.
	* config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r269472
2019-03-07 15:24:59 -08:00
Jakub Jelinek 74d1f65102 re PR target/80003 (i386.c: %s placeholder is no semantic grammar unit)
PR target/80003
	* config/i386/i386.c (ix86_set_func_type): Make sure diagnostics
	doesn't start with a capital letter and doesn't end with a dot.
	(ix86_function_arg_boundary): Make sure diagnostics doesn't start
	with a capital letter.
	(ix86_mangle_function_version_assembler_name): Likewise.
	(ix86_generate_version_dispatcher_body): Likewise.
	(fold_builtin_cpu): Likewise.
	(get_builtin_code_for_version): Likewise.  Remove extraneous space.
	(ix86_handle_interrupt_attribute): Make the diagnostics easier for
	translators, wrap full type name in %qs.

	* gcc.target/i386/pr68657.c: Adjust expected diagnostics wording.
	* gcc.target/i386/interrupt-6.c: Likewise.
	* g++.target/i386/pr57362.C: Adjust capitalization in dg-prune-output.

From-SVN: r269471
2019-03-07 22:32:21 +01:00
Joseph Myers c04d666671 * fi.po: Update.
From-SVN: r269470
2019-03-07 20:50:30 +00:00
Paolo Carlini c7163b643e re PR c++/84518 (ICE with lambda capturing broken variable)
2019-03-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84518
	* g++.dg/cpp0x/lambda/lambda-ice30.C: New.
	* g++.dg/cpp0x/lambda/lambda-ice31.C: Likewise.

From-SVN: r269469
2019-03-07 20:49:42 +00:00
Jakub Jelinek 90a0bf4e02 re PR translation/79999 (possible typo in gimplify.c: depend(sink:))
PR translation/79999
	* gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about
	depend clause with source (or sink) modifier.
	* omp-expand.c (expand_omp_ordered_sink): Likewise.

	* c-c++-common/gomp/doacross-1.c: Adjust expected diagnostics.
	* c-c++-common/gomp/doacross-3.c: New test.

From-SVN: r269468
2019-03-07 20:46:11 +01:00
Jakub Jelinek 459d21c6cf re PR target/89602 (Missing AVX512 intrinsics)
PR target/89602
	* config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask,
	*avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns.
	(avx512f_load<mode>_mask): New define_expand.
	* config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask,
	__builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask,
	__builtin_ia32_storess_mask, __builtin_ia32_movesd_mask,
	__builtin_ia32_movess_mask): New builtins.
	* config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss,
	_mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss,
	_mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd,
	_mm_mask_store_ss, _mm_mask_store_sd): New intrinsics.

	* gcc.target/i386/avx512f-vmovss-1.c: New test.
	* gcc.target/i386/avx512f-vmovss-2.c: New test.
	* gcc.target/i386/avx512f-vmovss-3.c: New test.
	* gcc.target/i386/avx512f-vmovsd-1.c: New test.
	* gcc.target/i386/avx512f-vmovsd-2.c: New test.
	* gcc.target/i386/avx512f-vmovsd-3.c: New test.

From-SVN: r269467
2019-03-07 20:10:21 +01:00
Iain Buclaw 8f5439bea3 d/dmd: Merge upstream dmd d517c0e6a
Fixes https://gcc.gnu.org/PR89016

Reviewed-on: https://github.com/dlang/dmd/pull/9427

From-SVN: r269465
2019-03-07 16:57:23 +00:00
Martin Jambor 59d9a0aa71 Zero local estimated benefit for cloning extern inline function
2019-03-07  Martin Jambor  <mjambor@suse.cz>

	PR lto/87525
	* ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
	for extern inline functions.

	testsuite/
	* gcc.dg/ipa/ipcp-5.c: New test.

From-SVN: r269464
2019-03-07 17:42:20 +01:00
Jason Merrill ae9b289201 PR c++/88820 - ICE with CTAD and member template used in DMI.
Here the problem was that in order to form a FUNCTION_DECL for foo<int> in
the uninstantiated template, we were trying to deduce template args for S
from the template parm itself, and failing.

	* pt.c (do_class_deduction): Handle parm used as its own arg.

From-SVN: r269463
2019-03-07 11:15:56 -05:00
Martin Jambor 1738b52201 Relax cgraph_node::clone_of_p to also look through former clones
2019-03-07  Martin Jambor  <mjambor@suse.cz>

	PR ipa/88235
	* cgraph.h (cgraph_node): New inline method former_thunk_p.
	* cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
	(clone_of_p): Treat expanded thunks like thunks, be optimistic if they
	have multiple callees.  At the end check if declarations match as
	opposed to cgraph_nodes.

	testsuite/
	* g++.dg/ipa/pr88235.C: New test.

From-SVN: r269462
2019-03-07 17:03:34 +01:00
Martin Liska 606711a167 Significantly speed up verifiers for a cgraph_node with many clones.
2019-03-07  Martin Liska  <mliska@suse.cz>

	* cgraph.c (cgraph_node::verify_node): Verify with a neighbour
	which is equivalent to searching for this in clones chain.
	* symtab.c (symtab_node::verify_base): Similarly compare ASM
	names with a neighbour and special case first node in a chain.

From-SVN: r269461
2019-03-07 15:33:52 +00:00
Jason Merrill 7c3f98ca65 Fix comment
From-SVN: r269460
2019-03-07 10:16:04 -05:00
Jason Merrill d4babd373b PR c++/80916 - spurious "static but not defined" warning.
Nothing can refer to an internal decl with no definition, so we shouldn't
treat such a decl as a possible devirtualization target.

	* gimple-fold.c (can_refer_decl_in_current_unit_p): Return false
	for an internal symbol with DECL_EXTERNAL.

From-SVN: r269459
2019-03-07 10:10:22 -05:00
Richard Biener 5161ffa4f5 re PR tree-optimization/89618 (Inner loop won't vectorize unless dummy statement is included)
2019-04-07  Richard Biener  <rguenther@suse.de>

	PR middle-end/89618
	* cfgloopmanip.c (copy_loop_info): Copy forgotten fields.
	* tree-inline.c (copy_loops): Simplify.

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

From-SVN: r269458
2019-03-07 14:53:37 +00:00
Jonathan Wakely e0f7051e44 Fix new test to run as well as compile
* testsuite/20_util/function_objects/bind_front/1.cc: Change from
	compile test to run. Fix typo.

From-SVN: r269457
2019-03-07 14:35:22 +00:00
Jonathan Wakely 5178f5c255 Update C++20 status table in libstdc++ manual
* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
	* doc/html/*: Regenerate.

From-SVN: r269456
2019-03-07 14:25:05 +00:00
Jonathan Wakely 9ae2a7c399 P0356R5 Simplified partial function application
* include/std/functional [C++20] (_Bind_front, _Bind_front_t): Define
	helpers for bind_front.
	(bind_front, __cpp_lib_bind_front): Define.
	* testsuite/20_util/function_objects/bind_front/1.cc: New test.

From-SVN: r269455
2019-03-07 14:15:53 +00:00
Martin Liska 20faba6ddf Revert function removal made in r264561.
2019-03-07  Martin Liska  <mliska@suse.cz>

	* dwarf2out.c (add_AT_vms_delta): Revert function removal.

From-SVN: r269454
2019-03-07 13:47:53 +00:00
Richard Biener 1a438d160e re PR tree-optimization/89595 (DOM miscompiles code)
2019-03-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89595
	* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
	stmt iterator as reference, take boolean output parameter to
	indicate whether the stmt was removed and thus the iterator
	already advanced.
	(dom_opt_dom_walker::before_dom_children): Re-iterate over
	stmts created by folding.

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

From-SVN: r269453
2019-03-07 12:46:44 +00:00
Jakub Jelinek f879f0e3f2 re PR c++/89585 (GCC 8.3: asm volatile no longer accepted at file scope)
PR c++/89585
	* doc/extend.texi (Basic Asm): Document qualifiers are not allowed
	at toplevel.

	* parser.c (cp_parser_asm_definition): Parse asm qualifiers even
	at toplevel, but diagnose them.

	* g++.dg/asm-qual-3.C: Adjust expected diagnostics.

From-SVN: r269451
2019-03-07 09:18:36 +01:00
Ian Lance Taylor c0017f91c4 re PR go/89227 (gotools test cmd/go fails with link error "call lacks nop, can't restore toc; recompile with -fPIC")
PR go/89227
	* go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
	only-inline function.

From-SVN: r269449
2019-03-07 00:53:41 +00:00
GCC Administrator 295bae04b2 Daily bump.
From-SVN: r269448
2019-03-07 00:16:32 +00:00