]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 years agoRISC-V: Generalize -march support, add ELF attribute support.
wilson [Sat, 2 Mar 2019 00:36:22 +0000 (00:36 +0000)] 
RISC-V: Generalize -march support, add ELF attribute support.

Kito Cheng  <kito.cheng@gmail.com>
Monk Chiang  <sh.chiang04@gmail.com>

gcc/
* common/config/riscv/riscv-common.c: Include sstream.
(riscv_subset_list::to_string): New.
(riscv_arch_str): Likewise.
* config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
* config.in: Regen.
* config/riscv/riscv-protos.h (riscv_arch_str): New.
* config/riscv/riscv.c (INCLUDE_STRING): Defined.
(riscv_emit_attribute): New.
(riscv_file_start): Emit attribute if needed.
(riscv_option_override): Init riscv_emit_attribute_p.
* config/riscv/riscv.opt (mriscv-attribute): New option.
* configure.ac (riscv*-*-*): Check binutils is supporting ELF
* configure: Regen.
* doc/install.texi: Document --with-riscv-attribute.
* doc/invoke.texi: Document -mriscv-attribute.

* common/config/riscv/riscv-common.c:
Include config/riscv/riscv-protos.h.
(INCLUDE_STRING): Defined.
(RISCV_DONT_CARE_VERSION): Defined.
(riscv_subset_t): Declare.
(riscv_subset_t::riscv_subset_t): New.
(riscv_subset_list): Declare.
(riscv_subset_list::riscv_subset_list): New.
(riscv_subset_list::~riscv_subset_list): Likewise.
(riscv_subset_list::parsing_subset_version): Likewise.
(riscv_subset_list::parse_std_ext): Likewise.
(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
(riscv_subset_list::add): Likewise.
(riscv_subset_list::lookup): Likewise.
(riscv_subset_list::xlen): Likewise.
(riscv_subset_list::parse): Likewise.
(riscv_supported_std_ext): Likewise.
(current_subset_list): Likewise.
(riscv_parse_arch_string): Using riscv_subset_list::parse to
parse.

gcc/testsuite/
* gcc.target/riscv/attribute-1.c: New.
* gcc.target/riscv/attribute-2.c: Likewise.
* gcc.target/riscv/attribute-3.c: Likewise.
* gcc.target/riscv/attribute-4.c: Likewise.
* gcc.target/riscv/attribute-5.c: Likewise.
* gcc.target/riscv/attribute-6.c: Likewise.
* gcc.target/riscv/attribute-7.c: Likewise.
* gcc.target/riscv/attribute-8.c: Likewise.
* gcc.target/riscv/attribute-9.c: Likewise.

* gcc.target/riscv/arch-1.c: New.
* gcc.target/riscv/arch-2.c: Likewise.
* gcc.target/riscv/arch-3.c: Likewise.
* gcc.target/riscv/arch-4.c: Likewise.

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

5 years agoDaily bump.
gccadmin [Sat, 2 Mar 2019 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

5 years ago cmd/go: restore passing D to ar
ian [Fri, 1 Mar 2019 22:22:18 +0000 (22:22 +0000)] 
cmd/go: restore passing D to ar

    This restores part of https://golang.org/cl/45695 that was
    accidentally lost in https://golang.org/cl/158019 (the update to
    Go1.12beta2).

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

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

5 years ago PR middle-end/89497
jakub [Fri, 1 Mar 2019 19:06:36 +0000 (19:06 +0000)] 
PR middle-end/89497
* g++.dg/tree-prof/devirt.C: Adjust also the ilp32
scan-tree-dump-times from dom3 to tracer pass.

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

5 years agors6000: Adapt testcases for -mdejagnu-cpu=
segher [Fri, 1 Mar 2019 18:04:31 +0000 (18:04 +0000)] 
rs6000: Adapt testcases for -mdejagnu-cpu=

This is the result of these two oneliners:
perl -ni -e 'print unless /dg-skip-if "do not override -mcpu"/' \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)
perl -pi -e 's/(dg-options.*)-mcpu=/\1-mdejagnu-cpu=/'  \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)

gcc/testsuite/
* gcc.target/powerpc/ throughout: Delete dg-skip-if "do not override
-mcpu".  Use -mdejagnu-cpu= in dg-options instead of -mcpu=.

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

5 years agors6000: Add -mdejagnu-cpu=
segher [Fri, 1 Mar 2019 17:44:15 +0000 (17:44 +0000)] 
rs6000: Add -mdejagnu-cpu=

This adds an option -mdejagnu-cpu=.  This option simply overrides what
is given in -mcpu=.  The reason for this is that with older versions
of DejaGnu the value given in the RUNTESTFLAGS will override the value
a testcase wants to have.

* config/rs6000/rs6000.c (rs6000_option_override_internal): If
rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
* config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.

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

5 years agohaifa-sched: handle fallthru edge to EXIT block (PR 85899)
amonakov [Fri, 1 Mar 2019 16:18:04 +0000 (16:18 +0000)] 
haifa-sched: handle fallthru edge to EXIT block (PR 85899)

PR rtl-optimization/85899
* haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
fallthru edges leading to the exit block.

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

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

5 years ago PR c++/89537 - missing location for error with non-static member fn.
mpolacek [Fri, 1 Mar 2019 15:57:46 +0000 (15:57 +0000)] 
PR c++/89537 - missing location for error with non-static member fn.
* call.c (resolve_args): Use EXPR_LOCATION.
* typeck.c (build_class_member_access_expr): Use input_location.

* g++.dg/diagnostic/member-fn-1.C: New test.

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

5 years ago PR c++/89532 - ICE with incomplete type in decltype.
mpolacek [Fri, 1 Mar 2019 15:55:56 +0000 (15:55 +0000)] 
PR c++/89532 - ICE with incomplete type in decltype.
* semantics.c (finish_compound_literal): Return error_mark_node
if digest_init_flags returns error_mark_node.

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

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

5 years ago runtime: call execname and getpagesize on Solaris
ian [Fri, 1 Mar 2019 14:21:24 +0000 (14:21 +0000)] 
runtime: call execname and getpagesize on Solaris

    Interpreting auxv as []uintptr is incorrect on 64-bit big-endian,
    as auxv alternates a 32-bit int with a 64-bit pointer.

    Patch from Rainer Orth.

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

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

5 years ago Implement P1002R1, Try-catch blocks in constexpr functions
jakub [Fri, 1 Mar 2019 14:20:03 +0000 (14:20 +0000)] 
Implement P1002R1, Try-catch blocks in constexpr functions
PR c++/89513
* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
Diagnose constexpr ctor or function with function-try-block with
pedwarn for c++17 and earlier.  Formatting fix.
(cp_parser_try_block): Use pedwarn instead of error and only for
c++17 and earlier when try block appears in constexpr function.
* constexpr.c (build_constexpr_constructor_member_initializers):
Handle TRY_BLOCK here instead of erroring on it.

* g++.dg/cpp2a/constexpr-try1.C: New test.
* g++.dg/cpp2a/constexpr-try2.C: New test.
* g++.dg/cpp2a/constexpr-try3.C: New test.
* g++.dg/cpp2a/constexpr-try4.C: New test.
* g++.dg/cpp2a/constexpr-try5.C: New test.
* g++.dg/cpp0x/constexpr-ctor10.C: Don't expect error for C++2a.

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

5 years agoFix test memory_resource to work without sized deallocation
redi [Fri, 1 Mar 2019 13:50:41 +0000 (13:50 +0000)] 
Fix test memory_resource to work without sized deallocation

The checking memory_resource in the testsuite assumes sized deallocation
is supported, which might not be true for other compilers.

* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
[!__cpp_sized_deallocation]: Do not pass size to operator delete.

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

5 years agoC++2a Utility functions to implement uses-allocator construction (P0591R4)
redi [Fri, 1 Mar 2019 13:50:36 +0000 (13:50 +0000)] 
C++2a Utility functions to implement uses-allocator construction (P0591R4)

* include/std/memory (uses_allocator_construction_args): New set of
overloaded functions.
(make_obj_using_allocator, uninitialized_construct_using_allocator):
New functions.
* include/std/memory_resource (polymorphic_allocator::construct)
[__cplusplus > 201703l]: Replace all overloads with a single function
using uses_allocator_construction_args.
* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
test.
* testsuite/20_util/uses_allocator/make_obj.cc: New test.

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

5 years agoAArch64: Make every option in options.def one line
tnfchris [Fri, 1 Mar 2019 13:34:14 +0000 (13:34 +0000)] 
AArch64: Make every option in options.def one line

Due to config.gcc all the options need to be on one line because of the grep
lines which would select only the first line of the option.

This causes it not to select the right bits on options that are spread over
multiple lines when the --with-arch configure option is used.  The issue happens
silently and you just get a compiler with an incorrect set of default flags.

This solution just collapses everything back to one line as they were in GCC7.
Unfortunately this does make some lines quite long.

I do have an alternate patch which used the pre-processors to first flatten the
file in config.gcc.  I will send that one out for GCC 10.

gcc/ChangeLog:

PR target/89517
* config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.

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

5 years agoFix mask type choice in vectorizable_call (PR 89535)
rsandifo [Fri, 1 Mar 2019 13:05:40 +0000 (13:05 +0000)] 
Fix mask type choice in vectorizable_call (PR 89535)

This is another case in which we were failing to pass the expected
mask vector type to vect_get_vec_def_for_operand.

2019-02-28  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR tree-optimization/89535
* tree-vect-stmts.c (vectorizable_call): Record the vector types
for each operand.  Calculate the fallback choice for mask operands
and pass it to vect_get_vec_def_for_operand.

gcc/testsuite/
PR tree-optimization/89535
* gfortran.dg/vect/pr89535.f90: New test.

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

5 years ago2019-03-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Mar 2019 12:52:19 +0000 (12:52 +0000)] 
2019-03-01  Richard Biener  <rguenther@suse.de>

PR middle-end/89541
* tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
get virtual operands.
(get_expr_operands): Handle CONST_DECL like other decls.

* gfortran.dg/pr89451.f90: New testcase.

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

5 years agod/dmd: Merge dmd upstream ed71446aa
ibuclaw [Fri, 1 Mar 2019 10:21:54 +0000 (10:21 +0000)] 
d/dmd: Merge dmd upstream ed71446aa

Backports support for extern(C++, "namespace"), which makes the
core.stdcpp package compilable.

Added predefined condition for CppRuntime_Gcc unconditionally, as it is
unlikely that D code will be linking to anything other than libstdc++
when extern(C++) is used.

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

gcc/d/ChangeLog:

2019-03-01  Iain Buclaw  <ibuclaw@gdcproject.org>

* d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
version condition.

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

5 years ago PR middle-end/89503
jakub [Fri, 1 Mar 2019 09:26:40 +0000 (09:26 +0000)] 
PR middle-end/89503
* fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
on DECL_P and EXPR_P.

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

5 years ago2019-03-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Mar 2019 09:21:30 +0000 (09:21 +0000)] 
2019-03-01  Richard Biener  <rguenther@suse.de>

PR middle-end/89497
* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
argument, defaulted to zero.
* passes.c (execute_function_todo): Pass down SSA update flags
to cleanup_tree_cfg.
* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
(cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
form if requested.
(cleanup_tree_cfg): Get and pass down SSA update flags.

* gcc.dg/tree-ssa/reassoc-43.c: Avoid false match in regex.
* g++.dg/tree-prof/devirt.C: Scan tracer dump for foldings
that happen now earlier.

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

5 years ago PR bootstrap/89539
jakub [Fri, 1 Mar 2019 08:10:19 +0000 (08:10 +0000)] 
PR bootstrap/89539
* dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
early_lto_debug argument.

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

5 years ago PR go/89406
ian [Fri, 1 Mar 2019 05:25:36 +0000 (05:25 +0000)] 
PR go/89406
* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double.
* Makefile.in: Regenerate.

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

5 years ago cmd/go: add -O2 to invocation of gccgo
ian [Fri, 1 Mar 2019 01:23:09 +0000 (01:23 +0000)] 
cmd/go: add -O2 to invocation of gccgo

    When using the go tool with gccgo, this changes the default
    compilation to use -O2.  The -gccgoflags option can be used to
    override this default.  I think this change better corresponds to what
    people expect when using the go tool.

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

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

5 years agocommit 66ac9466852d11e968f8fd2ad6ffc7386cee49e1
ian [Fri, 1 Mar 2019 01:03:54 +0000 (01:03 +0000)] 
commit 66ac9466852d11e968f8fd2ad6ffc7386cee49e1
    gotest: avoid using echo inside $()

    The handling of newlines is not portable between bash and ksh.

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

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

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

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

5 years ago * g++.dg/cpp1z/fold-lambda3.C: Add test for 88183.
jason [Fri, 1 Mar 2019 00:10:28 +0000 (00:10 +0000)] 
* g++.dg/cpp1z/fold-lambda3.C: Add test for 88183.

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

5 years ago PR c++/88183 - ICE with .* fold-expression.
jason [Fri, 1 Mar 2019 00:08:58 +0000 (00:08 +0000)] 
PR c++/88183 - ICE with .* fold-expression.

build_m_component_ref can't handle type-dependent operands, so let's use the
default case; tsubst_copy_and_build also uses build_x_binary_op for
substituting a DOTSTAR_EXPR.

* pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.

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

5 years ago PR c++/86969 - ICE with constexpr if and recursive generic lambdas.
jason [Fri, 1 Mar 2019 00:08:21 +0000 (00:08 +0000)] 
PR c++/86969 - ICE with constexpr if and recursive generic lambdas.

* class.c, lambda.c, pt.c: Revert earlier change.
* lambda.c (add_capture): Don't special-case capture of dependent
VLA.

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

5 years ago * name-lookup.c (print_binding_level): Print this_entity.
jason [Fri, 1 Mar 2019 00:07:29 +0000 (00:07 +0000)] 
* name-lookup.c (print_binding_level): Print this_entity.

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

5 years ago PR tree-optimization/89536
ebotcazou [Thu, 28 Feb 2019 23:03:01 +0000 (23:03 +0000)] 
PR tree-optimization/89536
* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
only whether bit #0 of the value is 0 instead of the entire value.

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

5 years ago PR c++/87068 - missing diagnostic with fallthrough statement.
mpolacek [Thu, 28 Feb 2019 22:29:42 +0000 (22:29 +0000)] 
PR c++/87068 - missing diagnostic with fallthrough statement.
* gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
at the end of a seq, save its location to walk_stmt_info.
(expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
a switch.

* c-c++-common/Wimplicit-fallthrough-37.c: New test.

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

5 years ago[PR72741, PR89433] Repeated use of the Fortran OpenACC 'routine' directive
tschwinge [Thu, 28 Feb 2019 20:31:36 +0000 (20:31 +0000)] 
[PR72741, PR89433] Repeated use of the Fortran OpenACC 'routine' directive

gcc/fortran/
PR fortran/72741
PR fortran/89433
* openmp.c (gfc_match_oacc_routine): Handle repeated use of the
Fortran OpenACC 'routine' directive.
gcc/testsuite/
PR fortran/72741
PR fortran/89433
* gfortran.dg/goacc/routine-multiple-directives-1.f90: New file.
* gfortran.dg/goacc/routine-multiple-directives-2.f90: Likewise.

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

5 years ago[PR72741] For all Fortran OpenACC 'routine' directive variants check for multiple...
tschwinge [Thu, 28 Feb 2019 20:31:23 +0000 (20:31 +0000)] 
[PR72741] For all Fortran OpenACC 'routine' directive variants check for multiple clauses specifying the level of parallelism

gcc/fortran/
PR fortran/72741
* gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR.
* openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it.
* trans-decl.c (add_attributes_to_decl): Likewise.
gcc/testsuite/
PR fortran/72741
* gfortran.dg/goacc/routine-multiple-lop-clauses-1.f90: New file.

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

5 years ago[PR72741, PR89433] Accept intrinsic symbols in Fortran OpenACC 'routine' directives
tschwinge [Thu, 28 Feb 2019 20:31:01 +0000 (20:31 +0000)] 
[PR72741, PR89433] Accept intrinsic symbols in Fortran OpenACC 'routine' directives

gcc/fortran/
PR fortran/72741
PR fortran/89433
* openmp.c (gfc_match_oacc_routine): Accept intrinsic symbols.
gcc/testsuite/
PR fortran/72741
PR fortran/89433
* gfortran.dg/goacc/routine-6.f90: Update
* gfortran.dg/goacc/routine-intrinsic-1.f: New file.
* gfortran.dg/goacc/routine-intrinsic-2.f: Likewise.

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

5 years ago PR c++/88049 - ICE with undefined destructor and anon namespace.
jason [Thu, 28 Feb 2019 17:29:48 +0000 (17:29 +0000)] 
PR c++/88049 - ICE with undefined destructor and anon namespace.

A type in an anonymous namespace can never be merged with one from
another translation unit, so a member of such a type is always its own
prevailing decl.

* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
for a type in an anonymous namespace.

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

5 years ago PR lto/88585
hubicka [Thu, 28 Feb 2019 16:45:44 +0000 (16:45 +0000)] 
PR lto/88585
* tree.c (find_atomic_core_type): Move ahead in file.
(check_base_type): Correctly compare alignments of atomic types.

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

5 years agoi386: Identify Westmere from PCLMUL
hjl [Thu, 28 Feb 2019 14:24:52 +0000 (14:24 +0000)] 
i386: Identify Westmere from PCLMUL

Since AES has been removed from Westmere in GCC 9, we should identify
Westmere from PCLMUL, instead of AES.

PR target/89455
* config/i386/i386.c (get_builtin_code_for_version): Identify
Westmere from PCLMUL, instead of AES.

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

5 years ago PR c/89521
jakub [Thu, 28 Feb 2019 13:49:38 +0000 (13:49 +0000)] 
PR c/89521
* gcc.dg/pr89521-1.c: New test.
* gcc.dg/pr89521-2.c: New test.

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

5 years agoFix test-case visibility (PR testsuite/89441).
marxin [Thu, 28 Feb 2019 13:17:09 +0000 (13:17 +0000)] 
Fix test-case visibility (PR testsuite/89441).

2019-02-28  John David Anglin  <danglin@gcc.gnu.org>

PR testsuite/89441
* g++.dg/ipa/pr89009.C: Update symbol visibility.

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

5 years ago PR target/89434
jakub [Thu, 28 Feb 2019 13:13:33 +0000 (13:13 +0000)] 
PR target/89434
* config/arm/arm.md (*subsi3_carryin_compare_const): Use
trunc_int_for_mode (-INTVAL (...), SImode), just instead of
-UINTVAL (...).

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

5 years agoAArch64: Have empty HWCAPs string ignored during native feature detection
tnfchris [Thu, 28 Feb 2019 10:43:41 +0000 (10:43 +0000)] 
AArch64: Have empty HWCAPs string ignored during native feature detection

This patch makes the feature detection code for AArch64 GCC not add features
automatically when the feature had no hwcaps string to match against.

This means that -mcpu=native no longer adds feature flags such as +profile.
The behavior wasn't noticed before because at the time +profile was added a bug
was preventing any feature bits from being added by native detections.

The loop has also been changed as Jakub specified in order to avoid a memory
leak that was present in the existing code and to be slightly more efficient.

gcc/ChangeLog:

PR target/88530
* config/aarch64/aarch64-option-extensions.def: Document it.
* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
if empty hwcaps.

gcc/testsuite/ChangeLog:

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

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

5 years ago2019-02-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 28 Feb 2019 10:27:03 +0000 (10:27 +0000)] 
2019-02-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/89522
* g++.dg/cpp1y/lambda-generic-ice10.C: New.

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

5 years ago PR c/89525
jakub [Thu, 28 Feb 2019 07:17:49 +0000 (07:17 +0000)] 
PR c/89525
* c-typeck.c (convert_arguments): Call inform_declaration only if
the previous warning_at call returned true.

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

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

5 years ago PR c/89520
jakub [Thu, 28 Feb 2019 07:16:38 +0000 (07:16 +0000)] 
PR c/89520
* convert.c (convert_to_real_1, convert_to_integer_1): Punt for
builtins if they don't have a single scalar floating point argument.
Formatting fixes.

* gcc.dg/pr89520-1.c: New test.
* gcc.dg/pr89520-2.c: New test.

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

5 years ago libgo: fix go_export extraction on Darwin
ian [Thu, 28 Feb 2019 01:01:46 +0000 (01:01 +0000)] 
libgo: fix go_export extraction on Darwin

    On Darwin, the section name is prefixed with the segment name, __GNU_GO.

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

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

5 years agoDaily bump.
gccadmin [Thu, 28 Feb 2019 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

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