]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years ago[nvptx] Eliminate PTX_VECTOR_LENGTH
vries [Mon, 7 Jan 2019 08:10:08 +0000 (08:10 +0000)] 
[nvptx] Eliminate PTX_VECTOR_LENGTH

Remove PTX_VECTOR_LENGTH and replace uses of it with PTX_DEFAULT_VECTOR_LENGTH,
PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE.

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

* config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
(PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
(nvptx_goacc_validate_dims_1, nvptx_dim_limit)
(nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.

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

6 years ago[nvptx] Add asserts in nvptx_goacc_validate_dims
vries [Mon, 7 Jan 2019 08:09:58 +0000 (08:09 +0000)] 
[nvptx] Add asserts in nvptx_goacc_validate_dims

Add a few asserts to nvptx_goacc_validate_dims.

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

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.

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

6 years ago[nvptx] Fix libgomp.oacc-c-c++-common/vector-length-128-3.c
vries [Mon, 7 Jan 2019 08:09:49 +0000 (08:09 +0000)] 
[nvptx] Fix libgomp.oacc-c-c++-common/vector-length-128-3.c

The vector-length-128-3.c test-case uses GOMP_OPENACC_DIM=-:-:128, but '-' is
not yet supported on trunk.  Use GOMP_OPENACC_DIM=::128 instead.

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

* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
GOMP_OPENACC_DIM argument.

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

6 years ago[openacc] Add oacc_get_min_dim
vries [Mon, 7 Jan 2019 08:09:40 +0000 (08:09 +0000)] 
[openacc] Add oacc_get_min_dim

Expose oacc_min_dims to backends.

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

* omp-offload.c (oacc_get_min_dim): New function.
* omp-offload.h (oacc_get_min_dim): Declare.

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

6 years agoPR target/88521
marxin [Mon, 7 Jan 2019 07:31:19 +0000 (07:31 +0000)] 
PR target/88521
* config/i386/i386.c (function_value_ms_64): Return small sturct in
AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.

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

6 years agoMake GFORTRAN_9 symbol node depend on GFORTRAN_8.
jb [Mon, 7 Jan 2019 06:40:37 +0000 (06:40 +0000)] 
Make GFORTRAN_9 symbol node depend on GFORTRAN_8.

At some point when the GFORTRAN_9 node was added it was forgotten to
make it depend on GFORTRAN_8. This patch fixes this.

Committed as obvious.

2019-01-07  Janne Blomqvist  <jb@gcc.gnu.org>

       * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
       GFORTRAN_8.

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

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

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

6 years agoPR libstdc++/86756 Move rest of std::filesystem to libstdc++.so
redi [Sun, 6 Jan 2019 22:34:37 +0000 (22:34 +0000)] 
PR libstdc++/86756 Move rest of std::filesystem to libstdc++.so

Move std::filesystem directory iterators and operations from
libstdc++fs.a to main libstdc++ library. These components have many
dependencies on OS support, which is not available on all targets. Some
additional autoconf checks and conditional compilation is needed to
ensure the files will build for all targets. Previously this code was
not compiled without --enable-libstdcxx-filesystem-ts but the C++17
components should be available for all hosted builds.

The tests for these components no longer need to link to libstdc++fs.a,
but are not expected to pass on all targets. To avoid numerous failures
on targets which are not expected to pass the tests (due to missing OS
functionality) leave the dg-require-filesystem-ts directives in place
for now. This will ensure the tests only run for builds where the
filesystem-ts library is built, which presumably means some level of OS
support is present.

PR libstdc++/86756
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for utime and
lstat and define _GLIBCXX_USE_UTIME and _GLIBCXX_USE_LSTAT.
* config.h.in: Regenerate.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export symbols for
remaining std::filesystem types and functions.
* configure: Regenerate.
* src/c++17/Makefile.am: Add C++17 filesystem sources.
* src/c++17/Makefile.in: Regenerate.
* src/c++17/cow-fs_dir.cc: Move src/filesystem/cow-std-dir.cc to
here, and change name of included file.
* src/c++17/cow-fs_ops.cc: Move src/filesystem/cow-std-ops.cc to
here, and change name of included file.
* src/c++17/fs_dir.cc: Move src/filesystem/std-dir.cc to here. Change
path to dir-common.h.
* src/c++17/fs_ops.cc: Move src/filesystem/std-ops.cc to here. Change
path to ops-common.h. Disable -Wunused-parameter warnings.
(internal_file_clock): Define unconditionally.
[!_GLIBCXX_HAVE_SYS_STAT_H] (internal_file_clock::from_stat): Do not
define.
(do_copy_file, do_space): Move definitions to ops.common.h.
(copy, file_size, hard_link_count, last_write_time, space): Only
perform operation when _GLIBCXX_HAVE_SYS_STAT_H is defined, otherwise
report an error.
(last_write_time, read_symlink): Remove unused attributes from
parameters.
* src/filesystem/Makefile.am: Remove C++17 filesystem sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-std-dir.cc: Move to src/c++17/cow-fs_dir.cc.
* src/filesystem/cow-std-ops.cc: Move to src/c++17/cow-fs_ops.cc.
* src/filesystem/std-dir.cc: Move to src/c++17/fs_dir.cc.
* src/filesystem/std-ops.cc: Move to src/c++17/fs_ops.cc.
* src/filesystem/dir-common.h [!_GLIBCXX_HAVE_DIRENT_H]: Define
dummy types and functions instead of using #error.
* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H]: Use #error.
* src/filesystem/ops-common.h [!_GLIBCXX_USE_LSTAT] (lstat): Define
in terms of stat.
[!_GLIBCXX_HAVE_UNISTD_H]: Define dummy types and functions.
(do_copy_file, do_space): Move definitions here from std-ops.cc.
* src/filesystem/ops.cc: Adjust calls to do_copy_file and do_space
to account for new namespace.
* testsuite/27_io/filesystem/directory_entry/86597.cc: Remove
-lstdc++fs from dg-options.
* testsuite/27_io/filesystem/directory_entry/lwg3171.cc: Likewise.
* testsuite/27_io/filesystem/file_status/1.cc: Likewise.
* testsuite/27_io/filesystem/filesystem_error/cons.cc: Likewise.
* testsuite/27_io/filesystem/filesystem_error/copy.cc: Likewise.
* testsuite/27_io/filesystem/iterators/directory_iterator.cc:
Likewise.
* testsuite/27_io/filesystem/iterators/pop.cc: Likewise.
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
Likewise.
* testsuite/27_io/filesystem/operations/absolute.cc: Likewise.
* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
* testsuite/27_io/filesystem/operations/copy.cc: Likewise.
* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
* testsuite/27_io/filesystem/operations/create_directories.cc:
Likewise.
* testsuite/27_io/filesystem/operations/create_directory.cc: Likewise.
* testsuite/27_io/filesystem/operations/create_symlink.cc: Likewise.
* testsuite/27_io/filesystem/operations/current_path.cc: Likewise.
* testsuite/27_io/filesystem/operations/equivalent.cc: Likewise.
* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
* testsuite/27_io/filesystem/operations/file_size.cc: Likewise.
* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
* testsuite/27_io/filesystem/operations/last_write_time.cc: Likewise.
* testsuite/27_io/filesystem/operations/permissions.cc: Likewise.
* testsuite/27_io/filesystem/operations/proximate.cc: Likewise.
* testsuite/27_io/filesystem/operations/read_symlink.cc: Likewise.
* testsuite/27_io/filesystem/operations/relative.cc: Likewise.
* testsuite/27_io/filesystem/operations/remove.cc: Likewise.
* testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
* testsuite/27_io/filesystem/operations/space.cc: Likewise.
* testsuite/27_io/filesystem/operations/status.cc: Likewise.
* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/27_io/filesystem/operations/weakly_canonical.cc: Likewise.

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

6 years agoPR libstdc++/86756 add std::filesystem::path to libstdc++.so
redi [Sun, 6 Jan 2019 22:34:29 +0000 (22:34 +0000)] 
PR libstdc++/86756 add std::filesystem::path to libstdc++.so

Move the C++17 std::filesystem::path definitions from the libstdc++fs.a
archive to the main libstdc++ library. The path classes do not depend on
any OS functions, so can be defined unconditionally on all targets
(rather than depending on --enable-libstdcxx-filesystem-ts). The tests
should pass on all targets too.

PR libstdc++/86756
* config/abi/pre/gnu.ver (GLIBCXX_3.4): Make various patterns for
typeinfo and vtables less greedy.
(GLIBCXX_3.4.26): Export symbols for std::filesystem::path.
* src/c++17/Makefile.am: Add fs_path.cc and cow-fs_path.cc.
* src/c++17/Makefile.in: Regenerate.
* src/c++17/cow-fs_path.cc: Move src/filesystem/cow-std-path.cc to
here, and change name of included file.
* src/c++17/fs_path.cc: Move src/filesystem/std-path.cc to here.
* src/filesystem/Makefile.am: Remove std-path.cc and cow-std-path.cc
from sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-std-path.cc: Move to src/c++17/cow-fs_path.cc.
* src/filesystem/std-path.cc: Move to src/c++17/fs_path.cc.
* testsuite/27_io/filesystem/path/append/path.cc: Remove -lstdc++fs
from dg-options and remove dg-require-filesystem-ts.
* testsuite/27_io/filesystem/path/append/source.cc: Likewise.
* testsuite/27_io/filesystem/path/assign/assign.cc: Likewise.
* testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
* testsuite/27_io/filesystem/path/compare/compare.cc: Likewise.
* testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
* testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
* testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
* testsuite/27_io/filesystem/path/concat/path.cc: Likewise.
* testsuite/27_io/filesystem/path/concat/strings.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/80762.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/copy.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/default.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/format.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/locale.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/range.cc: Likewise.
* testsuite/27_io/filesystem/path/construct/string_view.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/extension.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/filename.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/parent_path.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/relative_path.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/root_directory.cc:
Likewise.
* testsuite/27_io/filesystem/path/decompose/root_name.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/root_path.cc: Likewise.
* testsuite/27_io/filesystem/path/decompose/stem.cc: Likewise.
* testsuite/27_io/filesystem/path/generation/normal.cc: Likewise.
* testsuite/27_io/filesystem/path/generation/normal2.cc: Likewise.
* testsuite/27_io/filesystem/path/generation/proximate.cc: Likewise.
* testsuite/27_io/filesystem/path/generation/relative.cc: Likewise.
* testsuite/27_io/filesystem/path/generic/generic_string.cc: Likewise.
* testsuite/27_io/filesystem/path/itr/components.cc: Likewise.
* testsuite/27_io/filesystem/path/itr/traversal.cc: Likewise.
* testsuite/27_io/filesystem/path/modifiers/clear.cc: Likewise.
* testsuite/27_io/filesystem/path/modifiers/make_preferred.cc:
Likewise.
* testsuite/27_io/filesystem/path/modifiers/remove_filename.cc:
Likewise.
* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
Likewise.
* testsuite/27_io/filesystem/path/modifiers/replace_filename.cc:
Likewise.
* testsuite/27_io/filesystem/path/modifiers/swap.cc: Likewise.
* testsuite/27_io/filesystem/path/native/string.cc: Likewise.
* testsuite/27_io/filesystem/path/nonmember/append.cc: Likewise.
* testsuite/27_io/filesystem/path/nonmember/hash_value.cc: Likewise.
* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_relative_path.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
Likewise.
* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
* testsuite/27_io/filesystem/path/query/is_absolute.cc: Likewise.
* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.

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

6 years agoPR libstdc++/87431 fix regression introduced by r264574
redi [Sun, 6 Jan 2019 20:52:34 +0000 (20:52 +0000)] 
PR libstdc++/87431 fix regression introduced by r264574

The previous patch for PR 87431 assumed that initialing a scalar type
could not throw, but it can obtain its value via a conversion operator,
which could throw. This meant the variant could get into a valueless
state, but the valueless_by_exception() member function would always
return false.

This patch fixes it by changing the emplace members to have strong
exception safety when initializing a contained value of trivially
copyable type. The _M_valid() member gets a corresponding change to
always return true for trivially copyable types, not just scalar types.

Strong exception safety (i.e. never becoming valueless) is achieved by
only replacing the current contained value once any potentially throwing
operations have completed. If constructing the new contained value can
throw then a new std::variant object is constructed to hold it, and then
move-assigned to *this (which won't throw).

PR libstdc++/87431
* include/std/variant (_Variant_storage<true, _Types...>::_M_valid):
Check is_trivially_copyable instead of is_scalar.
(variant::emplace<N, Args>(Args&&...)): If construction of the new
contained value can throw and its type is trivially copyable then
construct into a temporary variant and move from it, to provide the
strong exception safety guarantee.
(variant::emplace<N, U, Args>(initializer_list<U>, Args&&...)):
Likewise.
* testsuite/20_util/variant/87431.cc: New test.
* testsuite/20_util/variant/run.cc: Adjust test so that throwing
conversion causes valueless state.

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

6 years ago PR tree-opt/86020
hubicka [Sun, 6 Jan 2019 17:16:00 +0000 (17:16 +0000)] 
PR tree-opt/86020
Revert:
2017-05-22  Jan Hubicka  <hubicka@ucw.cz>

        * ipa-inline.c (edge_badness): Use inlined_time instead of
        inline_summaries->get.

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

6 years ago * opts.c (enable_fdo_optimizations): Enable
hubicka [Sun, 6 Jan 2019 16:44:51 +0000 (16:44 +0000)] 
* opts.c (enable_fdo_optimizations): Enable
version-loops-for-strides, loop-interchange, unrol-and-jam
and tree-loop-distribution.
* invoke.texi: Document newly enabled options.

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

6 years ago2019-01-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 6 Jan 2019 12:48:58 +0000 (12:48 +0000)] 
2019-01-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/88658
* gfortran.h: Add macro gfc_real_4_kind
* simplify.c (simplify_min_max): Special case for the types of
AMAX0, AMIN0, MAX1 and MIN1, which actually change the types of
their arguments.

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

PR fortran/88658
* gfortran.dg/min_max_type_2.f90: New test.

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

6 years ago PR c/88363
jakub [Sun, 6 Jan 2019 10:25:46 +0000 (10:25 +0000)] 
PR c/88363
* c-c++-common/attributes-4.c (falloc_align_int128,
falloc_size_int128): Guard with #ifdef __SIZEOF_INT128__.

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

6 years agoPR libstdc++/88607 add tests using -finput-charset=ascii
redi [Sun, 6 Jan 2019 00:49:11 +0000 (00:49 +0000)] 
PR libstdc++/88607 add tests using -finput-charset=ascii

This verifies that the <bits/extc++.h> header can be compiled with ASCII
as the input character set.

PR libstdc++/88607
* testsuite/17_intro/headers/c++1998/charset.cc: New test.
* testsuite/17_intro/headers/c++2011/charset.cc: New test.
* testsuite/17_intro/headers/c++2014/charset.cc: New test.
* testsuite/17_intro/headers/c++2017/charset.cc: New test.
* testsuite/17_intro/headers/c++2020/charset.cc: New test.

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

6 years agoDaily bump.
gccadmin [Sun, 6 Jan 2019 00:16:36 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * doc/invoke.texi (max-inline-insns-small): New parameters.
hubicka [Sat, 5 Jan 2019 22:47:24 +0000 (22:47 +0000)] 
* doc/invoke.texi (max-inline-insns-small): New parameters.
* ipa-inline.c (want_early_inline_function_p): simplify.
(want_inline_small_function_p): Fix pasto from previous patch;
use max-inline-insns-small bound.
* params.def (max-inline-insns-small): New param.
* ipa-fnsummary.c (analyze_function_body): Initialize time/size
variables correctly.

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

6 years agoDefine new filesystem::__file_clock type
redi [Sat, 5 Jan 2019 20:03:22 +0000 (20:03 +0000)] 
Define new filesystem::__file_clock type

In C++17 the clock used for filesystem::file_time_type is unspecified,
allowing it to be chrono::system_clock. The C++2a draft requires it to
be a distinct type, with additional member functions to convert to/from
other clocks (either the system clock or UTC). In order to avoid an ABI
change later, this patch defines a new distinct type now, which will be
used for std::chrono::file_clock later.

* include/bits/fs_fwd.h (__file_clock): Define new clock.
(file_time_type): Redefine in terms of __file_clock.
* src/filesystem/ops-common.h (file_time): Add FIXME comment about
overflow.
* src/filesystem/std-ops.cc (is_set(perm_options, perm_options)): Give
internal linkage.
(internal_file_lock): New helper type for accessing __file_clock.
(do_copy_file): Use internal_file_lock to convert system time to
file_time_type.
(last_write_time(const path&, error_code&)): Likewise.
(last_write_time(const path&, file_time_type, error_code&)): Likewise.

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

6 years ago * doc/invoke.texi: Document max-inline-insns-size,
hubicka [Sat, 5 Jan 2019 18:16:55 +0000 (18:16 +0000)] 
* doc/invoke.texi: Document max-inline-insns-size,
uninlined-function-insns, uninlined-function-time,
uninlined-thunk-insns and uninlined-thunk-time.
* params.def: Add max-inline-insns-size,
uninlined-function-insns, uninlined-function-time,
uninlined-thunk-insns and uninlined-thunk-time.
* ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
new parameters.
* ipa-inline.c (can_inline_edge_by_limits_p,
want_inline_small_function_p): Use new parameters.

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

6 years ago * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
hubicka [Sat, 5 Jan 2019 17:47:34 +0000 (17:47 +0000)] 
* ipa-fnsummary.c (analyze_function_body): Fix accounting of time.

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

6 years ago2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sat, 5 Jan 2019 17:18:00 +0000 (17:18 +0000)] 
2019-01-05  Dominique d'Humieres  <dominiq@gcc.gnu.org>

* gcc.dg/plugin/plugindir1.c: Adjust dg-prune-output for Darwin.
* gcc.dg/plugin/plugindir2.c: Likewise.
* gcc.dg/plugin/plugindir3.c: Likewise.
* gcc.dg/plugin/plugindir4.c: Likewise.

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

6 years ago2019-01-05 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 5 Jan 2019 14:32:12 +0000 (14:32 +0000)] 
2019-01-05  Janus Weil  <janus@gcc.gnu.org>

PR fortran/88009
* class.c (gfc_find_derived_vtab): Mark the _final component as
artificial.
(find_intrinsic_vtab): Ditto. Also add an extra check to avoid
dereferencing a null pointer and adjust indentation.
* resolve.c (resolve_fl_variable): Add extra check to avoid
dereferencing a null pointer. Move variable declarations to local scope.
(resolve_fl_procedure): Add extra check to avoid dereferencing a null
pointer.
* symbol.c (check_conflict): Suppress errors for artificial symbols.

2019-01-05  Janus Weil  <janus@gcc.gnu.org>

PR fortran/88009
* gfortran.dg/blockdata_10.f90: New test case.

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

6 years ago PR middle-end/82564
jakub [Sat, 5 Jan 2019 11:14:12 +0000 (11:14 +0000)] 
PR middle-end/82564
PR target/88620
* expr.c (expand_assignment): For calls returning VLA structures
if to_rtx is not a MEM, force it into a stack temporary.

* gcc.dg/nested-func-12.c: New test.
* gcc.c-torture/compile/pr82564.c: New test.

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

6 years ago PR debug/88635
jakub [Sat, 5 Jan 2019 11:12:35 +0000 (11:12 +0000)] 
PR debug/88635
* dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
subexpressions of both operands.
(mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
subrtxes are CONSTANT_P.
* config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
2018-11-09 changes.

* gcc.dg/debug/dwarf2/pr88635.c: New test.

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

6 years ago2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sat, 5 Jan 2019 11:09:11 +0000 (11:09 +0000)] 
2019-01-05  Dominique d'Humieres  <dominiq@gcc.gnu.org>

PR target/60563
Missing PR entry in the previous commit.

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

6 years ago2019-01-05 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sat, 5 Jan 2019 10:54:51 +0000 (10:54 +0000)] 
2019-01-05  Dominique d'Humieres  <dominiq@gcc.gnu.org>

* g++.dg/ext/sync-4.C: Add dg-xfail-run-if for darwin.

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

6 years agoPR c/88546 - Copy attribute unusable for weakrefs
msebor [Sat, 5 Jan 2019 00:57:30 +0000 (00:57 +0000)] 
PR c/88546 - Copy attribute unusable for weakrefs

gcc/c-family/ChangeLog:

PR c/88546
* c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
Handle C++ empty throw specification and C11 _Noreturn.
(has_attribute): Also handle C11 _Noreturn.

gcc/ChangeLog:

PR c/88546
* attribs.c (decls_mismatched_attributes): Avoid warning for attribute
leaf.

gcc/testsuite/ChangeLog:

PR c/88546
* g++.dg/ext/attr-copy.C: New test.
* gcc.dg/attr-copy-4.c: Disable macro expansion tracking.
* gcc.dg/attr-copy-6.c: New test.
* gcc.dg/attr-copy-7.c: New test.

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

6 years ago runtime: prevent deadlock when profiling signal arrives during traceback
ian [Sat, 5 Jan 2019 00:40:04 +0000 (00:40 +0000)] 
runtime: prevent deadlock when profiling signal arrives during traceback

    Traceback routines, e.g. callers and funcentry, may call
    __go_get_backtrace_state. If a profiling signal arrives while we
    are in the critical section of __go_get_backtrace_state, it tries
    to do a traceback, which also calls __go_get_backtrace_state,
    which tries to enter the same critical section and will deadlock.
    Prevent this deadlock by setting up runtime_in_callers before
    calling __go_get_backtrace_state.

    Found while investigating golang/go#29448. Will add a test in the
    next CL.

    Updates golang/go#29448.

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

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

6 years ago * params.def (hot-bb-count-ws-permille): Set to 990.
hubicka [Sat, 5 Jan 2019 00:20:04 +0000 (00:20 +0000)] 
* params.def (hot-bb-count-ws-permille): Set to 990.

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

6 years agoDaily bump.
gccadmin [Sat, 5 Jan 2019 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

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

6 years agoExport explicit instantiations for C++17 members of std::string
redi [Fri, 4 Jan 2019 23:23:22 +0000 (23:23 +0000)] 
Export explicit instantiations for C++17 members of std::string

The C++17 standard added some new members to std::basic_string, which
were not previously instantiated in the library. This meant that the
extern template declarations had to be disabled for C++17 mode. With
this patch the new members are instantiated in the library and so the
explicit instantiation declarations can be used for C++17.

The new members added by C++2a are still not exported, and so the
explicit instantiation declarations are still disabled for C++2a.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make patterns less greedy
for const member functions of std::basic_string.
(GLIBCXX_3.4.26): Export member functions of std::basic_string added
in C++17.
* include/bits/basic_string.h (basic_string(__sv_wrapper, const A&)):
Make non-standard constructor private.
[!_GLIBCXX_USE_CXX11_ABI] (basic_string(__sv_wrapper, const A&)):
Likewise.
* include/bits/basic_string.tcc (std::string, std::wstring): Declare
explicit instantiations for C++17 as well as earlier dialects.
* src/c++17/Makefile.am: Add new source files.
* src/c++17/Makefile.in: Regenerate.
* src/c++17/cow-string-inst.cc: New file defining explicit
instantiations for basic_string member functions added in C++17.
* src/c++17/string-inst.cc: Likewise.

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

6 years agoAdd allocator-extended copy/move ctors to COW string
redi [Fri, 4 Jan 2019 23:23:17 +0000 (23:23 +0000)] 
Add allocator-extended copy/move ctors to COW string

Add these constructors from C++11 which were missing from the COW
basic_string. Additionally simplify the definitions of the
basic_string::reference and basic_string::const_reference types as
required by C++11.

This allows filesystem::path::string<Allocator>() to be simplified, so
that the same code is used for both basic_string implementations.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended
copy/move constructors for old std::basic_string.
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::reference, basic_string::const_reference): Define
as plain references for C++11 and later.
(basic_string::basic_string()): Put constructor body outside
preprocessor conditional groups.
(basic_string::basic_string(basic_string&&)): Move _Alloc_hider
instead of copying it.
(basic_string::basic_string(const basic_string&, const _Alloc&)):
Define.
(basic_string::basic_string(basic_string&&, const _Alloc&)):
Define.
* include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special
cases for old basic_string.
* testsuite/21_strings/basic_string/cons/char/8.cc: Test
allocator-extended constructors unconditionally. Add extra members to
allocator type when using old string ABI.
* testsuite/21_strings/basic_string/allocator/71964.cc: Enable test
for old string ABI.
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.

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

6 years agoPR c/88363 - alloc_align attribute doesn't accept enumerated arguments
msebor [Fri, 4 Jan 2019 22:48:45 +0000 (22:48 +0000)] 
PR c/88363 - alloc_align attribute doesn't accept enumerated arguments

gcc/c-family/ChangeLog:

PR c/88363
* c-attribs.c (positional_argument): Also accept enumerated types.

gcc/testsuite/ChangeLog:

PR c/88363
* c-c++-common/attributes-4.c: New test.

gcc/ChangeLog:

PR c/88363
* doc/extend.texi (attribute alloc_align, alloc_size): Update.

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

6 years agoFix test failure when -fno-inline is used
redi [Fri, 4 Jan 2019 18:56:26 +0000 (18:56 +0000)] 
Fix test failure when -fno-inline is used

This currently checks _GLIBCXX_USE_DUAL_ABI which is incorrect, as that
can be true when _GLIBCXX_USE_CXX11_ABI == 0. The correct check would be
_GLIBCXX_USE_CXX11_ABI == 1, but that's made redundant by the cxx11-abi
effective target that the test requires. However, the test will fail if
-fno-inline is used, so check __NO_INLINE__ instead.

* testsuite/23_containers/list/61347.cc: Avoid spurious failure when
-fno-inline added to test flags.

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

6 years ago * gdbinit.in: Turn off pagination for the skip commands, restore
jakub [Fri, 4 Jan 2019 17:56:47 +0000 (17:56 +0000)] 
* gdbinit.in: Turn off pagination for the skip commands, restore
it to previous state afterwards.

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

6 years ago[PATCH][GCC][Aarch64] Change expected bfxil count in gcc.target/aarch64/combine_bfxil...
samtebbs [Fri, 4 Jan 2019 16:26:38 +0000 (16:26 +0000)] 
[PATCH][GCC][Aarch64] Change expected bfxil count in gcc.target/aarch64/combine_bfxil.c to 18 (PR/87763)

gcc/testsuite/Changelog:

2019-01-04  Sam Tebbs  <sam.tebbs@arm.com>

PR gcc/87763
* gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
count to 18.

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

6 years agoRemove XFAIL from test that no longer fails
redi [Fri, 4 Jan 2019 16:07:06 +0000 (16:07 +0000)] 
Remove XFAIL from test that no longer fails

This test started passing with the old ABI with r263808, so doesn't need
to be marked XFAIL now.

* testsuite/21_strings/basic_string/requirements/
explicit_instantiation/debug.cc: Remove XFAIL for old ABI.

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

6 years agoFix test failure with old Copy-On-Write std::string
redi [Fri, 4 Jan 2019 15:42:33 +0000 (15:42 +0000)] 
Fix test failure with old Copy-On-Write std::string

* testsuite/27_io/filesystem/filesystem_error/copy.cc: Fix static
assertion failures with old std::string ABI.

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

6 years agoFix bugs in filesystem::path::lexically_normal()
redi [Fri, 4 Jan 2019 14:03:59 +0000 (14:03 +0000)] 
Fix bugs in filesystem::path::lexically_normal()

Using path::_List::erase(const_iterator) to remove a non-final component
in path::lexically_normal() is a bug, because it leaves the following
component with an incorrect _M_pos value.

Instead of providing erase members that allow removing components from
the middle, replace them with pop_back() and
_M_erase_from(const_iterator) which only allow removing elements at the
end. Most uses of erase are unaffected, because they only remove
elements from the end anyway. The one use of erasure from the middle in
lexically_normal() is replaced by calls to pop_back() and/or clearing
the last component to leave it as an empty final filename.

Also replace the "???" comment in lexically_normal() to document when
that branch is taken.

* include/bits/fs_path.h (path::_List::erase): Replace both overloads
with ...
(path::pop_back(), path::_M_erase_from(const_iterator)): New member
functions that will only erase elements at the end.
* src/filesystem/std-path.cc (path::_List::_Impl::pop_back()): Define.
(path::_List::_Impl::_M_erase_from(const_iterator)): Define.
(path::_List::operator=(const _List&)): Use _M_erase_from(p) instead
of erase(p, end()).
(path::_List::pop_back()): Define.
(path::_List::_M_erase_from(const_iterator)): Define.
(path::operator/=(const path&)): Use pop_back to remove last component
and _M_erase_from to remove multiple components.
(path::_M_append(basic_string_view<value_type>)): Likewise.
(path::operator+=(const path&)): Likewise.
(path::_M_concat(basic_string_view<value_type>)): Likewise.
(path::remove_filename()): Likewise.
(path::lexically_normal()): Use _List::_Impl iterators instead of
path::iterator. Use pop_back to remove components from the end. Clear
trailing filename, instead of using erase(const_iterator) to remove
a non-final component.
* testsuite/27_io/filesystem/path/generation/normal.cc: Test
additional cases.
* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.

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

6 years ago * gnatvsn.ads: Bump copyright year.
ebotcazou [Fri, 4 Jan 2019 12:47:58 +0000 (12:47 +0000)] 
* gnatvsn.ads: Bump copyright year.

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

6 years agoFix concatenation bug in filesystem::path
redi [Fri, 4 Jan 2019 11:43:09 +0000 (11:43 +0000)] 
Fix concatenation bug in filesystem::path

When erasing a trailing empty filename component, the output iterator
was not decremented, causing the next component to be created at the
wrong position.

* src/filesystem/std-path.cc (path::operator+=(const path&)): Fix
incorrect treatment of empty filename after trailing slash.
* testsuite/27_io/filesystem/path/concat/path.cc: Test problem case.

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

6 years agoAvoid spurious test failures when -fno-inline in test flags
redi [Fri, 4 Jan 2019 11:06:49 +0000 (11:06 +0000)] 
Avoid spurious test failures when -fno-inline in test flags

These tests rely on inlining, so if -fno-inline is added to the compiler
flags the tests fail. Use the predefined __NO_INLINE__ macro to detect
that situation, and don't bother testing the move assignment.

* testsuite/21_strings/basic_string/modifiers/assign/char/
move_assign_optim.cc: Avoid spurious failure when -fno-inline added
to test flags.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
move_assign_optim.cc: Likewise.

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

6 years ago2019-01-04 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Fri, 4 Jan 2019 10:42:12 +0000 (10:42 +0000)] 
2019-01-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/48543
    * gfortran.dg/const_chararacter_merge.f90: Actually remove.
    * gfortran.dg/merge_char_const.f90: Restore.

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

6 years ago PR target/88594
jakub [Fri, 4 Jan 2019 09:00:05 +0000 (09:00 +0000)] 
PR target/88594
* config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
of GET_MODE (opN) as modes of the libcall arguments.

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

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

6 years agox86: relax mask register constraints
jbeulich [Fri, 4 Jan 2019 08:50:56 +0000 (08:50 +0000)] 
x86: relax mask register constraints

While their use for masking is indeed restricted to %k1...%k7, use as
"normal" insn operands also permits %k0. Remove the unnecessary
limitations, requiring quite a few testsuite adjustments.

Oddly enough some AVX512{F,DQ} test cases already check for %k[0-7],
while others did permit {%k0} - where they get touched here anyway this
gets fixed at the same time.

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

6 years agoPR tree-optimization/88659 - ICE in maybe_warn_nonstring_arg
msebor [Fri, 4 Jan 2019 03:13:33 +0000 (03:13 +0000)] 
PR tree-optimization/88659 - ICE in maybe_warn_nonstring_arg

gcc/ChangeLog:
* calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.

gcc/testsuite/ChangeLog:
* gcc.dg/Wstringop-truncation-6.c: New test.

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

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

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

6 years agoPR libstdc++/88607 replace some more UTF-8 characters
redi [Thu, 3 Jan 2019 22:07:52 +0000 (22:07 +0000)] 
PR libstdc++/88607 replace some more UTF-8 characters

2019-01-03  Jonathan Wakely  <jwakely@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>

PR libstdc++/88607
* include/experimental/memory: Replace UTF-8 quote characters.
* include/std/future: Replace UTF-8 "em dash" characters.

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

6 years agoPR libstdc++/88607 replace or remove unnecessary UTF-8 characters
redi [Thu, 3 Jan 2019 20:38:11 +0000 (20:38 +0000)] 
PR libstdc++/88607 replace or remove unnecessary UTF-8 characters

There are a number of UTF-8 characters in comments which add no value
and can be replaced with ASCII equivalents, or removed entirely for the
section sign (U+00A7).

PR libstdc++/88607
* include/bits/forward_list.h: Replace UTF-8 "ligature fi" character.
* include/debug/forward_list: Likewise.
* include/experimental/bits/shared_ptr.h: Remove UTF-8 "section sign"
character.
* include/experimental/chrono: Likewise.
* include/experimental/functional: Likewise.
* include/experimental/ratio: Likewise.
* include/experimental/system_error: Likewise.
* include/experimental/tuple: Likewise.
* include/experimental/type_traits: Likewise.
* include/parallel/workstealing.h: Replace UTF-8 "en dash" character.
* include/parallel/multiseq_selection.h: Likewise.

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

6 years agoPR libstdc++/88681 export missing symbols
redi [Thu, 3 Jan 2019 20:38:04 +0000 (20:38 +0000)] 
PR libstdc++/88681 export missing symbols

These new facet functions were added to GCC 5.1 but the versions for the
old std::string ABI were never exported from the shared library.

PR libstdc++/88681
* config/abi/pre/gnu.ver: Add missing exports.
* testsuite/22_locale/collate_byname/88681.cc: New test.
* testsuite/22_locale/time_get/get/char/88681.cc: New test.
* testsuite/22_locale/time_get/get/wchar_t/88681.cc: New test.

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

6 years ago2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Thu, 3 Jan 2019 19:20:57 +0000 (19:20 +0000)] 
2019-01-03  Aaron Sawdey  <acsawdey@linux.ibm.com>

* config/rs6000/rs6000-string.c (expand_block_move): Don't use
unaligned vsx and avoid lxvd2x/stxvd2x.
(gen_lvx_v4si_move): New function.

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

6 years ago[nvptx] Add vector_length 128 testcases
vries [Thu, 3 Jan 2019 15:08:46 +0000 (15:08 +0000)] 
[nvptx] Add vector_length 128 testcases

Add a couple of test-cases using vector length 128, while checking that we
override to vector length 32.

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

* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.

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

6 years ago[nvptx] Add nvptx_mach_vector_length, nvptx_mach_max_workers
vries [Thu, 3 Jan 2019 15:08:36 +0000 (15:08 +0000)] 
[nvptx] Add nvptx_mach_vector_length, nvptx_mach_max_workers

The vector length and maximum number of workers are known compile-time.  Make
these easily available during code generation via new functions.

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

* config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
(init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
function.
* config/nvptx/nvptx.h (struct machine_function): Add axis_dims.

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

6 years ago[nvptx] Factor out populate_offload_attrs
vries [Thu, 3 Jan 2019 15:08:25 +0000 (15:08 +0000)] 
[nvptx] Factor out populate_offload_attrs

Factor out populate_offload_attrs from nvptx_reorg.

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

* config/nvptx/nvptx.c (struct offload_attrs): New.
(populate_offload_attrs): New function.  Factor mask extraction out of
nvptx_reorg.  Add extraction of dimensions.
(nvptx_reorg): Use populate_offload_attrs.

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

6 years ago[nvptx] Add early-out cases in nvptx_goacc_validate_dims
vries [Thu, 3 Jan 2019 15:08:15 +0000 (15:08 +0000)] 
[nvptx] Add early-out cases in nvptx_goacc_validate_dims

Add early-out cases for for oacc_min_dims_p and routine_p in
nvptx_goacc_validate_dims, allowing simplification of the rest of the
function.

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

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
cases for oacc_min_dims_p and routine_p.  Add asserts for
oacc_default_dims_p and offload_region_p.

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

6 years ago[nvptx] Eliminate changed local var in nvptx_goacc_validate_dims
vries [Thu, 3 Jan 2019 15:08:06 +0000 (15:08 +0000)] 
[nvptx] Eliminate changed local var in nvptx_goacc_validate_dims

The TARGET_GOACC_VALIDATE_DIMS hook requires an implementation to return a bool
indicating whether the dims parameter has changed.

Factor nvptx_goacc_validate_dims_1 out of nvptx_goacc_validate_dims, and
calculate the return value in nvptx_goacc_validate_dims.

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

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
factored out of ...
(nvptx_goacc_validate_dims): ... here.

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

6 years ago2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 3 Jan 2019 12:32:34 +0000 (12:32 +0000)] 
2019-01-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

    PR fortran/48543
    * gfortran.dg/const_chararacter_merge.f90: Remove.

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

6 years ago2019-01-03 Jan Hubicka <hubicka@ucw.cz>
rguenth [Thu, 3 Jan 2019 12:23:27 +0000 (12:23 +0000)] 
2019-01-03  Jan Hubicka  <hubicka@ucw.cz>

PR tree-optimization/85574
* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
structure.
(struct ssa_equip_hash_traits): Declare.
(val_ssa_equiv): Use custom hash traits using operand_equal_p.

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

6 years agoUpdate config.guess, config.sub (PR target/88535)
ro [Thu, 3 Jan 2019 11:28:27 +0000 (11:28 +0000)] 
Update config.guess, config.sub (PR target/88535)

PR target/88535
* config.guess: Import upstream version 2019-01-03.
* config.sub: Import upstream version 2019-01-01.

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

6 years ago PR debug/88644
jakub [Thu, 3 Jan 2019 11:05:24 +0000 (11:05 +0000)] 
PR debug/88644
* dwarf2out.c (modified_type_die): If type is equal to sizetype,
change it to qualified_type.

* gcc.dg/debug/dwarf2/pr88644.c: New test.
* gcc.dg/debug/dwarf2/pr80263.c: Remove darwin hack.

2019-01-03  Iain Sandoe  <iain@sandoe.co.uk>

* gcc.dg/pubtypes-2.c: Adjust expected pubtypes length.
* gcc.dg/pubtypes-3.c: Likewise.
* gcc.dg/pubtypes-4.c: Likewise.

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

6 years ago * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
hubicka [Thu, 3 Jan 2019 10:19:03 +0000 (10:19 +0000)] 
* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
(ipa_merge_profiles): ... here; do not ICE on thunks and aliases.

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

6 years ago PR c++/88636
jakub [Thu, 3 Jan 2019 10:11:40 +0000 (10:11 +0000)] 
PR c++/88636
* decl.c (builtin_function_1): Return result of pushdecl_top_level
or pushdecl rather than decl.

* g++.target/i386/pr88636.C: New test.

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

6 years ago/cp
paolo [Thu, 3 Jan 2019 10:00:30 +0000 (10:00 +0000)] 
/cp
2019-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

* tree.c (handle_nodiscard_attribute): Improve warning location.

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

* g++.dg/cpp1z/nodiscard3.C: Test locations too.

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

6 years agoAdjust a dump file in a test-case (PR testsuite/88436).
marxin [Thu, 3 Jan 2019 07:53:37 +0000 (07:53 +0000)] 
Adjust a dump file in a test-case (PR testsuite/88436).

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

PR testsuite/88436
* gcc.target/powerpc/pr54240.c: Scan phiopt2.

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

6 years agoDaily bump.
gccadmin [Thu, 3 Jan 2019 00:16:48 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
law [Wed, 2 Jan 2019 23:59:51 +0000 (23:59 +0000)] 
* gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
(get_range_strlen_tree): Update appropriately.
(get_range_strlen)
* gimple-fold.h (get_range_strlen): Drop unused last argument.

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

6 years ago PR c++/81486 - CTAD failing with ().
mpolacek [Wed, 2 Jan 2019 22:39:16 +0000 (22:39 +0000)] 
PR c++/81486 - CTAD failing with ().
* g++.dg/cpp1z/class-deduction60.C: New test.
* g++.dg/cpp1z/class-deduction61.C: New test.

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

6 years ago PR c++/88631 - CTAD failing for value-initialization.
mpolacek [Wed, 2 Jan 2019 22:20:45 +0000 (22:20 +0000)] 
PR c++/88631 - CTAD failing for value-initialization.
* typeck2.c (build_functional_cast): Try deducing the template
arguments even if there are no arguments to deduce from.

* g++.dg/cpp1z/class-deduction59.C: New test.

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

6 years ago PR c++/88612 - ICE with -Waddress-of-packed-member.
mpolacek [Wed, 2 Jan 2019 22:15:46 +0000 (22:15 +0000)] 
PR c++/88612 - ICE with -Waddress-of-packed-member.
* call.c (convert_for_arg_passing): Only give warnings with tf_warning.
* typeck.c (convert_for_assignment): Likewise.

* g++.dg/warn/Waddress-of-packed-member1.C: New test.

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

6 years ago * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
law [Wed, 2 Jan 2019 21:38:56 +0000 (21:38 +0000)] 
* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
rather than set_range_info.
* tree-ssa-strlen.c (set_strlen_range): Extracted from
maybe_set_strlen_range.  Handle potentially boundary crossing
cases more conservatively.
(maybe_set_strlen_range): Parts refactored into set_strlen_range.
Call set_strlen_range.
* tree-ssa-strlen.h (set_strlen_range): Add prototype.

* gcc.dg/strlenopt-36.c: Update.
* gcc.dg/strlenopt-45.c: Update.
* gcc.c-torture/execute/strlen-5.c: New test.
* gcc.c-torture/execute/strlen-6.c: New test.
* gcc.c-torture/execute/strlen-7.c: New test.

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

6 years ago PR testsuite/87304
jakub [Wed, 2 Jan 2019 19:50:13 +0000 (19:50 +0000)] 
PR testsuite/87304
* gcc.dg/vect/bb-slp-over-widen-1.c: Expect basic block vectorized
messages only on vect_hw_misalign targets.

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

6 years ago2019-01-01 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 2 Jan 2019 19:13:29 +0000 (19:13 +0000)] 
2019-01-01  Steven G. Kargl  <kargl@gcc.gnu.org>

* parse.c (decode_statement):  Suppress "Unclassifiable statement"
error if previous error messages were emittes.

2019-01-01  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/argument_checking_7.f90: Remove run-on error message.
* gfortran.dg/dec_d_lines_3.f: Ditto.
* gfortran.dg/dec_structure_24.f90: Ditto.
* gfortran.dg/dec_structure_26.f90: Ditto.
* gfortran.dg/dec_structure_27.f90: Ditto.
* gfortran.dg/dec_type_print_3.f90: Ditto.
* gfortran.dg/derived_name_1.f90: Ditto.
* gfortran.dg/error_recovery_1.f90: Ditto.
* gfortran.dg/gomp/pr29759.f90: Ditto.
* gfortran.dg/pr36192.f90: Ditto.
* gfortran.dg/pr56007.f90: Ditto.
* gfortran.dg/pr56520.f90: Ditto.
* gfortran.dg/pr78741.f90: Ditto.
* gfortran.dg/print_fmt_2.f90: Ditto.
* gfortran.dg/select_type_20.f90: Ditto.

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

6 years ago * es.po: Update.
jsm28 [Wed, 2 Jan 2019 18:39:14 +0000 (18:39 +0000)] 
* es.po: Update.

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

6 years ago PR middle-end/88663
law [Wed, 2 Jan 2019 18:30:50 +0000 (18:30 +0000)] 
PR middle-end/88663
* gimple-fold.c (get_range_strlen): Update prototype to no longer
need the flexp argument.
(get_range_strlen_tree): Drop flexp argument.  Drop flexp argument
from calls to get_range_strlen.  Update comments.  Just update
VAL for an unterminated const char array and let the reset of the
code handle it normally.  No longer try to set *flexp.  Adjust
return value.
(get_range_strlen): Update for the new get_range_strlen API.
(get_maxval_strlen): Similarly.
(gimple_fold_builtin_strlen): Handle update meaning of return value
from get_range_strlen.
* gimple-ssa-sprintf.c (get_string_length): Update for the new
get_range_strlen API.

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

6 years ago PR c++/86875
mpolacek [Wed, 2 Jan 2019 17:07:02 +0000 (17:07 +0000)] 
PR c++/86875
* g++.dg/cpp1y/lambda-generic-86875.C: New test.

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

6 years agoAdd more testcases for class template argument deduction of maps
redi [Wed, 2 Jan 2019 16:30:49 +0000 (16:30 +0000)] 
Add more testcases for class template argument deduction of maps

This adds additional tests for std::map and std::multimap CTAD. The
tests ensure that deduction works for braced-init-list of value_type
objects, and for pairs of input iterators (with both std::pair<Key, T>
and value_type as the iterator's value_type). This ensures deduction
from value_type still works, as well as the non-value_type cases in LWG
3025.

Similar tests for unordered maps do not work, apparently because the
constructor taking an initializer_list<value_type> is not usable for
deduction, and the deduction guide taking initializer_list<pair<Key, T>>
deduces key_type to be const. I am not addressing that.

* testsuite/23_containers/map/cons/deduction.cc: Test deduction from
initializer_list<value_type> and from input iterator ranges.
* testsuite/23_containers/multimap/cons/deduction.cc: Likewise.

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

6 years ago2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Wed, 2 Jan 2019 15:25:47 +0000 (15:25 +0000)] 
2019-01-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48543
* gfortran.dg/const_chararacter_merge.f90: New test.

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

6 years ago PR lto/88130
hubicka [Wed, 2 Jan 2019 15:23:27 +0000 (15:23 +0000)] 
PR lto/88130
* varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
false at WPA time when body was removed.
* g++.dg/torture/pr88130.C: New testcase.

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

6 years agoCalculate prediction remainder at proper place (PR tree-optimization/88650).
marxin [Wed, 2 Jan 2019 14:03:53 +0000 (14:03 +0000)] 
Calculate prediction remainder at proper place (PR tree-optimization/88650).

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

PR tree-optimization/88650
* predict.c (set_even_probabilities): Calculate probability
remainer only when really used.
2019-01-02  Martin Liska  <mliska@suse.cz>

PR tree-optimization/88650
* gfortran.dg/predict-3.f90: New test.

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

6 years ago2019-01-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Jan 2019 13:52:03 +0000 (13:52 +0000)] 
2019-01-02  Richard Biener  <rguenther@suse.de>

PR middle-end/88651
* tree-data-ref.c (analyze_subscript_affine_affine): Use
widest_ints when mangling max_stmt_execution results.

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

6 years agoFix g++.dg/gcov/pr88263.C compilation on Solaris
ro [Wed, 2 Jan 2019 12:42:20 +0000 (12:42 +0000)] 
Fix g++.dg/gcov/pr88263.C compilation on Solaris

* g++.dg/gcov/pr88263.C: Rename namespace log to logging.

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

6 years ago2019-01-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Jan 2019 12:19:10 +0000 (12:19 +0000)] 
2019-01-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/88621
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
bitfields when canoncalizing.

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

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

6 years ago2019-01-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Jan 2019 11:04:45 +0000 (11:04 +0000)] 
2019-01-02  Richard Biener  <rguenther@suse.de>

PR target/87545
* config/i386/x86-tune-costs.h (intel_cost): Adjust
cost of cheap SSE instruction.

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

6 years agoFix year range in copyright header
redi [Wed, 2 Jan 2019 10:44:35 +0000 (10:44 +0000)] 
Fix year range in copyright header

* testsuite/experimental/string_view/element_access/char/empty.cc:
Fix year range in copyright header.

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

6 years ago PR ipa/88561
jakub [Wed, 2 Jan 2019 09:25:59 +0000 (09:25 +0000)] 
PR ipa/88561
* g++.dg/tree-prof/devirt.C: Expect _ZThn16 only for lp64 and llp64
targets and expect _ZThn8 for ilp32 targets.

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

6 years ago2019-01-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Jan 2019 08:49:07 +0000 (08:49 +0000)] 
2019-01-02  Richard Biener  <rguenther@suse.de>

PR ipa/85574
* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
function.
(sem_item_optimizer::do_congruence_step_f): Sort the congruence
set after UIDs before splitting them.

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

6 years ago * gimple-fold.c (get_range_strlen_tree): Record if the computed
law [Wed, 2 Jan 2019 06:17:54 +0000 (06:17 +0000)] 
* gimple-fold.c (get_range_strlen_tree): Record if the computed
length is optimistic.  If it is, then arrange to compute the
conservative length as well.

* gcc.dg/strlenopt-40.c: Update
* gcc.dg/strlenopt-51.c: Likewise.
* gcc.dg/tree-ssa/pr79376.c: Likewise.

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

6 years agoFix year range in libstdc++v3/testsuite/.../empty.cc copyright header
brobecke [Wed, 2 Jan 2019 06:04:51 +0000 (06:04 +0000)] 
Fix year range in libstdc++v3/testsuite/.../empty.cc copyright header

libstdc++-v3/ChangeLog:

        * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
        Fix year range in copyright header.

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

6 years ago * gimple-fold.h (get_range_strlen): Update prototype.
law [Wed, 2 Jan 2019 06:02:37 +0000 (06:02 +0000)] 
* gimple-fold.h (get_range_strlen): Update prototype.
* builtins.c (check_access): Update call to get_range_strlen to use
c_strlen_data pointer.   Change various variable accesses to instead
pull data from the c_strlen_data structure.
(check_strncat_sizes, expand_builtin_strncat): Likewise.
* calls.c (maybe_warn_nonstring_arg): Likewise.
* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise.  Reset
minimum length if maximum lengh is unknown.
* gimple-ssa-sprintf.c (get_string_length): Likewise.  Drop code
that used c_strlen, it's no longer needed.  Restructure slightly.
(format_string): Set unlikely range appropriately.
* gimple-fold.c (get_range_strlen): Update comments.  Fix minor
formatting issues.
(get_range_strlen):  Accept c_strlen_data pointer for external
call sites as well.  Pass through to call to internal get_range_strlen.
Adjust minlen, maxlen and maxbound as needed.
(get_maxval_strlen): Update comments.
(gimple_fold_builtin_strlen):  Update call to get_range_strlen
to use c_strlen_data pointer.  Change variable accesses to instead
use c_strlen_data data members.

* gcc.dg/strlenopt-40.c: Disable a couple tests.
* gcc.dg/strlenopt-48.c: Twiddle test.
* gcc.dg/strlenopt-59.c: New test.
* gcc.dg/tree-ssa/builtin-snprintf-5.c: New test.
* g++.dg/init/strlen.C: New test.

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

6 years agoDaily bump.
gccadmin [Wed, 2 Jan 2019 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

6 years ago2019-01-01 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 1 Jan 2019 21:19:53 +0000 (21:19 +0000)] 
2019-01-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/82743
* primary.c (gfc_convert_to_structure_constructor): If a character
in a constructor is too long, add a warning with
-Wcharacter-truncation.

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

PR fortran/82743
* gfortran.dg/structure_constructor_16.f90: New test.

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

6 years ago * gimple-fold.c (get_range_strlen): Update prototype.
law [Tue, 1 Jan 2019 18:20:13 +0000 (18:20 +0000)] 
* gimple-fold.c (get_range_strlen): Update prototype.
(get_range_strlen_tree): Update prototype.  Drop minlen/maxlen
local variables.  Use pdata to return information to caller.
Update calls to get_range_strlen.  Update pdata->maxbound.
(get_range_strlen -- static version): Similarly.
(get_range_strlen -- extern version): Update for internal
get_range_strlen API change.  Convert to external data format.
(get_maxval_strlen): Similarly.

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

6 years ago * g++.dg/ipa/devirt-36.C: Add dg-do-compile.
hubicka [Tue, 1 Jan 2019 13:30:53 +0000 (13:30 +0000)] 
* g++.dg/ipa/devirt-36.C: Add dg-do-compile.
* g++.dg/ipa/devirt-53.C: Fix scan template.

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

6 years ago * g++.dg/lto/devirt-13_0.C: Drop broken scan of ssa dump.
hubicka [Tue, 1 Jan 2019 13:10:39 +0000 (13:10 +0000)] 
* g++.dg/lto/devirt-13_0.C: Drop broken scan of ssa dump.
* g++.dg/lto/devirt-14_0.C: Drop broken scan of ssa dump.
* g++.dg/lto/devirt-23_0.C: Add -fdump-ipa-cp.

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

6 years ago * coverage.c (get_coverage_counts): Use current_function_decl.
hubicka [Tue, 1 Jan 2019 12:49:18 +0000 (12:49 +0000)] 
* coverage.c (get_coverage_counts): Use current_function_decl.
* profile.c (read_thunk_profile): New function.
(branch_prob): Add THUNK parameter.
* tree-profile.c (tree_profiling): Handle thunks.
* value-prof.c (init_node_map): Handle thunks.
* value-prof.h (branch_prob): Upate prototype.
(read_thunk_profile): Declare.

* g++.dg/tree-prof/devirt.C: Update testcase.

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

6 years ago Update copyright years.
jakub [Tue, 1 Jan 2019 12:31:55 +0000 (12:31 +0000)] 
Update copyright years.

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

6 years ago * update-copyright.py: Add Gerard Jungman as external author.
jakub [Tue, 1 Jan 2019 12:20:46 +0000 (12:20 +0000)] 
* update-copyright.py: Add Gerard Jungman as external author.

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

6 years ago * gcc.c (process_command): Update copyright notice dates.
jakub [Tue, 1 Jan 2019 11:34:49 +0000 (11:34 +0000)] 
* gcc.c (process_command): Update copyright notice dates.
* gcov-dump.c (print_version): Ditto.
* gcov.c (print_version): Ditto.
* gcov-tool.c (print_version): Ditto.
* gengtype.c (create_file): Ditto.
* doc/cpp.texi: Bump @copying's copyright year.
* doc/cppinternals.texi: Ditto.
* doc/gcc.texi: Ditto.
* doc/gccint.texi: Ditto.
* doc/gcov.texi: Ditto.
* doc/install.texi: Ditto.
* doc/invoke.texi: Ditto.
gcc/fortran/
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
* gfc-internals.texi: Bump @copying's copyright year.
* gfortran.texi: Ditto.
* intrinsic.texi: Ditto.
* invoke.texi: Ditto.
gcc/go/
* gccgo.texi: Bump @copyrights-go year.
gcc/ada/
  * gnat_ugn.texi: Bump @copying's copyright year.
  * gnat_rm.texi: Likewise.
gcc/d/
* gdc.texi: Bump @copyrights-d year.
libitm/
* libitm.texi: Bump @copying's copyright year.
libgomp/
* libgomp.texi: Bump @copying's copyright year.
libquadmath/
* libquadmath.texi: Bump @copying's copyright year.

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

6 years agoDaily bump.
gccadmin [Tue, 1 Jan 2019 00:16:34 +0000 (00:16 +0000)] 
Daily bump.

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

6 years agoPR target/86814
jcmvbkbc [Mon, 31 Dec 2018 16:51:36 +0000 (16:51 +0000)] 
PR target/86814

Xtensa architecture is not affected by speculation.

gcc/
2018-12-31  Max Filippov  <jcmvbkbc@gmail.com>

* config/xtensa/xtensa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
Define to speculation_safe_value_not_needed.

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