]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years agoOnly run on arm architecture
matmal01 [Thu, 7 Feb 2019 16:54:54 +0000 (16:54 +0000)] 
Only run on arm architecture

My previous patch failed to only run an arm test on arm architecture.
This adds that condition to the test.

gcc/testsuite/ChangeLog:

2019-02-07  Matthew Malcomson  <matthew.malcomson@arm.com>

* gcc.dg/rtl/arm/ldrd-peepholes.c: Only run on arm

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

6 years ago * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.
ebotcazou [Thu, 7 Feb 2019 16:28:40 +0000 (16:28 +0000)] 
* libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value.

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

6 years agoS/390: Fix the vec_xl / vec_xst style builtins
krebbel [Thu, 7 Feb 2019 15:53:38 +0000 (15:53 +0000)] 
S/390: Fix the vec_xl / vec_xst style builtins

This patch fixes several problems with the vec_xl/vec_xst builtins:

- vec_xl/vec_xst needs to use the alignment of the scalar memory
  operand for the vector type reference. This is required to emit the
  proper vl/vst alignment hints.
- vec_xl / vec_xld2 / vec_xlw4 should accept const pointer source operands
- vec_xlw4 / vec_xstw4 needs to accept float memory operands

gcc/ChangeLog:

2019-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>

* config/s390/s390-builtin-types.def: Add new types.
* config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
(s390_vec_xlw4): Make the memory operand into a const pointer.
(s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
float.
* config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
a new vector type with the alignment of the scalar memory operand.

gcc/testsuite/ChangeLog:

2019-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.target/s390/zvector/xl-xst-align-1.c: New test.
* gcc.target/s390/zvector/xl-xst-align-2.c: New test.

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

6 years ago[Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes.
matmal01 [Thu, 7 Feb 2019 14:54:15 +0000 (14:54 +0000)] 
[Patch] [arm] Fix 88714, Arm LDRD/STRD peepholes.

These peepholes match a pair of SImode loads or stores that can be
implemented with a single LDRD or STRD instruction.
When compiling for TARGET_ARM, these peepholes originally created a set
pattern in DI mode to be caught by movdi patterns.

This approach failed to take into account the possibility that the two
matched insns operated on memory with different aliasing information.
The peepholes lost the aliasing information on one of the insns, which
could then cause the scheduler to make an invalid transformation.

This patch changes the peepholes so they generate a PARALLEL expression
of the two relevant loads or stores, which means the aliasing
information of both is kept.  Such a PARALLEL pattern is what the
peepholes currently produce for TARGET_THUMB2.

In order to match these new insn patterns, we add two new define_insn's.  These
define_insn's use the same checks as the peepholes to find valid insns.

Note that the patterns now created by the peepholes for LDRD and STRD
are very similar to those created by the peepholes for LDM and STM.
Many patterns could be matched by the LDM and STM define_insns, which
means we rely on the order the define_insn patterns are defined in the
machine description, with those for LDRD/STRD defined before those for
LDM/STM.

The difference between the peepholes for LDRD/STRD and those for LDM/STM
are mainly that those for LDRD/STRD have some logic to ensure that the
two registers are consecutive and the first one is even.

Bootstrapped and regtested on arm-none-linux-gnu.
Demonstrated fix of bug 88714 by bootstrapping on armv7l.

gcc/ChangeLog:

2019-02-07  Matthew Malcomson  <matthew.malcomson@arm.com>
    Jakub Jelinek  <jakub@redhat.com>

PR bootstrap/88714
* config/arm/arm-protos.h (valid_operands_ldrd_strd,
arm_count_ldrdstrd_insns): New declarations.
* config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of
MINUS.
(valid_operands_ldrd_strd): New function.
(arm_count_ldrdstrd_insns): New function.
* config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode
sets instead of single DImode set and define new insns to match this.

gcc/testsuite/ChangeLog:

2019-02-07  Matthew Malcomson  <matthew.malcomson@arm.com>
    Jakub Jelinek  <jakub@redhat.com>

PR bootstrap/88714
* gcc.c-torture/execute/pr88714.c: New test.
* gcc.dg/rtl/arm/ldrd-peepholes.c: New test.

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

6 years agoAArch64: Fix initializer for array so it's a C initializer instead of C++.
tnfchris [Thu, 7 Feb 2019 11:05:22 +0000 (11:05 +0000)] 
AArch64: Fix initializer for array so it's a C initializer instead of C++.

This fixes a missing = that would cause the array initializer to be a C++
initializer instead of a C one, causing a warning when building with pre-C++11
standards compiler.

Committed under the GCC obvious rules.

gcc/ChangeLog:

* config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data):
Make it a C initializer.

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

6 years agoArm: Fix NEON REG to REG reload failures. (PR/target 88850)
tnfchris [Thu, 7 Feb 2019 10:05:57 +0000 (10:05 +0000)] 
Arm: Fix NEON REG to REG reload failures. (PR/target 88850)

We currently return cost 2 for NEON REG to REG moves, which would be incorrect
for 64 bit moves.  We currently don't have a pattern for this in the neon_move
alternatives because this is a bit of a special case.  We would almost never
want it to use this r -> r pattern unless it really has no choice.

As such we add a new neon r -> r move pattern but also hide it from being used
to determine register preferences and also disparage it during LRA.

gcc/ChangeLog:

PR/target 88850
* config/arm/neon.md (*neon_mov<mode>): Add r -> r case.

gcc/testsuite/ChangeLog:

PR/target 88850
* gcc.target/arm/pr88850.c: New test.

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

6 years ago[arm] Use neon_dot_q type for 128-bit V[US]DOT instructions where appropriate
ktkachov [Thu, 7 Feb 2019 09:32:46 +0000 (09:32 +0000)] 
[arm] Use neon_dot_q type for 128-bit V[US]DOT instructions where appropriate

For the Dot Product instructions we have the scheduling types neon_dot and neon_dot_q for the 128-bit versions.
It seems that we're only using the former though, not assigning the neon_dot_q type anywhere.

This patch fixes that by adding the <q> mode attribute suffix to the type, similar to how we do it for other
types in neon.md.

* config/arm/neon.md (neon_<sup>dot<vsi2qi>):
Use neon_dot<q> for type.
(neon_<sup>dot_lane<vsi2qi>): Likewise.

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

6 years ago[AArch64] Use neon_dot_q type for 128-bit [US]DOT instructions where appropriate
ktkachov [Thu, 7 Feb 2019 09:31:33 +0000 (09:31 +0000)] 
[AArch64] Use neon_dot_q type for 128-bit [US]DOT instructions where appropriate

For the Dot Product instructions we have the scheduling types neon_dot and neon_dot_q for the 128-bit versions.
It seems that we're only using the former though, not assigning the neon_dot_q type anywhere.

This patch fixes that by adding the <q> mode attribute suffix to the type, similar to how we do it for other
types in aarch64-simd.md.

* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
Use neon_dot<q> for type.
(aarch64_<sur>dot_lane<vsi2qi>): Likewise.
(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.

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

6 years ago[PR86218] handle ck_aggr in compare_ics in both and either conversion
aoliva [Thu, 7 Feb 2019 07:50:42 +0000 (07:50 +0000)] 
[PR86218] handle ck_aggr in compare_ics in both and either conversion

Because of rank compares, and checks for ck_list, we know that if we
see user_conv_p or ck_list in ics1, we'll also see it in ics2.  This
reasoning does not extend to ck_aggr, however, so we might have
ck_aggr conversions starting both ics1 and ics2, which we handle
correctly, or either, which we likely handle by crashing on whatever
path we take depending on whether ck_aggr is in ics1 or ics2.

We crash because, as we search the conversion sequences, we may very
well fail to find what we are looking for, and reach the end of the
sequence, which is unexpected in all paths.

This patch arranges for us to take the same path when ck_aggr is in
ics2 only that we would if it was in ics1 (regardless of ics2), and it
deals with not finding the kind of conversion we look for there.

I've changed the type of the literal constant in the testcase, so as
to hopefully make it well-formed.  We'd fail to reject the narrowing
conversion in the original testcase, but that's a separate bug.

for  gcc/cp/ChangeLog

PR c++/86218
* call.c (compare_ics): Deal with ck_aggr in either cs.

for  gcc/testsuite/ChangeLog

PR c++/86218
* g++.dg/cpp0x/pr86218.C: New.

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

6 years ago os, syscall: Hurd fixes for a couple of tests
ian [Thu, 7 Feb 2019 05:02:26 +0000 (05:02 +0000)] 
os, syscall: Hurd fixes for a couple of tests

    Based on patch by Svante Signell.

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

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

6 years ago os, net, crypto/x509: add hurd support
ian [Thu, 7 Feb 2019 04:45:01 +0000 (04:45 +0000)] 
os, net, crypto/x509: add hurd support

    Patch by Svante Signell.

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

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

6 years ago syscall: add Hurd support
ian [Thu, 7 Feb 2019 03:11:47 +0000 (03:11 +0000)] 
syscall: add Hurd support

    Loosely based on a patch by Svante Signell.

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

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

6 years ago internal/syscall/unix: add constants for hurd
ian [Thu, 7 Feb 2019 02:22:57 +0000 (02:22 +0000)] 
internal/syscall/unix: add constants for hurd

    Patch by Svante Signell.

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

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

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

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

6 years ago2019-02-06 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 6 Feb 2019 21:48:45 +0000 (21:48 +0000)] 
2019-02-06  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/89225
* lra-constaints.c (simplify_operand_subreg): Add subreg mode
sizes check.

2019-02-06  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/89225
* gcc.target/powerpc/pr89225.c: New.

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

6 years ago * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
ebotcazou [Wed, 6 Feb 2019 21:03:03 +0000 (21:03 +0000)] 
* config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
after restoring registers saved to allocate the frame on Windows.

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

6 years ago * eo.po: Update.
jsm28 [Wed, 6 Feb 2019 21:02:28 +0000 (21:02 +0000)] 
* eo.po: Update.

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

6 years ago PR go/89199
ian [Wed, 6 Feb 2019 20:46:00 +0000 (20:46 +0000)] 
PR go/89199
    sync/atomic: use strong form of atomic_compare_exchange_n

    In the recent change to use atomic_compare_exchange_n I thought we
    could use the weak form, which can spuriously fail. But that is not
    how it is implemented in the gc library, and it is not what the rest
    of the library expects.

    Thanks to Lynn Boger for identifying the problem.

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

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

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

6 years ago2019-02-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Wed, 6 Feb 2019 20:34:42 +0000 (20:34 +0000)] 
2019-02-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/71860
* gfortran.dg/null_10.f90: New test.

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

6 years agoFix locations in conversion_null_warnings (PR c++/71302)
dmalcolm [Wed, 6 Feb 2019 19:44:52 +0000 (19:44 +0000)] 
Fix locations in conversion_null_warnings (PR c++/71302)

PR c++/71302 reports that g++ shows poor locations for
-Wzero-as-null-pointer-constant for pointers in function calls,
using the close parenthesis of the call, rather than showing the
pertinent argument.

This particular case was fixed in GCC 8, but regressed on trunk
in r260973.

This patch fixes the regression, and adds column numbers to the
test cases (where they're correct) to avoid regressing them in the
future.  There are still various places where the locations aren't
correct, but fixing them isn't stage 4 material.

gcc/cp/ChangeLog:
PR c++/71302
* call.c (get_location_for_expr_unwinding_for_system_header): New
function.
(conversion_null_warnings): Use it when getting locations for
EXPR, effectively adding a call to
get_location_for_expr_unwinding_for_system_header for
-Wconversion-null and making use of EXPR_LOCATION for
-Wzero-as-null-pointer-constant.

gcc/testsuite/ChangeLog:
PR c++/71302
* g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Add expected
column numbers to dg-warning directives where they are correct.
* g++.dg/warn/Wzero-as-null-pointer-constant-5.C: Likewise.
* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Likewise.
* g++.dg/warn/Wzero-as-null-pointer-constant-8.C: New test.

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

6 years agoFix gcc.dg/debug/dwarf2/inline5.c with Solaris as (PR debug/87451)
ro [Wed, 6 Feb 2019 18:54:16 +0000 (18:54 +0000)] 
Fix gcc.dg/debug/dwarf2/inline5.c with Solaris as (PR debug/87451)

PR debug/87451
* gcc.dg/debug/dwarf2/inline5.c: Allow for non-comment before
"(DIE (0x[0-9a-f]*) DW_TAG_variable".
xfail scan-assembler-not with Solaris as.

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

6 years ago * ru.po: Update.
jsm28 [Wed, 6 Feb 2019 17:41:59 +0000 (17:41 +0000)] 
* ru.po: Update.

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

6 years agoPR libstdc++/89102 fix common_type<> and common_type<T> specializations
redi [Wed, 6 Feb 2019 17:25:26 +0000 (17:25 +0000)] 
PR libstdc++/89102 fix common_type<> and common_type<T> specializations

This is a partial implementation of the revised std::common_type rules
from P0435R1.

PR libstdc++/89102 (partial)
* include/std/type_traits (common_type<>): Define.
(common_type<T>): Derive from common_type<T, T>.
* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
Test zero-length template argument list.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Test additional single argument cases.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Adjust expected error.

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

6 years ago2019-02-06 Bill Seurer <seurer@linux.vnet.ibm.com>
seurer [Wed, 6 Feb 2019 16:29:56 +0000 (16:29 +0000)] 
2019-02-06  Bill Seurer  <seurer@linux.vnet.ibm.com>

* gcc.target/powerpc/vsx-vector-6.p7.c: Update instruction
counts and target.
* gcc.target/powerpc/vsx-vector-6.p8.c: Update instruction
counts and target.
* gcc.target/powerpc/vsx-vector-6.p9.c: Update instruction
counts and target.

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

6 years ago README: update text to describe current status
ian [Wed, 6 Feb 2019 16:28:31 +0000 (16:28 +0000)] 
README: update text to describe current status

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

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

6 years ago * libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads
charlet [Wed, 6 Feb 2019 11:50:15 +0000 (11:50 +0000)] 
* libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads

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

6 years ago2019-02-06 Richard Biener <rguenther@suse.de>
rguenth [Wed, 6 Feb 2019 11:18:33 +0000 (11:18 +0000)] 
2019-02-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89182
* graphite.h (cached_scalar_evolution_in_region): Declare.
* graphite.c (struct seir_cache_key): New.
(struct sese_scev_hash): Likewise.
(seir_cache): New global.
(cached_scalar_evolution_in_region): New function.
(graphite_transform_loops): Allocate and release seir_cache.
* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
cached_scalar_evolution_in_region.
* graphite-scop-detection.c (scop_detection::can_represent_loop):
Simplify.
(scop_detection::graphite_can_represent_expr: Use
cached_scalar_evolution_in_region.
(scop_detection::stmt_simple_for_scop_p): Likewise.
(find_params_in_bb): Likewise.
(gather_bbs::before_dom_children): Likewise.
* graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
(add_loop_constraints): Likewise.

* gfortran.dg/graphite/pr89182.f90: New testcase.

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

6 years ago PR c/89211
jakub [Wed, 6 Feb 2019 09:17:55 +0000 (09:17 +0000)] 
PR c/89211
* c-parser.c (c_parser_declaration_or_fndef): Don't update
DECL_ARGUMENTS of d if it has been defined already.  Use a single if
instead of 3 nested ifs.

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

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

6 years ago PR middle-end/89210
jakub [Wed, 6 Feb 2019 09:16:19 +0000 (09:16 +0000)] 
PR middle-end/89210
* fold-const-call.c (fold_const_vec_convert): Pass true as last
operand to new_unary_operation only if both element types are integral
and it isn't a widening conversion.  Return NULL_TREE if
new_unary_operation failed.

* c-c++-common/builtin-convertvector-2.c: New test.

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

6 years agogcc/go:
ian [Wed, 6 Feb 2019 04:48:35 +0000 (04:48 +0000)] 
gcc/go:
        PR go/89019
        * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
        placeholder structs as requiring structural equality.
        (Gcc_backend::set_placeholder_pointer_type): Propagate the
canonical type from the desired pointer type to the placeholder
pointer type.
gcc/testsuite/:
        * lib/go-torture.exp: Test compiling with -flto.

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

6 years agoFix type of extern array declared in inner scope with outer initialization shadowed...
jsm28 [Wed, 6 Feb 2019 01:51:29 +0000 (01:51 +0000)] 
Fix type of extern array declared in inner scope with outer initialization shadowed (PR c/88584).

As reported in bug 88584, if you have a file-scope array with external
linkage, initialized at file scope, and that array is shadowed at
block scope, and is declared again with external linkage and an
incomplete type in an inner scope, it is wrongly given a complete type
in that inner scope when the correct C semantics give it an incomplete
type (only the visible declarations contribute to the type in a given
scope).

In general, issues with the types of external linkage declarations
being different in different scopes were addressed by my fixes for bug
13801, for GCC 4.0.  In this case, however, the code in pushdecl
dealing with giving declarations the right type in each scope works
fine, and the type is subsequently modified by complete_array_type
called from finish_decl: finish_decl is trying to complete an array
type based on an initializer, but that's only correct for the original
initialization at file scope, not for such a declaration in an inner
scope (it's harmless but unnecessary in the case where the original
declaration is still visible in the inner scope).  Thus, this patch
changes finish_decl to stop this logic applying for such an external
declaration in an inner scope.  (An erroneous attempt to include an
initializer for an extern variable in an inner scope is diagnosed
elsewhere.)

This is a regression from GCC 3.4, which properly rejected the code in
question (quite likely by accident).

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc/c:
PR c/88584
* c-decl.c (finish_decl): Do not complete array types for arrays
with external linkage not at file scope.

gcc/testsuite:
PR c/88584
* gcc.dg/redecl-18.c: New test.

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

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

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

6 years agoUpdate .po files.
jsm28 [Tue, 5 Feb 2019 23:20:00 +0000 (23:20 +0000)] 
Update .po files.

gcc/po:
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
zh_TW.po: Update.

libcpp/po:
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
vi.po, zh_CN.po, zh_TW.po: Update.

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

6 years agoPR libstdc++/89128 add deduction guides for container adaptors
redi [Tue, 5 Feb 2019 22:58:22 +0000 (22:58 +0000)] 
PR libstdc++/89128 add deduction guides for container adaptors

PR libstdc++/89128
* include/bits/stl_queue.h (queue, priority_queue): Add deduction
guides.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/deduction.cc: New test.
* testsuite/23_containers/queue/deduction.cc: New test.
* testsuite/23_containers/stack/deduction.cc: New test.

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

6 years ago PR c++/89187
jakub [Tue, 5 Feb 2019 22:28:25 +0000 (22:28 +0000)] 
PR c++/89187
* optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on
PARM_DECLs of the thunk.
* lambda.c (maybe_add_lambda_conv_op): Likewise.

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

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

6 years agolibgccjit: introduce gcc_jit_context_add_driver_option
dmalcolm [Tue, 5 Feb 2019 22:11:04 +0000 (22:11 +0000)] 
libgccjit: introduce gcc_jit_context_add_driver_option

gcc/jit/ChangeLog:
2019-02-05  Andrea Corallo <andrea.corallo@arm.com>

* docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag.
* docs/topics/contexts.rst (Additional driver options): New
section.
* jit-playback.c (invoke_driver): Add call to append_driver_options.
* jit-recording.c: Within namespace gcc::jit...
(recording::context::~context): Free the optnames within
m_driver_options.
(recording::context::add_driver_option): New method.
(recording::context::append_driver_options): New method.
(recording::context::dump_reproducer_to_file): Add driver
options.
* jit-recording.h: Within namespace gcc::jit...
(recording::context::add_driver_option): New method.
(recording::context::append_driver_options): New method.
(recording::context::m_driver_options): New field.
* libgccjit++.h (gccjit::context::add_driver_option): New
method.
* libgccjit.c (gcc_jit_context_add_driver_option): New API
entrypoint.
* libgccjit.h (gcc_jit_context_add_driver_option): New API
entrypoint.
(LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New
macro.
* libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag.

gcc/testsuite/ChangeLog:
2019-02-05  Andrea Corallo <andrea.corallo@arm.com>

* jit.dg/add-driver-options-testlib.c: Add support file for
test-add-driver-options.c testcase.
* jit.dg/all-non-failing-tests.h: Add note about
test-add-driver-options.c
* jit.dg/jit.exp (jit-dg-test): Update to support
add-driver-options-testlib.c compilation.
* jit.dg/test-add-driver-options.c: New testcase.

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

6 years ago PR rtl-optimization/11304
jakub [Tue, 5 Feb 2019 22:00:29 +0000 (22:00 +0000)] 
PR rtl-optimization/11304
* gcc.target/i386/call-1.c (set_eax): Add "eax" clobber.
* gcc.target/i386/call-2.c: New test.

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

6 years ago PR c++/89158 - by-value capture of constexpr variable broken.
mpolacek [Tue, 5 Feb 2019 21:30:51 +0000 (21:30 +0000)] 
PR c++/89158 - by-value capture of constexpr variable broken.
* call.c (convert_like_real) <case ck_user>: Call mark_exp_read
instead of mark_rvalue_use.

* g++.dg/cpp0x/lambda/lambda-89158.C: New test.

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

6 years ago compiler: check duplicate implicit indexes in slices/arrays
ian [Tue, 5 Feb 2019 18:21:07 +0000 (18:21 +0000)] 
compiler: check duplicate implicit indexes in slices/arrays

    Fixes golang/go#28186.

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

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

6 years agoFix pr84711.c testcase
segher [Tue, 5 Feb 2019 18:03:55 +0000 (18:03 +0000)] 
Fix pr84711.c testcase

On powerpc64-linux, this testcase complains the ABI for vector args
has changed, making the testcase fail (excess output).  This patch
shuts up that warning.

* gcc.dg/vect/pr84711.c: Use -Wno-psabi.

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

6 years agoS/390: Remove load and test fp splitter
krebbel [Tue, 5 Feb 2019 17:14:11 +0000 (17:14 +0000)] 
S/390: Remove load and test fp splitter

gcc/ChangeLog:

2019-02-05  Andreas Krebbel  <krebbel@linux.ibm.com>

PR target/88856
* config/s390/s390.md: Remove load and test FP splitter.

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

6 years ago2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Tue, 5 Feb 2019 16:32:06 +0000 (16:32 +0000)] 
2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>

PR target/89112
* config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
expand_compare_loop, expand_block_compare_gpr,
expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
#include "profile-count.h" and "predict.h" for types and functions
needed to work with REG_BR_PROB notes.

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

6 years ago2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Tue, 5 Feb 2019 16:30:45 +0000 (16:30 +0000)] 
2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>

PR target/89112
* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
for the long branch case.

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

6 years ago * gcc.target/powerpc/vec-extract-sint128-1.c: Require int128 effective
jakub [Tue, 5 Feb 2019 16:22:21 +0000 (16:22 +0000)] 
* gcc.target/powerpc/vec-extract-sint128-1.c: Require int128 effective
target.
* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.

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

6 years ago PR target/89188
jakub [Tue, 5 Feb 2019 16:21:36 +0000 (16:21 +0000)] 
PR target/89188
* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
can throw, non-call exceptions are enabled and we can't delete
dead exceptions or alter cfg.  Set must_clean if
delete_insn_and_edges returns true, don't set it blindly for calls.
Assert that delete_unreachable_blocks is called only if can_alter_cfg.

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

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

6 years agoPR libstdc++/89194 untangle is_convertible and is_nothrow_convertible
redi [Tue, 5 Feb 2019 15:45:24 +0000 (15:45 +0000)] 
PR libstdc++/89194 untangle is_convertible and is_nothrow_convertible

The additional logic added to __is_convertible_helper in order to
support is_nothrow_convertible makes some uses of is_convertible
ill-formed. This appears to be due to PR c++/87603, but can be avoided
just by defining a separate helper for is_nothrow_convertible. The same
problems are likely to still exist for is_nothrow_convertible, but that
is new and so won't cause regressions for existing users of
is_convertible.

PR libstdc++/89194
* include/std/type_traits (__is_convertible_helper)
(__is_convertible_helper<_From, _To, false>): Revert changes to
support is_nothrow_convertible.
(__is_nt_convertible_helper): New helper.
(is_nothrow_convertible): Use __is_nt_convertible_helper.

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

6 years ago PR rtl-optimization/89195
jakub [Tue, 5 Feb 2019 15:38:57 +0000 (15:38 +0000)] 
PR rtl-optimization/89195
* combine.c (make_extraction): For MEMs, don't extract bytes outside
of the original MEM.

* gcc.c-torture/execute/pr89195.c: New test.

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

6 years agogcc/testsuite/ChangeLog:
kelvin [Tue, 5 Feb 2019 15:34:34 +0000 (15:34 +0000)] 
gcc/testsuite/ChangeLog:

2019-02-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vec-extract-slong-1.c: Require p8 execution
hardware.
* gcc.target/powerpc/vec-extract-schar-1.c: Likewise.
* gcc.target/powerpc/vec-extract-sint128-1.c: Likewise.
* gcc.target/powerpc/vec-extract-sshort-1.c: Likewise.
* gcc.target/powerpc/vec-extract-ulong-1.c: Likewise.
* gcc.target/powerpc/vec-extract-uchar-1.c: Likewise.
* gcc.target/powerpc/vec-extract-sint-1.c: Likewise.
* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.
* gcc.target/powerpc/vec-extract-ushort-1.c: Likewise.
* gcc.target/powerpc/vec-extract-uint-1.c: Likewise.

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

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

PR c/88606
* c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on
all type variants when not supported.

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

6 years agoRestore previous behaviour of test
redi [Tue, 5 Feb 2019 14:53:53 +0000 (14:53 +0000)] 
Restore previous behaviour of test

Go back to using CopyConsOnlyType as before r265485, because it works
again now. Add test using DelAnyAssign for completeness and additional
coverage.

* testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
use of CopyConsOnlyType, but also test DelAnyAssign for completeness.

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

6 years agoPR libstdc++/89130 restore support for non-MoveConstructible types
redi [Tue, 5 Feb 2019 14:45:00 +0000 (14:45 +0000)] 
PR libstdc++/89130 restore support for non-MoveConstructible types

The changes to "relocate" std::vector elements can lead to new errors
outside the immediate context, because moving the elements to new
storage no longer makes use of the move-if-noexcept utilities. This
means that types with deleted moves no longer degenerate to copies, but
are just ill-formed. The errors happen while instantiating the
noexcept-specifier for __relocate_object_a, when deciding whether to try
to relocate.

This patch introduces indirections to avoid the ill-formed
instantiations of std::__relocate_object_a. In order to avoid using
if-constexpr prior to C++17 this is done by tag dispatching. After this
patch all uses of std::__relocate_a are guarded by checks that will
support sensible code (i.e. code not using custom allocators that fool
the new checks).

PR libstdc++/89130
* include/bits/alloc_traits.h (__is_copy_insertable_impl): Rename to
__is_alloc_insertable_impl. Replace single type member with two
members, one for each of copy and move insertable.
(__is_move_insertable): New trait for internal use.
* include/bits/stl_vector.h (vector::_S_nothrow_relocate(true_type))
(vector::_S_nothrow_relocate(true_type)): New functions to
conditionally check if __relocate_a can throw.
(vector::_S_use_relocate()): Dispatch to _S_nothrow_relocate based
on __is_move_insertable.
(vector::_S_do_relocate): New overloaded functions to conditionally
call __relocate_a.
(vector::_S_relocate): New function that dispatches to _S_do_relocate
based on _S_use_relocate.
* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
(vector::_M_default_append): Call _S_relocate instead of __relocate_a.
* testsuite/23_containers/vector/modifiers/push_back/89130.cc: New.

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

6 years agoPR libstdc++/89090 avoid C++17 features in C++11/C++14 code
redi [Tue, 5 Feb 2019 14:44:56 +0000 (14:44 +0000)] 
PR libstdc++/89090 avoid C++17 features in C++11/C++14 code

Although GCC and Clang both allow these features pre-C++17 in system
headers, Clang does issue warnings with -Wsystem-headers. It can also
complicate bisection and/or testcase reduction if # line markers are
stripped, because the code won't be known to come from system headers.

PR libstdc++/89090
* include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
parameter unnamed. Add message to static assertion.
* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
(vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
in C++11 code.

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

6 years agoGCOV: remove misleading branches and calls info for -f option (PR gcov-profile/89000).
marxin [Tue, 5 Feb 2019 12:17:45 +0000 (12:17 +0000)] 
GCOV: remove misleading branches and calls info for -f option (PR gcov-profile/89000).

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

PR gcov-profile/89000
* gcov.c (function_summary): Remove argument.
(file_summary): New function.
(print_usage): Replace tabs with spaces.
(generate_results): Use new function file_summary.

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

6 years agoRename __is_trivially_relocatable to __is_bitwise_relocatable.
glisse [Tue, 5 Feb 2019 09:33:36 +0000 (09:33 +0000)] 
Rename __is_trivially_relocatable to __is_bitwise_relocatable.

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

PR libstdc++/87106
* include/bits/stl_uninitialized.h (__is_trivially_relocatable):
Rename...
(__is_bitwise_relocatable): ... to this.
(__relocate_a_1): Adapt.
* include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
(__is_bitwise_relocatable): ... to this.

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

6 years ago PR target/89186
jakub [Tue, 5 Feb 2019 09:17:18 +0000 (09:17 +0000)] 
PR target/89186
* optabs.c (prepare_cmp_insn): Pass x and y to
emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).

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

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

6 years ago2019-02-05 Richard Biener <rguenther@suse.de>
rguenth [Tue, 5 Feb 2019 08:32:16 +0000 (08:32 +0000)] 
2019-02-05  Richard Biener  <rguenther@suse.de>

PR middle-end/89150
* bitmap.h (struct bitmap_obstack): Do not mark GTY.
(struct bitmap_element): Drop chain_prev so we properly recurse on
the prev member, supporting tree views.
(struct bitmap_head): GTY skip the obstack member.

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

6 years ago[PR87770] test partial specializations for type dependence
aoliva [Tue, 5 Feb 2019 06:11:25 +0000 (06:11 +0000)] 
[PR87770] test partial specializations for type dependence

When instantiating a partial specialization of a template member
function for a full specialization of a class template, we test
whether the context of variables local to the partial specialization,
i.e., the partial specialization itself, is dependent, and this ICEs
in type_dependent_expression_p, when checking that the function type
isn't type-dependent because it is not in a type-dependent scope.

We shouldn't have got that far: the previous block in
type_dependent_expression_p catches cases in which the function itself
takes template arguments of its own, but it only did so for primary
templates, not for partial specializations.  This patch fixes that.

for  gcc/cp/ChangeLog

PR c++/87770
* pt.c (instantiates_primary_template_p): New.
(type_dependent_expression_p): Use it.

for  gcc/testsuite/ChangeLog

PR c++/87770
* g++.dg/pr87770.C: New.

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

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

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

6 years ago2019-02-04 Harald Anlauf <anlauf@gmx.de>
anlauf [Mon, 4 Feb 2019 20:44:22 +0000 (20:44 +0000)] 
2019-02-04  Harald Anlauf  <anlauf@gmx.de>

PR fortran/89077
* gfortran.dg/pr89077.f90: New test.

2019-02-04  Harald Anlauf  <anlauf@gmx.de>

PR fortran/89077
* gfortran.dg/pr89077.f90: New test.

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

6 years agodoc: showcase a "union of vectors" pattern (PR 88698)
amonakov [Mon, 4 Feb 2019 15:00:41 +0000 (15:00 +0000)] 
doc: showcase a "union of vectors" pattern (PR 88698)

PR c/88698
* doc/extend.texi (Vector Extensions): Add an example of using vector
types together with x86 intrinsics.

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

6 years agoDo not dereference NULL pointer in resolve_ref (PR fortran/89185).
marxin [Mon, 4 Feb 2019 13:28:34 +0000 (13:28 +0000)] 
Do not dereference NULL pointer in resolve_ref (PR fortran/89185).

2019-02-04  Martin Liska  <mliska@suse.cz>

PR fortran/89185
* resolve.c (resolve_ref): Remove breakout variable as
we need to prevent prev = &(*prev)->next to happen
with *prev == NULL.

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

6 years ago[RS6000] Fix potiential buffer overflow
amodra [Mon, 4 Feb 2019 13:19:49 +0000 (13:19 +0000)] 
[RS6000] Fix potiential buffer overflow

* config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
str[] size to 160, and comment.

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

6 years ago[RS6000] Emit inline PLT when -mno-tls-markers
amodra [Mon, 4 Feb 2019 13:18:14 +0000 (13:18 +0000)] 
[RS6000] Emit inline PLT when -mno-tls-markers

I restricted output of inline PLT sequences to when TLS marker relocs
were also available, which is obviously true when just considering
assembler support.  However, there is a -mno-tls-markers option to
disable emitting the marker relocs.  Currently that option also
disables inline PLT sequences, which is a bug (*).  This patch fixes
that problem.

*) To be honest, it was a deliberate bug.  I didn't want to have to
deal with inline PLT __tls_get_addr sequences lacking the marker
relocs in the linker, but it turns out the existing linker support for
old-style __tls_get_addr calls works reasonably well.

* config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
(rs6000_pltseq_template): Guard output of TLS markers with
TARGET_TLS_MARKERS.
(rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
(rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
to use inline PLT sequences.
* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
(pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.

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

6 years agoBail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88985).
marxin [Mon, 4 Feb 2019 12:26:14 +0000 (12:26 +0000)] 
Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88985).

gcc/ChangeLog:

2019-01-24  Martin Liska  <mliska@suse.cz>

PR ipa/88985
* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
out when ipa_fn_summaries does not contain entry for callee.

gcc/testsuite/ChangeLog:

2019-01-24  Martin Liska  <mliska@suse.cz>

PR ipa/88985
* gcc.dg/ipa/pr88985.c: New test.

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

6 years agoReport error when -fpre-include can't be opened (PR fortran/88912).
marxin [Mon, 4 Feb 2019 12:20:59 +0000 (12:20 +0000)] 
Report error when -fpre-include can't be opened (PR fortran/88912).

2019-02-04  Martin Liska  <mliska@suse.cz>

PR fortran/88912
* scanner.c (load_file): Report error for -fpre-include
file and do not ICE.

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

6 years agoBail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88958).
marxin [Mon, 4 Feb 2019 12:19:48 +0000 (12:19 +0000)] 
Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88958).

2019-02-04  Martin Liska  <mliska@suse.cz>

PR ipa/88958
* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
out when ipa_fn_summaries does not contain entry for callee.
2019-02-04  Martin Liska  <mliska@suse.cz>

PR ipa/88958
* gcc.dg/ipa/pr88958.c: New test.

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

6 years ago * config/sparc/sparc.h: Remove superfluous blank lines.
ebotcazou [Mon, 4 Feb 2019 11:12:29 +0000 (11:12 +0000)] 
* config/sparc/sparc.h: Remove superfluous blank lines.
* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
(got_register_rtx): ...this.
(sparc_got): Adjust to above renaming.
(sparc_tls_got): Likewise.
(sparc_delegitimize_address): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_init_pic_reg): Likewise.
(save_local_or_in_reg_p): Fix test on the GOT register.
(USE_HIDDEN_LINKONCE): Move around.
(get_pc_thunk_name): Likewise.
(gen_load_pcrel_sym): Likewise.
(load_got_register): Likewise.

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

6 years ago * gcc.dg/debug/dwarf2/inline5.c: Handle also @, ; or | comment
jakub [Mon, 4 Feb 2019 10:00:53 +0000 (10:00 +0000)] 
* gcc.dg/debug/dwarf2/inline5.c: Handle also @, ; or | comment
characters or extra spaces after the comment character.

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

6 years ago[NDS32] Change naming rule for dyanmic linker.
jasonwucj [Mon, 4 Feb 2019 09:00:24 +0000 (09:00 +0000)] 
[NDS32] Change naming rule for dyanmic linker.

gcc/
* config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".

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

6 years agocontrib/dg-extract-results: Handle timeout warnings
clyon [Mon, 4 Feb 2019 08:55:00 +0000 (08:55 +0000)] 
contrib/dg-extract-results: Handle timeout warnings

2019-02-04  Christophe Lyon  <christophe.lyon@linaro.org>

contrib/
* dg-extract-results.py: Keep timeout warnings next to their
matching test.
* dg-extract-results.sh: Likewise.

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

6 years ago * g++.dg/torture/alias-1.C: New test.
jakub [Mon, 4 Feb 2019 08:52:18 +0000 (08:52 +0000)] 
* g++.dg/torture/alias-1.C: New test.

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

6 years ago[NDS32] Restrict address mode, when symbol is TLS model.
jasonwucj [Mon, 4 Feb 2019 07:31:45 +0000 (07:31 +0000)] 
[NDS32] Restrict address mode, when symbol is TLS model.

gcc/
* config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
into consideration.

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

6 years ago[NDS32] Remove all -mtlsdesc-trmpoline related things.
jasonwucj [Mon, 4 Feb 2019 07:17:36 +0000 (07:17 +0000)] 
[NDS32] Remove all -mtlsdesc-trmpoline related things.

gcc/
* config.gcc (with_nds32_lib, glibc):
Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
* config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
(NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.

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

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

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

6 years agoPR c/69661 - missing -Wsequence-point warning
msebor [Sun, 3 Feb 2019 22:47:41 +0000 (22:47 +0000)] 
PR c/69661 - missing -Wsequence-point warning

gcc/testsuite.ChangeLog:
        * c-c++-common/Wsequence-point-2.c: New test.

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

6 years agoPR c++/44648 - missing -Wunused warning on a const variable in if statement
msebor [Sun, 3 Feb 2019 21:48:27 +0000 (21:48 +0000)] 
PR c++/44648 - missing -Wunused warning on a const variable in if statement

gcc/testsuite/ChangeLog:
* g++.dg/warn/Wunused-var-35.C: New test.

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

6 years ago2019-02-03 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 3 Feb 2019 19:38:25 +0000 (19:38 +0000)] 
2019-02-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/67679
* trans-array.c (gfc_array_allocate):  For setting the bounds on
the new array, add a condition for a not previously allocated
variable.

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

PR fortran/67679
* gfortran.dg/warn_undefined_1.f90: New test.
* gfortran.dg/coarray_lock_7.f90: Fix patterns in test.

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

6 years ago PR target/89071
uros [Sun, 3 Feb 2019 16:48:41 +0000 (16:48 +0000)] 
PR target/89071
* config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
Do not prefer (v,v) alternative for non-AVX targets and (m,v)
alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
(*rcpsf2_sse): Ditto.
(*rsqrtsf2_sse): Ditto.
(sse4_1_round<mode<2): Ditto.

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

6 years ago2019-02-03 Richard Biener <rguenther@suse.de>
rguenth [Sun, 3 Feb 2019 10:53:01 +0000 (10:53 +0000)] 
2019-02-03  Richard Biener  <rguenther@suse.de>

PR debug/87295
* dwarf2out.c (copy_ancestor_tree): Register non-stubs as
orig.

* g++.dg/debug/dwarf2/pr87295.C: New testcase.

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

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

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

6 years ago2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sat, 2 Feb 2019 21:44:34 +0000 (21:44 +0000)] 
2019-02-02  Dominique d'Humieres  <dominiq@gcc.gnu.org>

PR fortran/81344
* invoke.texi: Document the behavior of repeated -ffpe-trap
and -ffpe-summary.

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

6 years ago2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 2 Feb 2019 16:21:43 +0000 (16:21 +0000)] 
2019-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/88298
* arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
* gfortran.h (gfc_expr): Add flag do_not_warn.
* intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
no warning is desired.

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

PR fortran/88298
* gfortran.dg/warn_conversion_10.f90: New test.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:23:30 +0000 (09:23 +0000)] 
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/88393
* trans-expr.c (gfc_conv_procedure_call): For derived entities,
passed in parentheses to class formals, invert the order of
copying allocatable components to taking the _data of the
class expression.

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

PR fortran/88393
* gfortran.dg/alloc_comp_assign_16.f03 : New test.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:16:44 +0000 (09:16 +0000)] 
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/88980
* trans-array.c (gfc_array_init_size): Add element_size to the
arguments.
(gfc_array_allocate): Remove the recalculation of the size of
the element and use element_size from the call to the above.
Unconditionally set the span field of the descriptor.

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

PR fortran/88980
* gfortran.dg/realloc_on_assign_32.f90 : New test.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:10:58 +0000 (09:10 +0000)] 
2019-02-02  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/88685
* expr.c (is_subref_array): Move the check for class pointer
dummy arrays to after the reference check. If we haven't seen
an array reference other than an element and a component is not
class or derived, return false.

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

PR fortran/88685
* gfortran.dg/pointer_array_component_3.f90 : New test.

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

6 years ago PR c++/88761 - ICE with reference capture of constant.
jason [Sat, 2 Feb 2019 04:21:06 +0000 (04:21 +0000)] 
PR c++/88761 - ICE with reference capture of constant.

Here, we capture nf, then the use of the proxy decays to a constant during
semantic processing of +nf.  Since we saw some decay from proxy to constant,
we walk through the lambda body to see which proxies are still used, but we
weren't walking into subtrees of DECL_EXPR at all, so we missed the use of
&nf in the initializer of y, and removed the capture.  But then at
instantiation time we try to use nf, don't have a proxy anymore, and ICE.

* lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for
non-proxy decls.

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

6 years ago * nsdmi-template14.C: Expect error for last example.
jason [Sat, 2 Feb 2019 04:19:00 +0000 (04:19 +0000)] 
* nsdmi-template14.C: Expect error for last example.

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

6 years agoDaily bump.
gccadmin [Sat, 2 Feb 2019 00:16:12 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago PR middle-end/87887
jakub [Sat, 2 Feb 2019 00:04:39 +0000 (00:04 +0000)] 
PR middle-end/87887
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Punt with warning on aggregate return or argument types.  Ignore
type/mode checking for uniform arguments.

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

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

6 years ago runtime: add hurd netpoll and semaphore support
ian [Fri, 1 Feb 2019 23:57:08 +0000 (23:57 +0000)] 
runtime: add hurd netpoll and semaphore support

    Patch by Svante Signell.

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

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

6 years agoRegenerate .pot files.
jsm28 [Fri, 1 Feb 2019 23:04:22 +0000 (23:04 +0000)] 
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

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

6 years ago runtime: add getproccount for hurd
ian [Fri, 1 Feb 2019 22:55:55 +0000 (22:55 +0000)] 
runtime: add getproccount for hurd

    Patch by Svante Signell.

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

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

6 years ago PR fortran/83246
jakub [Fri, 1 Feb 2019 22:54:05 +0000 (22:54 +0000)] 
PR fortran/83246
PR fortran/89084
* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
if sym->ns->construct_entities rather than if
sym->ns->parent->code->op == EXEC_BLOCK.

* gfortran.dg/pr89084.f90: New test.
* gfortran.dg/lto/pr89084_0.f90: New test.
* gfortran.dg/pr83246.f90: New test.

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

6 years ago libgo: add configury and sysinfo support for hurd
ian [Fri, 1 Feb 2019 22:46:39 +0000 (22:46 +0000)] 
libgo: add configury and sysinfo support for hurd

    Patch by Svante Signell.

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

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

6 years ago libgo: add hurd build tags to test files
ian [Fri, 1 Feb 2019 22:11:50 +0000 (22:11 +0000)] 
libgo: add hurd build tags to test files

    Patch by Svante Signell.

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

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

6 years ago libgo: add hurd build tags
ian [Fri, 1 Feb 2019 21:57:36 +0000 (21:57 +0000)] 
libgo: add hurd build tags

    Patch by Svante Signell.

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

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

6 years ago runtime, sync: use __atomic intrinsics instead of __sync
ian [Fri, 1 Feb 2019 21:55:38 +0000 (21:55 +0000)] 
runtime, sync: use __atomic intrinsics instead of __sync

    GCC has supported the __atomic intrinsics since 4.7.  They are better
    than the __sync intrinsics in that they specify a memory model and,
    more importantly for our purposes, they are reliably implemented
    either in the compiler or in libatomic.

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

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

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

6 years ago PR c++/88325 - ICE with invalid out-of-line template member definition.
mpolacek [Fri, 1 Feb 2019 19:58:44 +0000 (19:58 +0000)] 
PR c++/88325 - ICE with invalid out-of-line template member definition.
* parser.c (cp_parser_class_name): Don't call make_typename_type
for overloads.

* g++.dg/cpp2a/typename14.C: New test.

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

6 years agocombine: Use TDF_DETAILS for "can't combine" dump prints
segher [Fri, 1 Feb 2019 16:26:48 +0000 (16:26 +0000)] 
combine: Use TDF_DETAILS for "can't combine" dump prints

Some people use the -fdump-rtl-combine dumps (instead of the -da or
-fdump-rtl-combine-all dump), but the "Can't combine iN into iM"
messages do not make any sense if the failed combine attempts are not
printed otherwise.  So let's change that.

* combine.c (try_combine): Do not print "Can't combine" messages unless
printing failed combination attempts.

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

6 years ago[PR hsa/87863] Set assembler name of group and global variables early
jamborm [Fri, 1 Feb 2019 16:22:13 +0000 (16:22 +0000)] 
[PR hsa/87863] Set assembler name of group and global variables early

2019-02-01  Martin Jambor  <mjambor@suse.cz>

PR hsa/87863
* omp-grid.c (grid_mark_variable_segment): Set assembler name of group
segment and global segment variables before making them static.

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