]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years ago PR target/79846
jakub [Fri, 8 Mar 2019 10:53:27 +0000 (10:53 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269489 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR ipa/80000
jakub [Fri, 8 Mar 2019 10:52:38 +0000 (10:52 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269488 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR other/80058
jakub [Fri, 8 Mar 2019 10:51:28 +0000 (10:51 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269487 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
jakub [Fri, 8 Mar 2019 10:50:23 +0000 (10:50 +0000)] 
* gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
warning_at or inform messages in G_() if there is no ?:.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269486 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89550
jakub [Fri, 8 Mar 2019 10:46:39 +0000 (10:46 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269485 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Mar 2019 10:20:12 +0000 (10:20 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269484 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89585
jakub [Fri, 8 Mar 2019 07:45:23 +0000 (07:45 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269483 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89599
jakub [Fri, 8 Mar 2019 07:43:58 +0000 (07:43 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269482 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89622
jakub [Fri, 8 Mar 2019 07:42:51 +0000 (07:42 +0000)] 
PR c++/89622
* call.c (joust): Call print_z_candidate only if pedwarn returned
true.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269481 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/80190
jakub [Fri, 8 Mar 2019 07:39:31 +0000 (07:39 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269480 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-08 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 8 Mar 2019 05:53:09 +0000 (05:53 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269479 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-08 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 8 Mar 2019 05:37:50 +0000 (05:37 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269478 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/88123 - lambda and using-directive.
jason [Fri, 8 Mar 2019 02:54:41 +0000 (02:54 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269477 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Fri, 8 Mar 2019 00:16:34 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269476 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * sv.po: Update.
jsm28 [Fri, 8 Mar 2019 00:06:15 +0000 (00:06 +0000)] 
* sv.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269473 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRISC-V: Add libstdc++ check-abi support.
wilson [Thu, 7 Mar 2019 23:24:59 +0000 (23:24 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269472 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/80003
jakub [Thu, 7 Mar 2019 21:32:21 +0000 (21:32 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269471 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * fi.po: Update.
jsm28 [Thu, 7 Mar 2019 20:50:30 +0000 (20:50 +0000)] 
* fi.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269470 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-07 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 7 Mar 2019 20:49:42 +0000 (20:49 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269469 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR translation/79999
jakub [Thu, 7 Mar 2019 19:46:11 +0000 (19:46 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269468 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/89602
jakub [Thu, 7 Mar 2019 19:10:21 +0000 (19:10 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269467 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agod/dmd: Merge upstream dmd d517c0e6a
ibuclaw [Thu, 7 Mar 2019 16:57:23 +0000 (16:57 +0000)] 
d/dmd: Merge upstream dmd d517c0e6a

Fixes https://gcc.gnu.org/PR89016

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269465 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoZero local estimated benefit for cloning extern inline function
jamborm [Thu, 7 Mar 2019 16:42:20 +0000 (16:42 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269464 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/88820 - ICE with CTAD and member template used in DMI.
jason [Thu, 7 Mar 2019 16:15:56 +0000 (16:15 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269463 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRelax cgraph_node::clone_of_p to also look through former clones
jamborm [Thu, 7 Mar 2019 16:03:34 +0000 (16:03 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269462 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoSignificantly speed up verifiers for a cgraph_node with many clones.
marxin [Thu, 7 Mar 2019 15:33:52 +0000 (15:33 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269461 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoFix comment
jason [Thu, 7 Mar 2019 15:16:04 +0000 (15:16 +0000)] 
Fix comment

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269460 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/80916 - spurious "static but not defined" warning.
jason [Thu, 7 Mar 2019 15:10:22 +0000 (15:10 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269459 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-04-07 Richard Biener <rguenther@suse.de>
rguenth [Thu, 7 Mar 2019 14:53:37 +0000 (14:53 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269458 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoFix new test to run as well as compile
redi [Thu, 7 Mar 2019 14:35:22 +0000 (14:35 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269457 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoUpdate C++20 status table in libstdc++ manual
redi [Thu, 7 Mar 2019 14:25:05 +0000 (14:25 +0000)] 
Update C++20 status table in libstdc++ manual

* doc/xml/manual/status_cxx2020.xml: Update C++20 status.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269456 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoP0356R5 Simplified partial function application
redi [Thu, 7 Mar 2019 14:15:53 +0000 (14:15 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269455 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRevert function removal made in r264561.
marxin [Thu, 7 Mar 2019 13:47:53 +0000 (13:47 +0000)] 
Revert function removal made in r264561.

2019-03-07  Martin Liska  <mliska@suse.cz>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269454 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-07 Richard Biener <rguenther@suse.de>
rguenth [Thu, 7 Mar 2019 12:46:44 +0000 (12:46 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269453 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89585
jakub [Thu, 7 Mar 2019 08:18:36 +0000 (08:18 +0000)] 
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269451 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR go/89227
ian [Thu, 7 Mar 2019 00:53:41 +0000 (00:53 +0000)] 
PR go/89227
* go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
only-inline function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269449 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Thu, 7 Mar 2019 00:16:32 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269448 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-06 Harald Anlauf <anlauf@gmx.de>
anlauf [Wed, 6 Mar 2019 21:06:35 +0000 (21:06 +0000)] 
2019-03-06  Harald Anlauf  <anlauf@gmx.de>

PR fortran/71203
* expr.c (simplify_const_ref): Avoid null pointer dereference.

PR fortran/71203
* gfortran.dg/substr_8.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269444 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago compiler: emit underlying constant in array_type length export
ian [Wed, 6 Mar 2019 20:40:32 +0000 (20:40 +0000)] 
compiler: emit underlying constant in array_type length export

    In Array_type::do_export, when emitting a concrete array length,
    evaluate the length expression to an integer constant and emit that
    constant, instead of calling the more general method for emitting
    expressions. This is to avoid the possibility that we will need
    to emit a conversion, which could confuse the gccgoimporter.

    Fixes golang/go#30628.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165741

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269443 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89381 - implicit copy and using-declaration.
jason [Wed, 6 Mar 2019 20:28:47 +0000 (20:28 +0000)] 
PR c++/89381 - implicit copy and using-declaration.

Here the used base<int>::operator= gets into the list of foo's bindings for
operator=, but it shouldn't make the copy ctor deleted.

* class.c (classtype_has_move_assign_or_move_ctor_p): Don't consider
op= brought in by a using-declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269442 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/87148
jakub [Wed, 6 Mar 2019 18:46:32 +0000 (18:46 +0000)] 
PR c++/87148
* init.c (build_value_init_noctor): Ignore flexible array members.

* g++.dg/ext/flexary34.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269434 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/89576 - if constexpr of lambda capture.
jason [Wed, 6 Mar 2019 18:39:24 +0000 (18:39 +0000)] 
PR c++/89576 - if constexpr of lambda capture.

Now that we're doing implicit lambda capture in templates, we see x here as
the lambda capture.  maybe_convert_cond was doing nothing in a template, so
we never called mark_rvalue_use on x.  As part of the broad move toward
doing more processing of non-dependent expressions, let's do this
conversion.

* semantics.c (maybe_convert_cond): Do convert a non-dependent
condition in a template.
* typeck.c (condition_conversion): Handle being called in a
template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269433 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * encoding.c (DFmode): #undef before #define.
uros [Wed, 6 Mar 2019 15:49:13 +0000 (15:49 +0000)] 
* encoding.c (DFmode): #undef before #define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269429 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agogcc/
bergner [Wed, 6 Mar 2019 15:36:43 +0000 (15:36 +0000)] 
gcc/
PR rtl-optimization/88845
* config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during
LRA.
* lra.c (remove_scratches_1): New function.
(remove_scratches): Use it.
(lra_emit_move): Likewise.

gcc/testsuite/
PR rtl-optimization/88845
* gcc.target/powerpc/pr88845.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269428 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/87378 - bogus -Wredundant-move warning.
mpolacek [Wed, 6 Mar 2019 15:34:50 +0000 (15:34 +0000)] 
PR c++/87378 - bogus -Wredundant-move warning.
* typeck.c (maybe_warn_pessimizing_move): See if the maybe-rvalue
overload resolution would actually succeed.

* g++.dg/cpp0x/Wredundant-move1.C (fn4): Drop dg-warning.
* g++.dg/cpp0x/Wredundant-move7.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269427 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAdd feature test macro for bounded array traits
redi [Wed, 6 Mar 2019 15:31:06 +0000 (15:31 +0000)] 
Add feature test macro for bounded array traits

* include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
* include/std/version (__cpp_lib_bounded_array_traits): Likewise.
* testsuite/20_util/is_bounded_array/value.cc: Check for macro.
* testsuite/20_util/is_unbounded_array/value.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269426 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago mksysinfo: actually use modified Statfs_t value
ian [Wed, 6 Mar 2019 14:19:56 +0000 (14:19 +0000)] 
mksysinfo: actually use modified Statfs_t value

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165737

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269424 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-06 Edward Smith-Rowland <3dw4rd@verizon.net>
emsr [Wed, 6 Mar 2019 13:38:32 +0000 (13:38 +0000)] 
2019-03-06  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/86655 - std::assoc_legendre should not constrain
the value of m (or x).
* include/tr1/legendre_function.tcc (__assoc_legendre_p,
__sph_legendre): If degree > order Don't throw, return 0.
(__legendre_p, __assoc_legendre_p): Don't constrain x either.
* testsuite/special_functions/02_assoc_legendre/pr86655.cc: New test.
* testsuite/special_functions/20_sph_legendre/pr86655.cc: New test.
* testsuite/tr1/5_numerical_facilities/special_functions/
02_assoc_legendre/pr86655.cc: New test.
* testsuite/tr1/5_numerical_facilities/special_functions/
22_sph_legendre/pr86655.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269423 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRewrite variant, also PR libstdc++/85517
ville [Wed, 6 Mar 2019 12:56:05 +0000 (12:56 +0000)] 
Rewrite variant, also PR libstdc++/85517

* include/std/variant (__do_visit): New.
(__variant_cast): Likewise.
(__variant_cookie): Likewise.
(__erased_*): Remove.
(_Variant_storage::_S_vtable): Likewise.
(_Variant_storage::__M_reset_impl): Adjust to use __do_visit.
(_Variant_storage::__M_reset): Adjust.
(__variant_construct): New.
(_Copy_ctor_base(const _Copy_ctor_base&)): Adjust to use
__variant_construct.
(_Move_ctor_base(_Move_ctor_base&&)): Likewise.
(_Move_ctor_base::__M_destructive_copy): New.
(_Move_ctor_base::__M_destructive_move): Adjust to use
__variant_construct.
(_Copy_assign_base::operator=): Adjust to use __do_visit.
(_Copy_assign_alias): Adjust to check both copy assignment
and copy construction for triviality.
(_Move_assign_base::operator=): Adjust to use __do_visit.
(_Multi_array): Add support for visitors that accept and return
a __variant_cookie.
(__gen_vtable_impl::_S_apply_all_alts): Likewise.
(__gen_vtable_impl::_S_apply_single_alt): Likewise.
(__gen_vtable_impl::__element_by_index_or_cookie): New. Generate
a __variant_cookie temporary for a variant that is valueless and..
(__gen_vtable_impl::__visit_invoke): ..adjust here.
(__gen_vtable::_Array_type): Conditionally make space for
the __variant_cookie visitor case.
(__variant_construct_by_index): New.
(get_if): Adjust to use std::addressof.
(relops): Adjust to use __do_visit.
(variant): Add __variant_cast and __variant_construct_by_index
as friends.
(variant::emplace): Use _M_reset() and __variant_construct_by_index
instead of self-destruction.
(variant::swap): Adjust to use __do_visit.
(visit): Reimplement in terms of __do_visit.
(__variant_hash_call_base_impl::operator()): Adjust to use __do_visit.
* testsuite/20_util/variant/compile.cc: Adjust.
* testsuite/20_util/variant/run.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269422 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAdd L suffix to __cpp_lib_char8_t value
redi [Wed, 6 Mar 2019 12:13:19 +0000 (12:13 +0000)] 
Add L suffix to __cpp_lib_char8_t value

* include/bits/c++config.h (_cpp_lib_char8_t): Add L suffix to
constant.
* testsuite/experimental/feat-char8_t.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269421 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAdd C++20 Traits for [Un]bounded Arrays (P1357R1)
redi [Wed, 6 Mar 2019 12:13:14 +0000 (12:13 +0000)] 
Add C++20 Traits for [Un]bounded Arrays (P1357R1)

 * include/std/type_traits [C++20] (is_bounded_array)
 (is_unbounded_array, is_bounded_array_v, is_unbounded_array_v):
 Define.
 * testsuite/20_util/is_bounded_array/requirements/
 explicit_instantiation.cc: New test.
 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: New
 test.
 * testsuite/20_util/is_bounded_array/value.cc: New test.
 * testsuite/20_util/is_unbounded_array/requirements/
 explicit_instantiation.cc: New test.
 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: New
 * test.
 * testsuite/20_util/is_unbounded_array/value.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269420 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoCharry pick libsanitizer r355488 (PR sanitizer/88684).
marxin [Wed, 6 Mar 2019 11:46:15 +0000 (11:46 +0000)] 
Charry pick libsanitizer r355488 (PR sanitizer/88684).

2019-03-06  Martin Liska  <mliska@suse.cz>

PR sanitizer/88684
* sanitizer_common/sanitizer_platform.h (defined): Cherry pick.
(SANITIZER_NON_UNIQUE_TYPEINFO): Likewise.
* ubsan/ubsan_type_hash_itanium.cc (isDerivedFromAtOffset):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269419 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoConstexpr in std::pointer_traits (P1006R1)
redi [Wed, 6 Mar 2019 11:32:42 +0000 (11:32 +0000)] 
Constexpr in std::pointer_traits (P1006R1)

* include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to):
Add constexpr.
* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269418 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[ARC] Fix logic set UNALIGNED_ACCESS
claziss [Wed, 6 Mar 2019 10:45:51 +0000 (10:45 +0000)] 
[ARC] Fix logic set UNALIGNED_ACCESS

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on
unaligned_access variable.
* config/arc/arc.c (arc_override_options): Set unaligned access
default on for HS CPUs.
* config/arc/arc.h (STRICT_ALIGNMENT): Fix logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269417 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-06 Richard Biener <rguenther@suse.de>
rguenth [Wed, 6 Mar 2019 10:13:08 +0000 (10:13 +0000)] 
2019-03-06  Richard Biener  <rguenther@suse.de>

PR testsuite/89551
* gcc.dg/uninit-pred-8_b.c: Force logical-op-non-short-circuit
the way that makes the testcase PASS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269416 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoUse --coverage instead of -fprofile-arcs -ftest-coverage in documentation (PR gcov...
marxin [Wed, 6 Mar 2019 10:01:16 +0000 (10:01 +0000)] 
Use --coverage instead of -fprofile-arcs -ftest-coverage in documentation (PR gcov-profile/89577).

2019-03-06  Martin Liska  <mliska@suse.cz>

PR gcov-profile/89577
* doc/gcov.texi: Prefer to use --coverage.
* doc/sourcebuild.texi: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269415 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoIgnore a param in check-params-in-docs.py
marxin [Wed, 6 Mar 2019 10:00:37 +0000 (10:00 +0000)] 
Ignore a param in check-params-in-docs.py

2019-03-06  Martin Liska  <mliska@suse.cz>

* check-params-in-docs.py: Ignore a param.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269414 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR go/89598
ian [Wed, 6 Mar 2019 05:02:16 +0000 (05:02 +0000)] 
PR go/89598
    compiler: use GMP_RNDN rather than MPFR_RNDN

    Missed one last time around.  This fixes the build with mpfr 2.4.2.

    Fixes https://gcc.gnu.org/PR89598

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165420

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269411 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Wed, 6 Mar 2019 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269409 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago runtime: enable precise GC checks when using stack maps
ian [Tue, 5 Mar 2019 23:05:38 +0000 (23:05 +0000)] 
runtime: enable precise GC checks when using stack maps

    In the runtime there are bad pointer checks that currently don't
    work with the concervative collector. With stack maps, the GC is
    precise and the checks should work. Enable them.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/153871

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269406 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR libgfortran/89593
jakub [Tue, 5 Mar 2019 22:41:39 +0000 (22:41 +0000)] 
PR libgfortran/89593
* caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
gfc_descriptor_t * to avoid warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269405 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago cmd/go: pass -X64 to ar on aix/ppc64
ian [Tue, 5 Mar 2019 22:40:21 +0000 (22:40 +0000)] 
cmd/go: pass -X64 to ar on aix/ppc64

    On aix/ppc64, ar tool must always have -X64 argument if it aims to
    create 64 bits archives.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165317

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269404 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86485 - -Wmaybe-unused with empty class ?:
jason [Tue, 5 Mar 2019 22:20:41 +0000 (22:20 +0000)] 
PR c++/86485 - -Wmaybe-unused with empty class ?:

The problem in this testcase is that the front end expects an rvalue
COND_EXPR to initialize a single temporary from one of the arms.  But
because gimplify_cond_expr used MODIFY_EXPR, instead the arms would each
create their own temporary and then copy that into the common temporary.

So, let's use INIT_EXPR instead.

* gimplify.c (gimplify_cond_expr): Use INIT_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269403 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * class.c (is_really_empty_class): Add ignore_vptr parm.
jason [Tue, 5 Mar 2019 22:17:13 +0000 (22:17 +0000)] 
* class.c (is_really_empty_class): Add ignore_vptr parm.

While looking at PR86485, I noticed that many uses of is_really_empty_class
were overlooking that it returned true for a class with only a vptr;
initialization of such a class is not trivial.  Marek's P1064 patch fixed
one place in constexpr.c to also check for a vtable, but there are several
others that still don't.

This patch requires callers to explicitly choose which behavior they want.
Currently the uses in constexpr.c want to consider the vptr, and other uses
don't.

* class.c (is_really_empty_class): Add ignore_vptr parm.
(trivial_default_constructor_is_constexpr): Pass it.
* call.c (build_over_call): Pass it.
* constexpr.c (cxx_eval_constant_expression): Pass it instead of
checking TYPE_POLYMORPHIC_P.
(cxx_eval_component_reference, potential_constant_expression_1):
Pass it.
* cp-gimplify.c (simple_empty_class_p): Pass it.
* init.c (expand_aggr_init_1): Pass it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269402 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago sysinfo: add Flags to Statfs_t if not already there
ian [Tue, 5 Mar 2019 20:49:21 +0000 (20:49 +0000)] 
sysinfo: add Flags to Statfs_t if not already there

    If there is no f_flags field in statfs_t then rename one of the
    f_spare fields, as happened in Linux kernel version 2.6.36.  This
    fixes the build on CentOS 5.11.  The CentOS kernel will hopefully not
    fill in the f_spare field, so the resulting flags will be zero.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165417

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269401 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR go/89598
ian [Tue, 5 Mar 2019 19:41:42 +0000 (19:41 +0000)] 
PR go/89598
    compiler: use GMP_RNDN rather than MPFR_RNDN

    This fixes the build with mpfr 2.4.2.

    Fixes https://gcc.gnu.org/PR89598

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165418

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269399 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDefine midpoint and lerp functions for C++20 (P0811R3)
redi [Tue, 5 Mar 2019 18:37:24 +0000 (18:37 +0000)] 
Define midpoint and lerp functions for C++20 (P0811R3)

The implementation of midpoint used for integral types is due to Howard
Hinnant and avoids a branch for int and larger types (but not for chars
and shorts).

The midpoint and lerp functions for floating point types come straight
from the P0811R3 proposal, with no attempt at optimization.

* include/c_compatibility/math.h [C++20] (lerp): Add using
declaration.
* include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define.
(__lerp): Define function template to implement lerp.
(lerp(float, float, float), lerp(double, double, double))
(lerp(long double, long double, long double)): Define for C++20.
* include/std/numeric [C++20] (__cpp_lib_interpolate): Define.
(midpoint(T, T), midpoint(T*, T*)): Define.
* include/std::version [C++20] (__cpp_lib_interpolate): Define.
* testsuite/26_numerics/lerp.cc: New test.
* testsuite/26_numerics/midpoint/floating.cc: New test.
* testsuite/26_numerics/midpoint/integral.cc: New test.
* testsuite/26_numerics/midpoint/pointer.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269398 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/89587
jakub [Tue, 5 Mar 2019 17:25:01 +0000 (17:25 +0000)] 
PR target/89587
* config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
if_multiarch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269396 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agodg-extract-results.py: Handle case where a WARNING happens with the first test of...
clyon [Tue, 5 Mar 2019 16:29:19 +0000 (16:29 +0000)] 
dg-extract-results.py: Handle case where a WARNING happens with the first test of a harness.

2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

contrib/
* dg-extract-results.py: Handle case where a WARNING happens with
the first test of a harness.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269394 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agodg-extract-results.sh: Fix order of WARNING and following test result.
clyon [Tue, 5 Mar 2019 16:28:11 +0000 (16:28 +0000)] 
dg-extract-results.sh: Fix order of WARNING and following test result.

2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

contrib/
* dg-extract-results.sh: Fix order of WARNING and following test
result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269393 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR middle-end/89590
jakub [Tue, 5 Mar 2019 16:22:16 +0000 (16:22 +0000)] 
PR middle-end/89590
* builtins.c (maybe_emit_free_warning): Punt if free doesn't have
exactly one argument.

* gcc.dg/pr89590.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269392 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89570
jakub [Tue, 5 Mar 2019 15:05:07 +0000 (15:05 +0000)] 
PR tree-optimization/89570
* match.pd (vec_cond into cond_op simplification): Don't use
get_conditional_internal_fn, use as_internal_fn (cond_op).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269391 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[ARM] Fix PR89222
wilco [Tue, 5 Mar 2019 15:04:01 +0000 (15:04 +0000)] 
[ARM] Fix PR89222

The GCC optimizer can generate symbols with non-zero offset from simple
if-statements. Bit zero is used for the Arm/Thumb state bit, so relocations
with offsets fail if it changes bit zero and the relocation forces bit zero
to true.  The fix is to disable offsets on function pointer symbols.

    gcc/
PR target/89222
* config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
to decide when to split off a non-zero offset from a symbol.
* config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
in function symbols.

    testsuite/
PR target/89222
* gcc.target/arm/pr89222.c: Add new test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269390 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-05 Richard Biener <rguenther@suse.de>
rguenth [Tue, 5 Mar 2019 14:57:12 +0000 (14:57 +0000)] 
2019-03-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89594
* tree-if-conv.c (pass_if_conversion::execute): Handle
case where .LOOP_VECTORIZED_FUNCTION was removed.

* gcc.dg/pr89594.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269389 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89487
jakub [Tue, 5 Mar 2019 13:38:59 +0000 (13:38 +0000)] 
PR tree-optimization/89487
* gcc.dg/tree-ssa/pr89487.c: Include ../pr87600.h.
(caml_interprete): Ifdef the whole body out if REG1 or REG2 macros
aren't defined.  Use REG1 instead of "%r15" and REG2 instead of
"%r14".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269388 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR bootstrap/89560
jakub [Tue, 5 Mar 2019 09:03:50 +0000 (09:03 +0000)] 
PR bootstrap/89560
* fold-const.c (fold_checksum_tree): Don't use fixed size buffer,
instead alloca it only when needed with the needed size.

* g++.dg/other/pr89560.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269386 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89570
jakub [Tue, 5 Mar 2019 08:44:21 +0000 (08:44 +0000)] 
PR tree-optimization/89570
* match.pd (vec_cond into cond_op simplification): Guard with
vectorized_internal_fn_supported_p test and #if GIMPLE.

* gcc.dg/pr89570.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269385 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89566
jakub [Tue, 5 Mar 2019 08:43:16 +0000 (08:43 +0000)] 
PR tree-optimization/89566
* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call):
Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed.
Punt if get_user_idx_format succeeds, but idx_format argument is
not provided or doesn't have pointer type, or if idx_args is above
number of provided arguments.

* c-c++-common/pr89566.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269384 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Tue, 5 Mar 2019 00:16:26 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269381 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago/cp
paolo [Mon, 4 Mar 2019 23:49:23 +0000 (23:49 +0000)] 
/cp
2019-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84605
* parser.c (cp_parser_class_head): Reject TYPE_BEING_DEFINED too.

/testsuite
2019-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/84605
* g++.dg/parse/crash69.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269378 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-04 Edward Smith-Rowland <3dw4rd@verizon.net>
emsr [Mon, 4 Mar 2019 20:11:14 +0000 (20:11 +0000)] 
2019-03-04  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/88996 Implement P0439R0
Make std::memory_order a scoped enumeration.
* include/bits/atomic_base.h: For C++20 make memory_order a scoped enum,
add variables for the old enumerators.  Adjust calls.
* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test.
* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269372 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/71446
jakub [Mon, 4 Mar 2019 18:57:13 +0000 (18:57 +0000)] 
PR c++/71446
* call.c (field_in_pset): New function.
(build_aggr_conv): Handle CONSTRUCTOR_IS_DESIGNATED_INIT correctly.

* g++.dg/cpp2a/desig12.C: New test.
* g++.dg/cpp2a/desig13.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269371 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * g++.dg/lto/pr88049_0.C: Require lto_incremental.
jason [Mon, 4 Mar 2019 17:35:13 +0000 (17:35 +0000)] 
* g++.dg/lto/pr88049_0.C: Require lto_incremental.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269368 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAdd missing gcc/testsuite/ChangeLog changelog entry.
tnfchris [Mon, 4 Mar 2019 16:31:00 +0000 (16:31 +0000)] 
Add missing gcc/testsuite/ChangeLog changelog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269367 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAArch64: Make test options_set_10.c not run on native.
tnfchris [Mon, 4 Mar 2019 15:48:49 +0000 (15:48 +0000)] 
AArch64: Make test options_set_10.c not run on native.

The test options_set_10.c shouldn't run when cross compiled.
In addition to gating it on linux I'm also gating it on native now.

gcc/testsuite/ChangeLog:

PR target/88530
* gcc.target/aarch64/options_set_10.c:

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269366 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRemove redundant dg-do directive from test
redi [Mon, 4 Mar 2019 13:18:47 +0000 (13:18 +0000)] 
Remove redundant dg-do directive from test

* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269365 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoFix PR89437
wilco [Mon, 4 Mar 2019 12:36:04 +0000 (12:36 +0000)] 
Fix PR89437

Fix PR89437. Fix the sinatan-1.c testcase to not run without
a C99 target system.  Use nextafterl for long double initialization.

Fix an issue with sinl (atanl (sqrtl (LDBL_MAX)) returning 0.0
instead of 1.0 by using x < sqrtl (LDBL_MAX) in match.pd.

    gcc/
PR tree-optimization/89437
* match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.

    testsuite/
PR tree-optimization/89437
* gcc.dg/sinatan-1.c: Fix testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269364 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-04 Richard Biener <rguenther@suse.de>
rguenth [Mon, 4 Mar 2019 12:23:17 +0000 (12:23 +0000)] 
2019-03-04  Richard Biener  <rguenther@suse.de>

PR middle-end/89572
* tree-scalar-evolution.c: (get_loop_exit_condition): Use
safe_dyn_cast.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269363 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoImplement polymorphic_allocator<byte> for C++20 (P0339R6)
redi [Mon, 4 Mar 2019 12:21:06 +0000 (12:21 +0000)] 
Implement polymorphic_allocator<byte> for C++20 (P0339R6)

* include/std/memory_resource (polymorphic_allocator): Add default
template argument for C++20.
(polymorphic_allocator::allocate_bytes)
(polymorphic_allocator::deallocate_bytes)
(polymorphic_allocator::allocate_object)
(polymorphic_allocator::deallocate_object)
(polymorphic_allocator::new_object)
(polymorphic_allocator::delete_object): New member functions for
C++20.
* testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269362 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR tree-optimization/89487
amker [Mon, 4 Mar 2019 01:38:25 +0000 (01:38 +0000)] 
PR tree-optimization/89487
* tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
(create_rdg_vertices): Compute has_nonaddressable_dataref_p.
(distribute_loop): Don't do runtime alias check if there is non-
addressable data reference.
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
is a register variable.

* gcc/testsuite/gcc.dg/tree-ssa/pr89487.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269361 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Mon, 4 Mar 2019 00:16:29 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269360 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR libstdc++/89562 use binary mode for file I/O
redi [Sun, 3 Mar 2019 22:23:33 +0000 (22:23 +0000)] 
PR libstdc++/89562 use binary mode for file I/O

PR libstdc++/89562
* src/filesystem/ops-common.h (do_copy_file): Open files in binary
mode for mingw.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269356 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-03 Harald Anlauf <anlauf@gmx.de>
anlauf [Sun, 3 Mar 2019 20:24:53 +0000 (20:24 +0000)] 
2019-03-03  Harald Anlauf  <anlauf@gmx.de>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/77583
* symbol.c (check_conflict): Check for valid procedure name
passed to error reporting routine.

PR fortran/77583
* gfortran.dg/pr77583.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269353 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-03 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 3 Mar 2019 13:16:40 +0000 (13:16 +0000)] 
2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/72714
* resolve.c (resolve_allocate_expr): Add some tests for coarrays.

2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/72714
* gfortran.dg/coarray_allocate_11.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269352 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Sun, 3 Mar 2019 00:16:22 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269347 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR d/89177 - Fix unaligned access in std.digest.murmurhash
jpfau [Sat, 2 Mar 2019 19:14:54 +0000 (19:14 +0000)] 
PR d/89177 - Fix unaligned access in std.digest.murmurhash

libphobos/ChangeLog:

2019-02-24  Johannes Pfau  <johannespfau@gmail.com>

* src/std/digest/murmurhash.d: PR d/89177: Backport from upstream.
Fixes unaligned data access (PR d/89177).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269343 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2019-03-02 Harald Anlauf <anlauf@gmx.de>
anlauf [Sat, 2 Mar 2019 15:29:27 +0000 (15:29 +0000)] 
2019-03-02  Harald Anlauf  <anlauf@gmx.de>

PR fortran/89516
* check.c (gfc_calculate_transfer_sizes): Correct checks for cases
where storage size of elements of MOLD is 0.

PR fortran/89516
* gfortran.dg/pr89492.f90: Adjust testcase.
* gfortran.dg/transfer_check_5.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269341 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/71446
jakub [Sat, 2 Mar 2019 08:06:57 +0000 (08:06 +0000)] 
PR c++/71446
* cp-tree.h (CONSTRUCTOR_IS_DESIGNATED_INIT): Define.
* parser.c (cp_parser_braced_list): Adjust cp_parser_initializer_list
caller, set CONSTRUCTOR_IS_DESIGNATED_INIT.
(cp_parser_initializer_list): Add designated parameter, set *designated
to a bool whether any designators were parsed.
* decl.c (reshape_init): Copy over CONSTRUCTOR_IS_DESIGNATED_INIT if
needed.
* pt.c (tsubst_copy_and_build): Likewise.
* call.c (implicit_conversion): If CONSTRUCTOR_IS_DESIGNATED_INIT,
don't call build_list_conv, nor build_complex_conv, nor attempt to
convert a single element initializer to scalar.

* g++.dg/cpp2a/desig10.C: New test.
* g++.dg/cpp2a/desig11.C: New test.
* g++.dg/ext/desig4.C: Expect 4 new errors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269340 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/89506
jakub [Sat, 2 Mar 2019 08:05:10 +0000 (08:05 +0000)] 
PR target/89506
* config/arm/arm.md (cmpsi2_addneg): Use
trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
If operands[2] is 0 or INT_MIN, force use of subs.
(*compare_scc splitter): Use gen_int_mode.
(*negscc): Likewise.
* config/arm/thumb2.md (*thumb2_negscc): Likewise.

* gcc.dg/pr89506.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269339 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR go/89406
ian [Sat, 2 Mar 2019 00:50:30 +0000 (00:50 +0000)] 
PR go/89406
    go/internal/gccgoimporter: remove temporary directories in test

    Backport of https://golang.org/cl/164862.

    Updates https://gcc.gnu.org/PR89406

    Reviewed-on: https://go-review.googlesource.com/c/164863

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269338 138bc75d-0d04-0410-961f-82ee72b054a4