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

6 years agoAdd two missing dump_enabled_p calls
jamborm [Fri, 1 Feb 2019 16:15:36 +0000 (16:15 +0000)] 
Add two missing dump_enabled_p calls

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

* omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
missed optimization dump with dump_enabled_p.

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

6 years ago compiler: support alias to pointer type as receiver in method declaration
ian [Fri, 1 Feb 2019 15:00:46 +0000 (15:00 +0000)] 
compiler: support alias to pointer type as receiver in method declaration

    Fixes golang/go#27994.

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

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 13:41:43 +0000 (13:41 +0000)] 
2019-02-01  Richard Biener  <rguenther@suse.de>

PR middle-end/88597
* tree-scalar-evolution.c (analyze_scalar_evolution): Set up
the instantiate cache.
(instantiate_scev_binary): Elide second operand procesing
if equal to the first.
* tree-chrec.c (chrec_contains_symbols): Add visited set.
(chrec_contains_undetermined): Likewise.
(tree_contains_chrecs): Likewise.

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

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

6 years ago * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
hubicka [Fri, 1 Feb 2019 10:46:36 +0000 (10:46 +0000)] 
* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 09:17:14 +0000 (09:17 +0000)] 
2019-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/85497
* gcc.dg/graphite/pr85497.c: New testcase.

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 09:08:55 +0000 (09:08 +0000)] 
2019-02-01  Richard Biener  <rguenther@suse.de>

PR testsuite/87451
* gcc.dg/debug/dwarf2/inline5.c: Allow more comment variants.

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

6 years ago PR tree-optimization/89143
jakub [Fri, 1 Feb 2019 08:44:23 +0000 (08:44 +0000)] 
PR tree-optimization/89143
* wide-int-range.h (wide_int_range_absu): Declare.
* wide-int-range.cc (wide_int_range_absu): New function.
* tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.

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

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

6 years ago PR tree-optimization/88107
jakub [Fri, 1 Feb 2019 08:43:02 +0000 (08:43 +0000)] 
PR tree-optimization/88107
* tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
instead of assertion that eh_region_outermost is non-NULL, if it
is NULL, set *ALL to true and return NULL.
(move_sese_region_to_fn): Adjust caller, if all is set, call
duplicate_eh_regions with NULL region.

* gcc.dg/gomp/pr88107.c: New test.

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

6 years ago PR c++/87175
jakub [Fri, 1 Feb 2019 08:42:01 +0000 (08:42 +0000)] 
PR c++/87175
* parser.c (cp_parser_gnu_attributes_opt): Set ok to false
if require_open failed.

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

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

6 years ago2019-02-01 Richard Biener <rguenth@suse.de>
rguenth [Fri, 1 Feb 2019 08:07:35 +0000 (08:07 +0000)] 
2019-02-01  Richard Biener  <rguenth@suse.de>

PR rtl-optimization/88593
* mode-switching.c (optimize_mode_switching): Free dominators before
calling cleanup_cfg.

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

6 years ago PR tree-optimization/88932
amker [Fri, 1 Feb 2019 02:39:52 +0000 (02:39 +0000)] 
PR tree-optimization/88932
* tree-predcom.c (try_combine_chains): Get loop bbs in dom order.

gcc/testsuite
* gfortran.dg/pr88932.f90: New test.

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

6 years ago PR c++/88983 - ICE with switch in constexpr function.
mpolacek [Fri, 1 Feb 2019 00:30:46 +0000 (00:30 +0000)] 
PR c++/88983 - ICE with switch in constexpr function.
* constexpr.c (cxx_eval_switch_expr): Use SWITCH_COND and SWITCH_BODY.
(cxx_eval_constant_expression) <case COND_EXPR>: Don't look for the
label in the else branch if we found it in the then branch.

* g++.dg/cpp1y/constexpr-88983.C: New test.

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

6 years agoDaily bump.
gccadmin [Fri, 1 Feb 2019 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago PR middle-end/89137
jakub [Thu, 31 Jan 2019 23:05:01 +0000 (23:05 +0000)] 
PR middle-end/89137
* omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
bogus clang warning.

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

6 years ago * libgfortran/ChangeLog: Better commit message for my last commit.
uros [Thu, 31 Jan 2019 22:59:36 +0000 (22:59 +0000)] 
* libgfortran/ChangeLog: Better commit message for my last commit.

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

6 years ago2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 31 Jan 2019 22:21:28 +0000 (22:21 +0000)] 
2019-01-31  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/88669
* resolve.c (resolve_component): If the reference is a BT_CLASS,
copy the contiguous attribute from the reference and use the
correct attributes.

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

PR fortran/88669
* gfortran.dg/contiguous_9.f90: New test.

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

6 years ago * config/alpha/t-linux: Add -mfp-rounding-mode=d
uros [Thu, 31 Jan 2019 20:49:02 +0000 (20:49 +0000)] 
* config/alpha/t-linux: Add -mfp-rounding-mode=d
to HOST_LIBGCC2_CFLAGS.

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

6 years ago PR c++/89083, c++/80864 - ICE with list initialization in template.
mpolacek [Thu, 31 Jan 2019 20:21:11 +0000 (20:21 +0000)] 
PR c++/89083, c++/80864 - ICE with list initialization in template.
* constexpr.c (adjust_temp_type): Use copy_node and change the type
instead of using build_constructor.
* decl.c (reshape_init_r): Don't reshape a digested initializer.
Return the initializer for COMPOUND_LITERAL_P.

* g++.dg/cpp0x/initlist107.C: New test.
* g++.dg/cpp0x/initlist108.C: New test.
* g++.dg/cpp0x/initlist109.C: New test.
* g++.dg/cpp0x/initlist110.C: New test.
* g++.dg/cpp0x/initlist111.C: New test.
* g++.dg/cpp0x/initlist112.C: New test.
* g++.dg/init/ptrfn4.C: New test.

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

6 years ago PR target/89071
uros [Thu, 31 Jan 2019 20:06:42 +0000 (20:06 +0000)] 
PR target/89071
* config/i386/i386.md (*extendsfdf2): Split out reg->reg
alternative to avoid partial SSE register stall for TARGET_AVX.
(truncdfsf2): Ditto.
(sse4_1_round<mode>2): Ditto.

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

6 years agoFix bogus fix-it for FLT_MAX (PR c/89122)
dmalcolm [Thu, 31 Jan 2019 18:09:29 +0000 (18:09 +0000)] 
Fix bogus fix-it for FLT_MAX (PR c/89122)

PR c/89122 reports that we emit a bogus fix-it hint for the case where
the code uses FLT_MAX, but has included <limits.h> rather than <float.h>:

x.c:3:11: error: 'FLT_MAX' undeclared here (not in a function); did you
  mean 'INT_MAX'?
    3 | float f = FLT_MAX;
      |           ^~~~~~~
      |           INT_MAX

This patch adds some knowledge of <float.h> (and <cfloat>) to
known-headers.cc, fixing the issue:

x.c:3:11: error: 'FLT_MAX' undeclared here (not in a function)
    3 | float f = FLT_MAX;
      |           ^~~~~~~
x.c:2:1: note: 'FLT_MAX' is defined in header '<float.h>'; did you forget
  to '#include <float.h>'?
    1 | #include <limits.h>
  +++ |+#include <float.h>
    2 |

gcc/c-family/ChangeLog:
PR c/89122
* known-headers.cc (get_stdlib_header_for_name): Add
{FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.

gcc/testsuite/ChangeLog:
PR c/89122
* g++.dg/spellcheck-stdlib.C (test_FLT_MAX): New test.
* gcc.dg/spellcheck-stdlib.c (test_FLT_MAX): New test.

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

6 years ago PR c++/88752 - ICE with lambda and constexpr if.
jason [Thu, 31 Jan 2019 15:03:21 +0000 (15:03 +0000)] 
PR c++/88752 - ICE with lambda and constexpr if.

In this testcase, we look for an instantiation of the outer lambda from
within the inner lambda.  enclosing_instantiation_of didn't handle this
properly, as it assumed that any references would be from the same lambda
nesting depth.  Fixed thus.

* cp-tree.h (LAMBDA_EXPR_INSTANTIATED): New.
* pt.c (tsubst_lambda_expr): Set it.
(instantiated_lambda_fn_p): Check it.
(enclosing_instantiation_of): Use it.

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

6 years ago2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Thu, 31 Jan 2019 13:53:06 +0000 (13:53 +0000)] 
2018-01-31  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/89008
* gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
process anything of the form X * 0.

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

6 years ago[libbacktrace] Fix .gnu_debugaltlink build-id check
vries [Thu, 31 Jan 2019 12:17:32 +0000 (12:17 +0000)] 
[libbacktrace] Fix .gnu_debugaltlink build-id check

The 'debugaltlink_name_len =+ 1' bug reported in PR89136 exposes the fact that
the build-id is not verified for the .gnu_debugaltlink.

Fix both problems.

2019-01-31  Tom de Vries  <tdevries@suse.de>

PR libbacktrace/89136
* elf.c (elf_add): Read build-id if with_buildid_data.  Fix
'debugaltlink_name_len =+ 1'.

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