gcc.git
5 years agoLWG 3062 - Unnecessary decay_t in is_execution_policy_v
Thomas Rodgers [Tue, 21 May 2019 22:15:00 +0000 (22:15 +0000)]
LWG 3062 - Unnecessary decay_t in is_execution_policy_v

    * include/pstl/execution_defs.h (__enable_if_execution_policy):
    Use std::__remove_cvref_t when building with GCC.

From-SVN: r271489

5 years agors6000: wz -> d+p7
Segher Boessenkool [Tue, 21 May 2019 22:08:20 +0000 (00:08 +0200)]
rs6000: wz -> d+p7

* config/rs6000/constraints.md (define_register_constraint "wz"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wz.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wz" constraint by "d" with "p7".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271488

5 years agors6000: wl -> d+p6
Segher Boessenkool [Tue, 21 May 2019 22:07:19 +0000 (00:07 +0200)]
rs6000: wl -> d+p6

* config/rs6000/constraints.md (define_register_constraint "wl"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wl.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wl" constraint by "d" with "p6".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271487

5 years agors6000: wm -> wa+p8v
Segher Boessenkool [Tue, 21 May 2019 22:06:25 +0000 (00:06 +0200)]
rs6000: wm -> wa+p8v

* config/rs6000/constraints.md (define_register_constraint "wm"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wm.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/vsx.md: Replace "wm" constraint by "wa" with "p8v".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271486

5 years agors6000: wk -> ws+p8v
Segher Boessenkool [Tue, 21 May 2019 22:05:25 +0000 (00:05 +0200)]
rs6000: wk -> ws+p8v

* config/rs6000/constraints.md (define_register_constraint "wk"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wk.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wk" constraint by "ws" with "p8v".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271485

5 years agors6000: wj -> wi+p8v
Segher Boessenkool [Tue, 21 May 2019 22:04:41 +0000 (00:04 +0200)]
rs6000: wj -> wi+p8v

Also deletes VS_64dm, it's unused.

* config/rs6000/constraints.md (define_register_constraint "wj"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wj.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wj" constraint by "wi" with "p8v".
(VS_64dm): Delete.
* config/rs6000/vsx.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271484

5 years agors6000: wh -> d+p8v
Segher Boessenkool [Tue, 21 May 2019 22:03:37 +0000 (00:03 +0200)]
rs6000: wh -> d+p8v

This replaces the "wh" constraint by "d", with isa "p8v".

* config/rs6000/constraints.md (define_register_constraint "wh"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wh.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wh" constraint by "wa" with "p8v".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271483

5 years agoDR 1940 - static_assert in anonymous unions.
Marek Polacek [Tue, 21 May 2019 21:25:23 +0000 (21:25 +0000)]
DR 1940 - static_assert in anonymous unions.

* g++.dg/DRs/dr1940.C: New test.

From-SVN: r271482

5 years agore PR target/90547 (ICE in gen_lowpart_general, at rtlhooks.c:63)
Uros Bizjak [Tue, 21 May 2019 17:57:11 +0000 (19:57 +0200)]
re PR target/90547 (ICE in gen_lowpart_general, at rtlhooks.c:63)

PR target/90547
* config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
Avoid calling gen_lowpart with CONST operand.

testsuite/ChangeLog:

PR target/90547
* gcc.target/i386/pr90547.c: New test.

From-SVN: r271479

5 years agopreserve more debug stmts in gimple jump threading
Alexandre Oliva [Tue, 21 May 2019 17:09:13 +0000 (17:09 +0000)]
preserve more debug stmts in gimple jump threading

Gimple jump threading does not duplicate forwarder blocks that might
be present before or after the second copied block.  This silently
drops debug binds and markers that might be present in them.  This
patch attempts to preserve them.

For blocks after either copied block, we attempt to append debug stmts
to the copied block, if it does not end with a block-ending stmt.
Failing that, for blocks between both copied blocks, we prepend its
debug stmts to the copy of the second block.

If everything fails, we still drop debug stmts on the floor, though
preexisting code consolidates debug binds in the block that threading
flows into, so only markers are really lost.  We can't do much better
than that without conditional binds and markers, or debug stmts in
edges, or somesuch.

If we append debug stmts to a reusable template block, we copy it
after splitting out the debug stmts, and before putting them back.

for  gcc/ChangeLog

* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add
field template_last_to_copy.
(ssa_create_duplicates): Set it, and use it.  Attempt to
preserve more debug stmts.

From-SVN: r271477

5 years agoFix dg-require-* syntax
Rainer Orth [Tue, 21 May 2019 16:59:39 +0000 (16:59 +0000)]
Fix dg-require-* syntax

* gcc.dg/Wattribute-alias.c: Pass emtpy arg to dg-require-ifunc.

* gcc.c-torture/execute/20030125-1.c: Pass emtpy arg to dg-require-weak.

* gcc.dg/torture/ftrapv-2.c: Pass empty arg to dg-require-fork.

* gcc.target/i386/pr84723-1.c: Remove dg-require-ifunc.
* gcc.target/i386/pr84723-2.c: Likewise.
* gcc.target/i386/pr84723-3.c: Likewise.
* gcc.target/i386/pr84723-4.c: Likewise.
* gcc.target/i386/pr84723-5.c: Likewise.

From-SVN: r271476

5 years agodarwin, testsuite - fix PR 67958
Iain Sandoe [Tue, 21 May 2019 16:33:48 +0000 (16:33 +0000)]
darwin, testsuite - fix PR 67958

These tests require specific scan-asms in some cases because
of the different codegen for Dawin.  Added some explanations
too.

2019-05-21  Iain Sandoe  <iain@sandoe.co.uk>

PR testsuite/67958
* gcc.target/i386/pr32219-1.c: Adjust scan-asms for Darwin, comment
the differences.
* gcc.target/i386/pr32219-2.c: Likewise.
* gcc.target/i386/pr32219-3.c: Likewise.
* gcc.target/i386/pr32219-4.c: Likewise.
* gcc.target/i386/pr32219-5.c: Likewise.
* gcc.target/i386/pr32219-6.c: Likewise.
* gcc.target/i386/pr32219-7.c: Likewise.
* gcc.target/i386/pr32219-8.c: Likewise.

From-SVN: r271475

5 years agodarwin, testsuite - fix PR 63891.
Iain Sandoe [Tue, 21 May 2019 16:24:25 +0000 (16:24 +0000)]
darwin, testsuite - fix PR 63891.

This is a testcase failing because one part of the codegen is
(correctly) generating the scan-asm-not signature.

Fixed by altering the build options.

gcc/testsuite/

2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

PR target/63891
* gcc.dg/darwin-weakimport-3.c: Adjust options and explain
the reasons.

From-SVN: r271474

5 years agosse.md (VF1_AVX2): New mode iterator.
Uros Bizjak [Tue, 21 May 2019 16:00:37 +0000 (18:00 +0200)]
sse.md (VF1_AVX2): New mode iterator.

* config/i386/sse.md (VF1_AVX2): New mode iterator.
(signbit<mode>2): New expander

testsuite/ChangeLog:

* gcc.target/i386/vect-signbitf.c: New test.

From-SVN: r271473

5 years agore PR bootstrap/87338 (gcc 8.2 fails to bootstrap on ia64)
James Clarke [Tue, 21 May 2019 15:42:00 +0000 (15:42 +0000)]
re PR bootstrap/87338 (gcc 8.2 fails to bootstrap on ia64)

PR bootstrap/87338
* dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.

From-SVN: r271472

5 years ago[C++ PATCH] Using decls
Nathan Sidwell [Tue, 21 May 2019 15:31:28 +0000 (15:31 +0000)]
[C++ PATCH] Using decls

https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01411.html
* name-lookup.c (do_nonmember_using_decl): Drop INSERT_P
parameter.  Document.
(finish_nonmember_using_decl): Adjust do_nonmember_using_decl
calls.  Remove stray FIXME comment.

From-SVN: r271471

5 years agocpuid.h (__cpuid): For 32bit targets...
Uros Bizjak [Tue, 21 May 2019 15:17:57 +0000 (17:17 +0200)]
cpuid.h (__cpuid): For 32bit targets...

* config/i386/cpuid.h (__cpuid): For 32bit targets, zero
%ebx and %ecx bafore calling cpuid with leaf 1 or
non-constant leaf argument.

From-SVN: r271469

5 years agolibfortran/90038: Document new wait=.false. implementation
Janne Blomqvist [Tue, 21 May 2019 15:17:44 +0000 (18:17 +0300)]
libfortran/90038: Document new wait=.false. implementation

2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/90038
* intrinsic.texi (EXECUTE_COMMAND_LINE): Explain new
wait=.false. implementation.

From-SVN: r271468

5 years ago[C++ PATCH] Using decls
Nathan Sidwell [Tue, 21 May 2019 14:33:24 +0000 (14:33 +0000)]
[C++ PATCH] Using decls

https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01396.html
gcc/cp/
* name-lookup.h (struct cp_binding_level): Drop usings field.
(finish_namespace_using_decl, finish_local_using_decl): Replace with ...
(finish_nonmember_using_decl): ... this.
* name-lookup.c (push_using_decl_1, push_using_decl):
(do_nonmember_using_decl): ... here.  Add INSERT_P arg.  Reimplement.
(validate_nonmember_using_decl, finish_namespace_using_decl)
(finish_local_using_decl): Replace with ...
(finish_nonmember_using_decl): ... this.  Drop DECL parm.
* parser.c (cp_parser_using_declaration): Don't do lookup here.
* pt.c (tsubst_expr): Do not do using decl lookup here.

gcc/testsuite/
* g++.dg/lookup/using53.C: Adjust diagnostic.

libcc1/
* libcp1plugin.cc (plugin_add_using_decl): Use
finish_nonmember_using_decl.

From-SVN: r271467

5 years agoPR libstdc++/90252 fix effective-target check for TBB
Jonathan Wakely [Tue, 21 May 2019 13:50:41 +0000 (14:50 +0100)]
PR libstdc++/90252 fix effective-target check for TBB

PR libstdc++/90252
* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
Use "additional_flags" to pass -ltbb to v3_target_compile command.
Use check_v3_target_prop_cached to cache the result of the test.

From-SVN: r271466

5 years agoFix names of _Lock_policy constants in libstdc++ manual
Jonathan Wakely [Tue, 21 May 2019 13:50:35 +0000 (14:50 +0100)]
Fix names of _Lock_policy constants in libstdc++ manual

* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.

From-SVN: r271465

5 years agoPR90545, gcc.target/powerpc/fold-vec-splats-floatdouble.c fails
Alan Modra [Tue, 21 May 2019 13:36:04 +0000 (23:06 +0930)]
PR90545, gcc.target/powerpc/fold-vec-splats-floatdouble.c fails

I figure a tweak to register_move_cost is better than sprinkling ?s
in instruction operand alternatives.

PR target/90545
* config/rs6000/rs6000.c (rs6000_register_move_cost): Increase
power9 direct move cost.
* testsuite/gcc.target/powerpc/fold-vec-splats-floatdouble.c:
Correct comments and rename functions to suit parameters.

From-SVN: r271464

5 years agore PR tree-optimization/90510 (Unnecessary permutation)
Richard Biener [Tue, 21 May 2019 12:01:00 +0000 (12:01 +0000)]
re PR tree-optimization/90510 (Unnecessary permutation)

2019-05-21  Richard Biener  <rguenther@suse.de>

PR middle-end/90510
* fold-const.c (fold_read_from_vector): New function.
* fold-const.h (fold_read_from_vector): Declare.
* match.pd (VEC_PERM_EXPR): Build BIT_INSERT_EXPRs for
single-element insert permutations.  Canonicalize selector
further and fix issue with last commit.

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

From-SVN: r271463

5 years agoAdd missing "" for dg-require-ifunc.
Martin Liska [Tue, 21 May 2019 11:07:00 +0000 (13:07 +0200)]
Add missing "" for dg-require-ifunc.

2019-05-21  Martin Liska  <mliska@suse.cz>

* gcc.target/i386/pr90500-1.c: Add missing '""'.
* gcc.target/i386/pr90500-2.c: Likewise.

From-SVN: r271462

5 years agoDon't split non-critical edges in crited
Vladislav Ivanishin [Tue, 21 May 2019 10:45:32 +0000 (10:45 +0000)]
Don't split non-critical edges in crited

gcc/ChangeLog:

        * tree-cfg.h (split_critical_edges): Add for_edge_insertion_p
parameter with default value false to declaration.
        (split_edges_for_insertion): New inline function.  Wrapper for
split_critical_edges with for_edge_insertion_p = true.
        * tree-cfg.c (split_critical_edges): Don't split non-critical
edges if for_edge_insertion_p is false.  Fix whitespace.
        * tree-ssa-pre.c (pass_pre::execute): Call
split_edges_for_insertion instead of split_critical_edges.
        * gcc/tree-ssa-tail-merge.c (tail_merge_optimize): Ditto.
        * gcc/tree-ssa-sink.c (pass_sink_code::execute): Ditto.
(pass_data_sink_code): Update function name in the comment.

From-SVN: r271461

5 years agotree-ssa-uninit: suppress more spurious warnings
Vladislav Ivanishin [Tue, 21 May 2019 10:39:05 +0000 (10:39 +0000)]
tree-ssa-uninit: suppress more spurious warnings

* tree-ssa-uninit.c (value_sat_pred_p): This new function is a wrapper
        around is_value_included_in that knows how to handle BIT_AND_EXPR.
        (is_pred_expr_subset_of): Use the new function.  Handle more cases where
        code1 == EQ_EXPR and where code1 == BIT_AND_EXPR and thus fix some false
        positives.

testsuite/
        * gcc.dg/uninit-28-gimple.c: New test.
        * gcc.dg/uninit-29-gimple.c: New test.
        * gcc.dg/uninit-30-gimple.c: New test.
        * gcc.dg/uninit-31-gimple.c: New test.

From-SVN: r271460

5 years agocontrib/mklog: Open files in text mode
Janne Blomqvist [Tue, 21 May 2019 08:37:05 +0000 (11:37 +0300)]
contrib/mklog: Open files in text mode

Due to the python 3 conversion, files should be opened in text mode,
matching stdin/stdout.

2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

* mklog: Open files in text mode.

From-SVN: r271459

5 years agoEnable -O2 for pr90263.c test.
Martin Liska [Tue, 21 May 2019 07:33:41 +0000 (09:33 +0200)]
Enable -O2 for pr90263.c test.

2019-05-21  Martin Liska  <mliska@suse.cz>

* gcc.dg/pr90263.c: Add -O2.

From-SVN: r271458

5 years agoc-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
Eric Botcazou [Tue, 21 May 2019 07:00:45 +0000 (07:00 +0000)]
c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.

c-family/
* c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
* c-ada-spec.c (print_assignment_operator): New function.
(dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
assignment operators declared as methods and filter out the others.
cp/
* decl2.c (cpp_check) <IS_ASSIGNMENT_OPERATOR>: New case.

From-SVN: r271457

5 years agoConvert contrib/mklog script to Python 3
Janne Blomqvist [Tue, 21 May 2019 06:59:16 +0000 (09:59 +0300)]
Convert contrib/mklog script to Python 3

Upstream will drop support for Python 2.x on January 1, 2020.  This
patch converts the contrib/mklog script to Python 3.  The process for
the conversion was as follows.

- Use the futurize tool (https://python-future.org ) to apply the
  print_with_import, except, and dict transformations.

- Remove the "from __future__ import print_function".

- Change the shebang line to search for python3 in the environment.

- Modify the run() function to return a str instead of bytes.

- Update the copyright year.

contrib/ChangeLog:

2019-05-21  Janne Blomqvist  <jb@gcc.gnu.org>

        * mklog: Convert to Python 3.

From-SVN: r271456

5 years agofix diagnostic quoting/spelling in rs6000
Martin Liska [Tue, 21 May 2019 06:55:56 +0000 (08:55 +0200)]
fix diagnostic quoting/spelling in rs6000

2019-05-21  Martin Liska  <mliska@suse.cz>

* config/rs6000/driver-rs6000.c (elf_platform): Do not use
an extra newline.
* config/rs6000/rs6000-c.c (rs6000_pragma_longcal): Wrap pragma in %<%>.
(altivec_resolve_overloaded_builtin): Likewise for vec_lvsl and
vec_lvsr.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Quote a C type.
(rs6000_function_arg): Likewise.
(rs6000_expand_set_fpscr_drn_builtin): Remove trailing dot.
(rs6000_expand_ternop_builtin): Use interval syntax.
(get_element_number): Likewise.
(altivec_expand_builtin): Likewise.
(rs6000_get_function_versions_dispatcher): Quote target_clones.

Fix test-suite.
2019-05-21  Martin Liska  <mliska@suse.cz>

* gcc.target/powerpc/ppc64-abi-warn-1.c: Wrap a type.
* gcc.target/powerpc/pr80315-1.c: Use new interval format.
* gcc.target/powerpc/pr80315-2.c: Likewise.
* gcc.target/powerpc/pr80315-3.c: Likewise.
* gcc.target/powerpc/pr80315-4.c: Likewise.
* gcc.target/powerpc/warn-lvsl-lvsr.c: Wrap builtin names.

From-SVN: r271455

5 years agoMove a test-case (PR testsuite/90551).
Martin Liska [Tue, 21 May 2019 06:55:07 +0000 (08:55 +0200)]
Move a test-case (PR testsuite/90551).

2019-05-21  Martin Liska  <mliska@suse.cz>

PR testsuite/90551
* pr90263.c: Move from gcc.c-torture/compile
into gcc.dg.

From-SVN: r271454

5 years agotbb-backend effective target should check ability to link TBB
Thomas Rodgers [Tue, 21 May 2019 04:37:45 +0000 (04:37 +0000)]
tbb-backend effective target should check ability to link TBB

    PR libstdc++/90252
    * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
    Changed v3_target_compile check from preprocess to executable.
    Added "-ltbb" to v3_target_compile flags.

From-SVN: r271451

5 years agoCheck TBB version in tbb-backed effective target check
Thomas Rodgers [Tue, 21 May 2019 01:06:32 +0000 (01:06 +0000)]
Check TBB version in tbb-backed effective target check

      * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
      Add check for Thread Building Blocks 2018 or later.

From-SVN: r271450

5 years agoDaily bump.
GCC Administrator [Tue, 21 May 2019 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r271449

5 years agore PR testsuite/90503 (gcc.target/i386/pr22076.c FAILs)
Uros Bizjak [Mon, 20 May 2019 22:24:38 +0000 (00:24 +0200)]
re PR testsuite/90503 (gcc.target/i386/pr22076.c FAILs)

PR testsuite/90503
* gcc.target/i386/pr22076.c (dg-options): Add -mno-sse2.
Remove -flax-vector-conversions.
(dg-additional-options): Remove.
(test): Change to void.  Declare m0 and m1 as __m64 and
cast initializer in a proper way.  Do not return result.
(dg-final): Scan for 2 instances of movq.

From-SVN: r271445

5 years ago* es.po, sv.po: Update.
Joseph Myers [Mon, 20 May 2019 22:22:36 +0000 (23:22 +0100)]
* es.po, sv.po: Update.

From-SVN: r271443

5 years agore PR testsuite/90503 (gcc.target/i386/pr22076.c FAILs)
Uros Bizjak [Mon, 20 May 2019 22:01:32 +0000 (00:01 +0200)]
re PR testsuite/90503 (gcc.target/i386/pr22076.c FAILs)

PR testsuite/90503
* gcc.target/i386/pr22076.c (dg-options): Add -mno-sse2.

From-SVN: r271442

5 years agogfortran.texi: Remove reference to the ASSIGN statement...
Mark Eggleston [Mon, 20 May 2019 21:49:33 +0000 (15:49 -0600)]
gfortran.texi: Remove reference to the ASSIGN statement...

* gfortran.texi: Remove reference to the ASSIGN statement, capitalise
complex, state that padding is with spaces and modify the Hollerith
constant examples.

From-SVN: r271441

5 years agore PR c++/59813 (tail-call elimination didn't fire for left-shift of char to cout)
Jakub Jelinek [Mon, 20 May 2019 21:33:46 +0000 (23:33 +0200)]
re PR c++/59813 (tail-call elimination didn't fire for left-shift of char to cout)

PR c++/59813
PR target/90418
* function.h (struct function): Add calls_eh_return member.
* gimplify.c (gimplify_call_expr): Set cfun->calls_eh_return when
gimplifying __builtin_eh_return call.
* tree-inline.c (initialize_cfun): Copy calls_eh_return from src_cfun
to cfun.
(expand_call_inline): Or in src_cfun->calls_eh_return into
dst_cfun->calls_eh_return.
* tree-tailcall.c (suitable_for_tail_call_opt_p): Return false if
cfun->calls_eh_return.
* lto-streamer-in.c (input_struct_function_base): Read calls_eh_return.
* lto-streamer-out.c (output_struct_function_base): Write
calls_eh_return.

From-SVN: r271440

5 years agore PR libgomp/90527 (alloc.c:72:7: error: implicit declaration of function ‘posix_mem...
Jakub Jelinek [Mon, 20 May 2019 21:29:17 +0000 (23:29 +0200)]
re PR libgomp/90527 (alloc.c:72:7: error: implicit declaration of function â€˜posix_memalign’)

PR libgomp/90527
* alloc.c (_GNU_SOURCE): Define.

From-SVN: r271438

5 years agoFix test failure due to Networking TS headers using mutexes
Jonathan Wakely [Mon, 20 May 2019 20:21:15 +0000 (21:21 +0100)]
Fix test failure due to Networking TS headers using mutexes

Only include the Networking headers for targets with Gthreads, so that
the uses of std::mutex and std::condition_variable don't cause errors.

* testsuite/experimental/names.cc: Only include Networking TS headers
on targets with the necessary Gthreads support.

From-SVN: r271437

5 years agoCWG 2094 - volatile scalars are trivially copyable.
Marek Polacek [Mon, 20 May 2019 19:10:57 +0000 (19:10 +0000)]
CWG 2094 - volatile scalars are trivially copyable.

PR c++/85679
* tree.c (trivially_copyable_p): Don't check CP_TYPE_VOLATILE_P for
scalar types.

* g++.dg/ext/is_trivially_constructible1.C: Change the expected result
for volatile int.
* g++.dg/ext/is_trivially_copyable.C: New test.

* testsuite/20_util/is_trivially_copyable/value.cc: Change the expected
result for volatile int.

From-SVN: r271435

5 years agoname-lookup.c (finish_using_directive): Don't issue inform() if the warning didn...
Marek Polacek [Mon, 20 May 2019 19:04:52 +0000 (19:04 +0000)]
name-lookup.c (finish_using_directive): Don't issue inform() if the warning didn't trigger.

* name-lookup.c (finish_using_directive): Don't issue inform() if the
warning didn't trigger.  Add quoting.  Tweak the inform message.

* g++.dg/lookup/strong-using2.C: New test.

From-SVN: r271432

5 years agopt.c (convert_template_argument): Add a diagnostic for the [temp.arg]/2 ambiguity...
Marek Polacek [Mon, 20 May 2019 18:59:05 +0000 (18:59 +0000)]
pt.c (convert_template_argument): Add a diagnostic for the [temp.arg]/2 ambiguity case.

* pt.c (convert_template_argument): Add a diagnostic for the
[temp.arg]/2 ambiguity case.

* g++.dg/cpp2a/nontype-class17.C: New test.

From-SVN: r271431

5 years ago* g++.dg/ext/utf8-2.C: Accept both "char" and "char8_t" in aka.
Marek Polacek [Mon, 20 May 2019 18:23:06 +0000 (18:23 +0000)]
* g++.dg/ext/utf8-2.C: Accept both "char" and "char8_t" in aka.

From-SVN: r271430

5 years agoWtype-limits-Wextra.c: Adjust expected output after recent diagnostic cleanups.
Jeff Law [Mon, 20 May 2019 18:17:33 +0000 (12:17 -0600)]
Wtype-limits-Wextra.c: Adjust expected output after recent diagnostic cleanups.

* gcc.dg/Wtype-limits-Wextra.c: Adjust expected output after
recent diagnostic cleanups.

From-SVN: r271429

5 years agocp-tree.h: Remove remnants of CONV_NONCONVERTING.
Paolo Carlini [Mon, 20 May 2019 18:00:46 +0000 (18:00 +0000)]
cp-tree.h: Remove remnants of CONV_NONCONVERTING.

2019-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

* cp-tree.h: Remove remnants of CONV_NONCONVERTING.

From-SVN: r271428

5 years agoAdd myself to MAINTAINERS
Vladislav Ivanishin [Mon, 20 May 2019 15:33:12 +0000 (15:33 +0000)]
Add myself to MAINTAINERS

2019-05-20  Vladislav Ivanishin  <vlad@ispras.ru>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r271425

5 years ago[testsuite] PR90106 Fix cdce3.c testcase
Christophe Lyon [Mon, 20 May 2019 15:01:46 +0000 (15:01 +0000)]
[testsuite] PR90106 Fix cdce3.c testcase

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

PR tree-optimization/90106
* gcc.dg/cdce3.c: Add hard_float effective target.

From-SVN: r271424

5 years agoTweak gcc.dg/torture/pta-ptrarith-3.c
Marc Glisse [Mon, 20 May 2019 14:58:53 +0000 (16:58 +0200)]
Tweak gcc.dg/torture/pta-ptrarith-3.c

2019-05-20  Marc Glisse  <marc.glisse@inria.fr>

* gcc.dg/torture/pta-ptrarith-3.c: Relax the matched pattern.

From-SVN: r271423

5 years ago[i386] Fold __builtin_ia32_shufpd to VEC_PERM_EXPR
Marc Glisse [Mon, 20 May 2019 14:53:29 +0000 (16:53 +0200)]
[i386] Fold __builtin_ia32_shufpd to VEC_PERM_EXPR

2019-05-20  Marc Glisse  <marc.glisse@inria.fr>

PR rtl-optimization/43147
* config/i386/i386.c (ix86_gimple_fold_builtin): Handle
IX86_BUILTIN_SHUFPD.

From-SVN: r271422

5 years agoFix failing tests for use of non-reserved names
Jonathan Wakely [Mon, 20 May 2019 14:38:21 +0000 (15:38 +0100)]
Fix failing tests for use of non-reserved names

Defining 'ptr' fails on Solaris because it's used in <netdb.h>.

Including the Filesystem TS header fails if the TS support wasn't
enabled by configure.

* testsuite/17_intro/names.cc: Do not check 'ptr' on Solaris.
* testsuite/experimental/names.cc: Include <experimental/filesystem>
conditionally.

From-SVN: r271421

5 years ago[C++ PATCH] Commonixe using directive finishing
Nathan Sidwell [Mon, 20 May 2019 13:49:53 +0000 (13:49 +0000)]
[C++ PATCH] Commonixe using directive finishing

https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01251.html
gcc/cp/
* name-lookup.c (finish_namespace_using_directive)
(finish_local_using_directive): Merge to ...
(finish_using_directive): ... here.  Handle both contexts.
* name-lookup.h (finish_namespace_using_directive)
(finish_local_using_directive): Replace with ...
(finish_using_directive): ... this.
* parser.c (cp_parser_using_directive): Adjust.
* pt.c (tsubst_expr): Likewise.

libcc1/
* libcp1plugin.cc (plugin_add_using_namespace): Call renamed
finish_using_directive.

From-SVN: r271420

5 years agotree-ssa-alias.c (refs_may_alias_p_2): Break out from ...
Jan Hubicka [Mon, 20 May 2019 13:37:11 +0000 (15:37 +0200)]
tree-ssa-alias.c (refs_may_alias_p_2): Break out from ...

* tree-ssa-alias.c (refs_may_alias_p_2): Break out from ...
(refs_may_alias_p_1): ... here; update stats.
(refs_may_alias_p): Do not update stats here.

From-SVN: r271419

5 years ago[C++ PATCH] namespace using directives
Nathan Sidwell [Mon, 20 May 2019 12:46:54 +0000 (12:46 +0000)]
[C++ PATCH] namespace using directives

https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01245.html
* cp-tree.h (struct lang_decl_ns): Remove usings field.
(DECL_NAMESPACE_USING): Delete.
* name-lookup.c (name_lookup::search_usings): Use namespace's
binding scope.
(name_lookup::queue_namespae): Likewise.
(finish_namespace_using_directive, push_namespace): Likewise.
(has_using_namespace_std_directive): Just search the entire
binding stack.

From-SVN: r271416

5 years agodarwin, testsuite - fix PR58321
Iain Sandoe [Mon, 20 May 2019 12:28:18 +0000 (12:28 +0000)]
darwin, testsuite - fix PR58321

Darwin doesn't emit a .file directive by default
and one of the scan-asm hits for ELF targets comes from
this directive. Adjust for Darwin and explain.

2019-05-20  Iain Sandoe  <iain@sandoe.co.uk>

PR testsuite/58321
* gcc.target/i386/memcpy-strategy-3.c: Adjust count for Darwin and
add a comment as to the reason for the difference.
* gcc.target/i386/memset-strategy-1.c: Likewise.

From-SVN: r271415

5 years agotree-ssa-structalias.c (find_func_aliases): POINTER_DIFF_EXPR doesn't produce pointers.
Richard Biener [Mon, 20 May 2019 12:02:35 +0000 (12:02 +0000)]
tree-ssa-structalias.c (find_func_aliases): POINTER_DIFF_EXPR doesn't produce pointers.

2019-05-20  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): POINTER_DIFF_EXPR
doesn't produce pointers.
{TRUNC,CEIL,FLOOR,ROUND,EXACT}_{DIV,MOD}_EXPR points to what
the first operand points to.

From-SVN: r271414

5 years agotree-ssa-alias.c (compare_sizes): New function.
Jan Hubicka [Mon, 20 May 2019 12:01:40 +0000 (14:01 +0200)]
tree-ssa-alias.c (compare_sizes): New function.

* tree-ssa-alias.c (compare_sizes): New function.
(sompare_type_sizes): New function
(aliasing_component_refs_p): Use it.
(indirect_ref_may_alias_decl_p): Likewise.

From-SVN: r271413

5 years agoPR c++/90532 Ensure __is_constructible(T[]) is false
Jonathan Wakely [Mon, 20 May 2019 11:32:51 +0000 (12:32 +0100)]
PR c++/90532 Ensure __is_constructible(T[]) is false

An array of an unknown bound is an incomplete type, so no object of such
a type can be constructed. This means __is_constructible should always
be false for an array of unknown bound.

This patch also changes the std::is_default_constructible trait to use
std::is_constructible, which now gives the right answer for arrays of
unknown bound.

gcc/cp:

PR c++/90532 Ensure __is_constructible(T[]) is false
* method.c (is_xible_helper): Return error_mark_node for construction
of an array of unknown bound.

gcc/testsuite:

PR c++/90532 Ensure __is_constructible(T[]) is false
* g++.dg/ext/90532.C: New test.

libstdc++-v3:

PR c++/90532 Ensure __is_constructible(T[]) is false
* include/std/type_traits (__do_is_default_constructible_impl)
(__is_default_constructible_atom, __is_default_constructible_safe):
Remove.
(is_default_constructible): Use is_constructible.
* testsuite/20_util/is_constructible/value.cc: Check int[] case.
* testsuite/20_util/is_default_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/value.cc:
Likewise.

From-SVN: r271412

5 years agoReject -mx32 on Solaris/x86
Rainer Orth [Mon, 20 May 2019 11:26:43 +0000 (11:26 +0000)]
Reject -mx32 on Solaris/x86

* config/i386/sol2.h (CC1_SPEC): Reject -mx32.

From-SVN: r271411

5 years agoFix %e in Solaris specs
Rainer Orth [Mon, 20 May 2019 11:22:40 +0000 (11:22 +0000)]
Fix %e in Solaris specs

* config/sol2.h (LIBTSAN_EARLY_SPEC): Remove : after %e.
(LIBLSAN_EARLY_SPEC): Likewise.
* config/i386/sol2.h (ASAN_REJECT_SPEC): Likewise.

From-SVN: r271410

5 years agostd::allocator::deallocate support sized-deallocation
Pádraig Brady [Mon, 20 May 2019 11:15:03 +0000 (11:15 +0000)]
std::allocator::deallocate support sized-deallocation

Pass the size to the allocator so that it may optimize deallocation.
This was seen to significantly reduce the work required in jemalloc,
with about 40% reduction in CPU cycles in the free path.

Note jemalloc >= 5.2 is required to fix a crash with 0 sizes.

2019-05-20  Pádraig Brady  <pbrady@fb.com>

* libstdc++-v3/include/ext/new_allocator.h (deallocate): Pass the size
to the deallocator with -fsized-deallocation.

From-SVN: r271409

5 years agoFix test bug with mismatched alignment in allocate/deallocate
Jonathan Wakely [Mon, 20 May 2019 11:14:56 +0000 (12:14 +0100)]
Fix test bug with mismatched alignment in allocate/deallocate

* testsuite/experimental/memory_resource/new_delete_resource.cc: Fix
test by passing correct alignment to deallocate function.

From-SVN: r271408

5 years agoAdd missing ATTRIBUTE_UNUSED for ix86_libc_has_fast_function.
Martin Liska [Mon, 20 May 2019 10:48:46 +0000 (12:48 +0200)]
Add missing ATTRIBUTE_UNUSED for ix86_libc_has_fast_function.

2019-05-20  Martin Liska  <mliska@suse.cz>

* config/i386/i386.c (ix86_libc_has_fast_function):
Add ATTRIBUTE_UNUSED for the argument.

From-SVN: r271406

5 years agogimple-match-head.c: Include vec-perm-indices.h.
Richard Biener [Mon, 20 May 2019 10:33:54 +0000 (10:33 +0000)]
gimple-match-head.c: Include vec-perm-indices.h.

2019-05-20  Richard Biener  <rguenther@suse.de>

* gimple-match-head.c: Include vec-perm-indices.h.
* generic-match-head.c: Likewise.
* fold-const.h (fold_vec_perm): Declare when vec-perm-indices.h
is included.
* fold-const.c (fold_vec_perm): Export.
(fold_ternary_loc): Move non-constant folding of VEC_PERM_EXPR...
(match.pd): ...here.

From-SVN: r271404

5 years agocfgloop.h (struct loop): Add simdlen member.
Jakub Jelinek [Mon, 20 May 2019 09:49:07 +0000 (11:49 +0200)]
cfgloop.h (struct loop): Add simdlen member.

* cfgloop.h (struct loop): Add simdlen member.
* cfgloopmanip.c (copy_loop_info): Copy simdlen as well.
* omp-expand.c (expand_omp_simd): Set it if simdlen clause is present.
* tree-vect-loop.c (vect_analyze_loop): Pass loop->simdlen != 0
as new argument to autovectorize_vector_sizes target hook.  If
loop->simdlen, pick up vector size where the vectorization factor
is equal to loop->simd, and if there is none, fall back to the first
successful one.
(vect_transform_loop): Adjust autovectorize_vector_sizes target hook
caller.
* omp-low.c (omp_clause_aligned_alignment): Likewise.
* omp-general.c (omp_max_vf): Likewise.
* optabs-query.c (can_vec_mask_load_store_p): Likewise.
* tree-vect-slp.c (vect_slp_bb): Likewise.
* target.def (autovectorize_vector_sizes): Add ALL argument and
document it.
* doc/tm.texi: Adjust documentation.
* targhooks.c (default_autovectorize_vector_sizes): Add bool argument.
* targhooks.h (default_autovectorize_vector_sizes): Likewise.
* config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): Add
bool argument.
* config/arc/arc.c (arc_autovectorize_vector_sizes): Likewise.
* config/arm/arm.c (arm_autovectorize_vector_sizes): Likewise.
* config/mips/mips.c (mips_autovectorize_vector_sizes): Likewise.
* config/i386/i386.c (ix86_autovectorize_vector_sizes): Likewise.  If
true and TARGET_AVX512F or TARGET_AVX, push 3 or 2 sizes even if
preferred vector size is not 512-bit or 256-bit, just put those
unpreferred ones last.

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

From-SVN: r271403

5 years ago[testsuite] aarch64,arm Add missing quotes to expected error message
Christophe Lyon [Mon, 20 May 2019 09:12:03 +0000 (09:12 +0000)]
[testsuite] aarch64,arm Add missing quotes to expected error message

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

* gcc.target/aarch64/target_attr_10.c: Add quotes to expected
error message.
* gcc.target/arm/attr-neon-builtin-fail.c: Likewise.

From-SVN: r271402

5 years agoAdd missing default default_libc_has_fast_function implementation.
Martin Liska [Mon, 20 May 2019 09:11:04 +0000 (11:11 +0200)]
Add missing default default_libc_has_fast_function implementation.

2019-05-20  Martin Liska  <mliska@suse.cz>

* targhooks.c (default_libc_has_fast_function): New function.
* targhooks.h (default_libc_has_fast_function): Likewise.

From-SVN: r271401

5 years agoCome up with hook libc_has_fast_function (PR middle-end/90263).
Martin Liska [Mon, 20 May 2019 07:55:00 +0000 (09:55 +0200)]
Come up with hook libc_has_fast_function (PR middle-end/90263).

2019-05-20  Martin Liska  <mliska@suse.cz>

PR middle-end/90263
* builtins.c (expand_builtin_memory_copy_args): When having a
target with fast mempcpy implementation do now use memcpy.
* config/i386/i386.c (ix86_libc_has_fast_function): New.
(TARGET_LIBC_HAS_FAST_FUNCTION): Likewise.
* doc/tm.texi: Likewise.
* doc/tm.texi.in: Likewise.
* target.def:
* expr.c (emit_block_move_hints): Add 2 new arguments.
* expr.h (emit_block_move_hints): Bail out when libcall
to memcpy would be used.
2019-05-20  Martin Liska  <mliska@suse.cz>

PR middle-end/90263
* gcc.c-torture/compile/pr90263.c: New test.
* lib/target-supports.exp: Add check_effective_target_glibc.

From-SVN: r271400

5 years agoAdd vertical spacing in order to separate functions.
Martin Liska [Mon, 20 May 2019 07:53:42 +0000 (09:53 +0200)]
Add vertical spacing in order to separate functions.

2019-05-20  Martin Liska  <mliska@suse.cz>

* profile-count.c: Add vertical spacing in order
to separate functions.
* profile-count.h: Likewise.

From-SVN: r271399

5 years agoDo not use full qualified names if possible.
Martin Liska [Mon, 20 May 2019 07:53:31 +0000 (09:53 +0200)]
Do not use full qualified names if possible.

2019-05-20  Martin Liska  <mliska@suse.cz>

* profile-count.h: Do not use full qualified
names if possible.
* profile-count.c (profile_count::to_frequency): Likewise.

From-SVN: r271398

5 years agoUse capital letters for enum value names.
Martin Liska [Mon, 20 May 2019 07:53:18 +0000 (09:53 +0200)]
Use capital letters for enum value names.

2019-05-20  Martin Liska  <mliska@suse.cz>

* profile-count.h (enum profile_quality): Use capital letters
for enum value names.  Use the adjusted names.
* profile-count.c: Use the adjusted names.

From-SVN: r271397

5 years agore PR middle-end/90518 (ICE: in emit_move_insn, at expr.c:3745 in gcc.dg/gimplefe...
Richard Biener [Mon, 20 May 2019 07:18:10 +0000 (07:18 +0000)]
re PR middle-end/90518 (ICE: in emit_move_insn, at expr.c:3745 in gcc.dg/gimplefe-40.c)

2019-05-20  Richard Biener  <rguenther@suse.de>

PR testsuite/90518
* gcc.dg/gimplefe-40.c: Restrict to targets with appropriate
vector support.
* gcc.dg/gimplefe-41.c: Likewise.

From-SVN: r271396

5 years ago[PATCH] Fix PR 81721: ICE with PCH and Pragma warning and C++ operator
Andrew Pinski [Mon, 20 May 2019 06:59:06 +0000 (06:59 +0000)]
[PATCH] Fix PR 81721: ICE with PCH and Pragma warning and C++ operator

libcpp/ChangeLog:
2019-05-19  Andrew Pinski  <apinski@marvell.com>

        PR pch/81721
        * lex.c (cpp_token_val_index <case SPELL_OPERATOR>): If tok->flags
        has NAMED_OP set, then return CPP_TOKEN_FLD_NODE.

gcc/testsuite/ChangeLog:
2019-05-19  Andrew Pinski  <apinski@marvell.com>

        PR pch/81721
        * g++.dg/pch/operator-1.C: New testcase.
        * g++.dg/pch/operator-1.Hs: New file.

From-SVN: r271395

5 years agoDaily bump.
GCC Administrator [Mon, 20 May 2019 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r271394

5 years agors6000: Delete the "wH" and "wI" constraints
Segher Boessenkool [Mon, 20 May 2019 00:14:36 +0000 (02:14 +0200)]
rs6000: Delete the "wH" and "wI" constraints

This replaces "wH" by "v", "wI" by "d", and when both are allowed it
uses "wa"; all with isa "p8v".

* config/rs6000/constraints.md (define_register_constraint "wH"):
Delete.
(define_register_constraint "wI"): Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wH and RS6000_CONSTRAINT_wI.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wH" and "wI" constraints by "v"
resp. "d", or with "wa" as appropriate, all with "p8v".
* config/rs6000/vsx.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271390

5 years agors6000: Delete the "wy" constraint
Segher Boessenkool [Mon, 20 May 2019 00:13:41 +0000 (02:13 +0200)]
rs6000: Delete the "wy" constraint

This replaces the "wy" constraint by "wa", with isa "p8v".  It also
creates a new attribute <Fisa>, used together with all <Fv2>.

* config/rs6000/constraints.md (define_register_constraint "wy"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wy.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wy" constraint by "wa" with "p8v".
Use "<Fisa>" as "isa" in all alternatives that use "<Fv2>".
(define_mode_attr Fisa): New.
* config/rs6000/vsx.md: Replace "wy" constraint by "wa" with "p8v".
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271389

5 years agors6000: Delete the "wu" constraint
Segher Boessenkool [Mon, 20 May 2019 00:12:43 +0000 (02:12 +0200)]
rs6000: Delete the "wu" constraint

This replaces the "wu" constraint by "v", with isa "p8v".  Or, in most
cases, use "wa", since the instructions allow all VSX registers, and it
does not change how GCC behaves, so it is clearer that way.

This also delete the unused <Fa>.

* config/rs6000/constraints.md (define_register_constraint "wu"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wu.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wu" constraint by "v" or "wa",
both with "p8v".
(define_mode_attr Fa): Delete.
* config/rs6000/vsx.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271388

5 years agors6000: Delete "wJ" and "wK" constraints
Segher Boessenkool [Mon, 20 May 2019 00:11:34 +0000 (02:11 +0200)]
rs6000: Delete "wJ" and "wK" constraints

This replaces "wJ" by "wI", and "wK by "wH", both with isa "p9v".

* config/rs6000/constraints.md (define_register_constraint "wJ"):
Delete.
(define_register_constraint "wK"): Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wJ and RS6000_CONSTRAINT_wK.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wJ" constraint by "wI" with "p9v".
Replace "wK" constraint by "wH" with "p9v".
* config/rs6000/vsx.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271387

5 years agors6000: Delete the "wb" constraint
Segher Boessenkool [Mon, 20 May 2019 00:10:31 +0000 (02:10 +0200)]
rs6000: Delete the "wb" constraint

This replaces the "wb" constraint by "v", with isa "p9v".

* config/rs6000/constraints.md (define_register_constraint "wb"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wb.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wb" constraint by "v" with "p9v".
* config/rs6000/vsx.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271386

5 years agors6000: Delete the "wo" constraint
Segher Boessenkool [Mon, 20 May 2019 00:09:34 +0000 (02:09 +0200)]
rs6000: Delete the "wo" constraint

This replaces the "wo" constraint by "wa", with isa "p9v".

* config/rs6000/constraints.md (define_register_constraint "wo"):
Delete.
* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
RS6000_CONSTRAINT_wo.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
(rs6000_init_hard_regno_mode_ok): Adjust.
* config/rs6000/rs6000.md: Replace "wo" constraint by "wa" with "p9v".
* config/rs6000/altivec.md: Ditto.
* doc/md.texi (Machine Constraints): Adjust.

From-SVN: r271385

5 years agolibfortran/90038 Reap dead children when wait=.false.
Janne Blomqvist [Sun, 19 May 2019 19:38:11 +0000 (22:38 +0300)]
libfortran/90038 Reap dead children when wait=.false.

When using posix_spawn or fork to launch a child process, the parent
needs to wait for the child, otherwise the dead child is left as a
zombie process. For this purpose one can install a signal handler for
SIGCHLD.

2019-05-19  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/90038
* intrinsics/execute_command_line (sigchld_handler): New function.
        (execute_command_line): Install handler for SIGCHLD.
        * configure.ac: Check for presence of sigaction and waitpid.
        * config.h.in: Regenerated.
        * configure: Regenerated.

Regtested on x86_64-pc-linux-gnu.

From-SVN: r271384

5 years ago* MAINTAINERS: Update my email address.
Peter Bergner [Sun, 19 May 2019 16:20:44 +0000 (16:20 +0000)]
* MAINTAINERS: Update my email address.

From-SVN: r271382

5 years agore PR fortran/90498 (ICE with select type/associate and derived type argument contain...
Paul Thomas [Sun, 19 May 2019 12:32:55 +0000 (12:32 +0000)]
re PR fortran/90498 (ICE with select type/associate and derived type argument containing class(*))

2019-05-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/90498
* trans-stmt.c (trans_associate_var) Do not use the saved
descriptor if the expression is a COMPONENT_REF.

2019-05-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/90498
* gfortran.dg/associate_48.f90 : New test.

From-SVN: r271380

5 years agore PR fortran/78290 (Gfortran incorrectly creates a copy of an array passed to an...
Thomas Koenig [Sun, 19 May 2019 11:26:20 +0000 (11:26 +0000)]
re PR fortran/78290 (Gfortran incorrectly creates a copy of an array passed to an array pointer dummy argument)

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

PR fortran/78290
* gfortran.dg/pr78290.f90: New test.

From-SVN: r271379

5 years agore PR fortran/88821 (Inline packing of non-contiguous arguments)
Thomas Koenig [Sun, 19 May 2019 11:24:17 +0000 (11:24 +0000)]
re PR fortran/88821 (Inline packing of non-contiguous arguments)

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

    PR fortran/88821
    * ChangeLog: Add forgotten entry.

From-SVN: r271378

5 years agore PR fortran/88821 (Inline packing of non-contiguous arguments)
Thomas Koenig [Sun, 19 May 2019 10:21:06 +0000 (10:21 +0000)]
re PR fortran/88821 (Inline packing of non-contiguous arguments)

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

PR fortran/88821
* expr.c (gfc_is_simply_contiguous): Return true for
an EXPR_ARRAY.
* trans-array.c (is_pointer): New function.
(gfc_conv_array_parameter): Call gfc_conv_subref_array_arg
when not optimizing and not optimizing for size if the formal
arg is passed by reference.
* trans-expr.c (gfc_conv_subref_array_arg): Add arguments
fsym, proc_name and sym.  Add run-time warning for temporary
array creation.  Wrap argument if passing on an optional
argument to an optional argument.
* trans.h (gfc_conv_subref_array_arg): Add optional arguments
fsym, proc_name and sym to prototype.

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

PR fortran/88821
* gfortran.dg/alloc_comp_auto_array_3.f90: Add -O0 to dg-options
to make sure the test for internal_pack is retained.
* gfortran.dg/assumed_type_2.f90: Split compile and run time
tests into this and
* gfortran.dg/assumed_type_2a.f90: New file.
* gfortran.dg/c_loc_test_22.f90: Likewise.
* gfortran.dg/contiguous_3.f90: Likewise.
* gfortran.dg/internal_pack_11.f90: Likewise.
* gfortran.dg/internal_pack_12.f90: Likewise.
* gfortran.dg/internal_pack_16.f90: Likewise.
* gfortran.dg/internal_pack_17.f90: Likewise.
* gfortran.dg/internal_pack_18.f90: Likewise.
* gfortran.dg/internal_pack_4.f90: Likewise.
* gfortran.dg/internal_pack_5.f90: Add -O0 to dg-options
to make sure the test for internal_pack is retained.
* gfortran.dg/internal_pack_6.f90: Split compile and run time
tests into this and
* gfortran.dg/internal_pack_6a.f90: New file.
* gfortran.dg/internal_pack_8.f90: Likewise.
* gfortran.dg/missing_optional_dummy_6: Split compile and run time
tests into this and
* gfortran.dg/missing_optional_dummy_6a.f90: New file.
* gfortran.dg/no_arg_check_2.f90: Split compile and run time tests
into this and
* gfortran.dg/no_arg_check_2a.f90: New file.
* gfortran.dg/typebound_assignment_5.f90: Split compile and run time
tests into this and
* gfortran.dg/typebound_assignment_5a.f90: New file.
* gfortran.dg/typebound_assignment_6.f90: Split compile and run time
tests into this and
* gfortran.dg/typebound_assignment_6a.f90: New file.
* gfortran.dg/internal_pack_19.f90: New file.
* gfortran.dg/internal_pack_20.f90: New file.
* gfortran.dg/internal_pack_21.f90: New file.

From-SVN: r271377

5 years agore PR fortran/90329 (Incompatibility between gfortran and C lapack calls)
Thomas Koenig [Sun, 19 May 2019 08:22:41 +0000 (08:22 +0000)]
re PR fortran/90329 (Incompatibility between gfortran and C lapack calls)

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

PR fortran/90329
* invoke.texi: Document -fbroken-callers.
* lang.opt: Add -fbroken-callers.
* trans-decl.c (create_function_arglist): Only set
DECL_HIDDEN_STRING_LENGTH if flag_broken_callers is set.

From-SVN: r271376

5 years agoDaily bump.
GCC Administrator [Sun, 19 May 2019 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r271375

5 years agoDarwin, objective-c - register gnu-runtime headers correctly.
Iain Sandoe [Sat, 18 May 2019 08:44:18 +0000 (08:44 +0000)]
Darwin, objective-c - register gnu-runtime headers correctly.

Darwin is able to use two runtimes for objective-c; the
default is its native "NeXT" runtime, but also it can build
code using the "gnu-runtime".  In order to do this, we have to
be able to find the gnu-runtime headers (which are installed
into the compiler's tree).

The process to do this is erroneously prepending the sysroot
to this when a sysroot is in force.  The gnu-runtime headers have
never been installed in a Darwin (macOS) SDK so we must make
sure that they are found local to the compiler.

gcc/

2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin-c.c (darwin_register_objc_includes): Do not
prepend the sysroot when building gnu-runtime header search
paths.

From-SVN: r271371

5 years agoobjective-c - add instancetype.
Iain Sandoe [Sat, 18 May 2019 08:27:24 +0000 (08:27 +0000)]
objective-c - add instancetype.

The instancetype has been added as a typedef alias to id
in order to allow diagnosis of cases where a class is used
or returned where an instance is expected.

This adds the typedef, and tests that we can parse it.
It doesn't alter the diagnostics yet.

gcc/objc/

2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

* objc/objc-act.h (OCTI_INSTANCE_TYPE, OCTI_INSTANCETYPE_NAME): New.
(objc_global_trees): Add instance type and name.
(INSTANCE_TYPEDEF_NAME): New.
* objc/objc-act.c (synth_module_prologue): Build decls for
objc_instancetype_type and objc_instancetype_name.

gcc/testsuite/

2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

* objc.dg/instancetype-0.m: New.

From-SVN: r271370

5 years agodarwin - use switch_to_section instead of asm output.
Iain Sandoe [Sat, 18 May 2019 08:07:56 +0000 (08:07 +0000)]
darwin - use switch_to_section instead of asm output.

We have been emitting two section swiches in the Darwin's
file end function.  This means that varasm is not updated
which could matter if we elect to reorder some of the file
end operations in support of LTO actions.

2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>

* config/darwin.c (darwin_file_end): Use switch_to_section ()
instead of direct output of the asm.

From-SVN: r271369

5 years agoDaily bump.
GCC Administrator [Sat, 18 May 2019 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r271368

5 years agoconv-op1.C: Adjust text of expected messages.
Martin Sebor [Fri, 17 May 2019 23:14:09 +0000 (23:14 +0000)]
conv-op1.C: Adjust text of expected messages.

gcc/testsuite/ChangeLog:

* g++.dg/overload/conv-op1.C: Adjust text of expected messages.
* g++.dg/ubsan/pr63956.C: Same.
* g++.old-deja/g++.pt/assign1.C: Same.

From-SVN: r271364

5 years agoPR libstdc++/90520 adjust Xmethod for recent unique_ptr changes
Jonathan Wakely [Fri, 17 May 2019 23:08:00 +0000 (00:08 +0100)]
PR libstdc++/90520 adjust Xmethod for recent unique_ptr changes

PR libstdc++/90520
* python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
Raise exception if unique_ptr tuple member has unknown structure.
* python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__call__):
Adjust worker to support new __uniq_ptr_data base class. Do not
assume field called _M_head_impl is the first tuple element.

From-SVN: r271363

5 years agogcc_diag-11.c: Remove accidentally committed test.
Martin Sebor [Fri, 17 May 2019 23:05:58 +0000 (23:05 +0000)]
gcc_diag-11.c: Remove accidentally committed test.

gcc/testsuite/ChangeLog:

* gcc.dg/gcc_diag-11.c: Remove accidentally committed test.

From-SVN: r271362

5 years agors6000: Some rs6000_emit_epilogue improvements
Segher Boessenkool [Fri, 17 May 2019 22:10:29 +0000 (00:10 +0200)]
rs6000: Some rs6000_emit_epilogue improvements

This uses epilogue_type directly.  It also changes some ints to bools,
declares variables later, and simplifies some code.

There is one actual change:

   else if (info->push_p
           && DEFAULT_ABI != ABI_V4
-          && !crtl->calls_eh_return)
+          && epilogue_type != EPILOGUE_TYPE_EH_RETURN)
     {
       /* Prevent reordering memory accesses against stack pointer restore.  */

(different because calls_eh_return can be true for sibcalls).  This is
a bugfix.  The code was never exercised.

One place in the epilogue still uses crtl->calls_eh_return.  If that
is changed the prologue has to have a corresponding change, and the
emit_prologue function does not have an epilogue_type parameter, so
bail on changing this for now.  We might want to do this (saving the
CR fields to separate stack slots) always, not just for functions
calling eh_return, but that will require more investigation.

* config/rs6000/rs6000.c (restore_saved_cr): Change a boolean
argument to be type bool (was int before).
(rs6000_emit_epilogue): Simplify some code.  Declare some variables
at first use.  Use type bool for some variables.  Fix a theoretical
eh_return bug for svr4.

From-SVN: r271361

5 years agors6000: Add "enabled" attribute
Segher Boessenkool [Fri, 17 May 2019 21:33:13 +0000 (23:33 +0200)]
rs6000: Add "enabled" attribute

This adds the "enabled" attribute to the rs6000 backend.  It uses the
(new) "isa" attribute to automatically select which instruction
alternatives should be enabled.

For now it allows isa strings of "p5", "p6", "p7", meaning the
instructions introduced on that CPU, not requiring vectors; and "p7v",
"p8v", "p9v" for the same, but with vectors.

These are currently mapped to TARGET_POPCNTB, TARGET_CMPB,
TARGET_POPCNTD, TARGET_VSX, TARGET_P8_VECTOR, and TARGET_P9_VECTOR;
that will change to something a bit saner later.

* config/rs6000/rs6000.md (isa): New attribute.
(enabled): New attribute.

From-SVN: r271360

5 years agogcc: aarch64: move assemble_start_function / assemble_end_function
Max Filippov [Fri, 17 May 2019 20:23:49 +0000 (20:23 +0000)]
gcc: aarch64: move assemble_start_function / assemble_end_function

Change that moved assemble_start_function/assemble_end_function to
backends missed aarch64. Fix that.

gcc/
2019-05-17  Max Filippov  <jcmvbkbc@gmail.com>

* config/aarch64/aarch64.c (aarch64_output_mi_thunk): Call
assemble_start_function and assemble_end_function.

From-SVN: r271359