]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
5 years ago2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 31 Jan 2019 03:37:16 +0000 (03:37 +0000)] 
2019-01-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/52564
* io.c (match_io): Add check for comma after '*' without subsequent
IO list.

* gfortran.dg/print_2.f90: New test.

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

5 years agoPR other/89106 - cast-to-union documentation incorrect w.r.t. lvalueness
msebor [Thu, 31 Jan 2019 02:33:58 +0000 (02:33 +0000)] 
PR other/89106 - cast-to-union documentation incorrect w.r.t. lvalueness

gcc/ChangeLog:

PR other/89106
* doc/extend.texi (cast to a union): Correct and expand.

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

5 years agoDaily bump.
gccadmin [Thu, 31 Jan 2019 00:16:25 +0000 (00:16 +0000)] 
Daily bump.

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

5 years ago PR c++/88988
jakub [Wed, 30 Jan 2019 23:28:53 +0000 (23:28 +0000)] 
PR c++/88988
* lambda.c (is_capture_proxy): Don't return true for
DECL_OMP_PRIVATIZED_MEMBER artificial vars.

* testsuite/libgomp.c++/pr88988.C: New test.

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

5 years agoPR libstdc++/89117 fix path::replace_extension("") case
redi [Wed, 30 Jan 2019 23:18:22 +0000 (23:18 +0000)] 
PR libstdc++/89117 fix path::replace_extension("") case

Previously the operator+=(extension) call would have re-parsed the path
and recreated the components with the right extension. Since optimising
it to not re-parse the whole string, we need to actually remove the
extension from the final filename before appending anything to it, and
append the dot to that final component too.

PR libstdc++/89117
* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
final component as well as from _M_pathname. Append the dot using
operator+= instead of only to _M_pathname.
(path::_M_find_extension): Reformat slightly.
* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
Add more test cases.

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

5 years ago * config/i386/sfp-exceptions.c (__sfp_handle_exceptions):
uros [Wed, 30 Jan 2019 23:09:40 +0000 (23:09 +0000)] 
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions):
Remove stray semicolon.

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

5 years ago2019-01-30 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 30 Jan 2019 21:49:23 +0000 (21:49 +0000)] 
2019-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/87246
* lra-constraints.c (simplify_operand_subreg): Reload memory
in subreg if the address became invalid.

2019-01-30  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/87246
* gcc.target/i386/pr87246.c: New.

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

5 years ago2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Wed, 30 Jan 2019 20:52:08 +0000 (20:52 +0000)] 
2019-01-30  Bill Schmidt  <wschmidt@linux.ibm.com>

PR target/87064
* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
Disable for little-endian.

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

5 years ago PR fortran/88678
uros [Wed, 30 Jan 2019 20:44:35 +0000 (20:44 +0000)] 
PR fortran/88678
* config/fpu-glibc.h (support_fpu_trap): Do not try to enable
exceptions to determine if exception is supported.

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

5 years ago PR c++/89119 - ICE with value-initialization in template.
mpolacek [Wed, 30 Jan 2019 19:04:05 +0000 (19:04 +0000)] 
PR c++/89119 - ICE with value-initialization in template.
* pt.c (tsubst_copy_and_build): Handle RANGE_EXPR.

* g++.dg/cpp0x/initlist-value3.C: New test.

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

5 years ago * doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
drepper [Wed, 30 Jan 2019 16:23:44 +0000 (16:23 +0000)] 
* doc/xml/manual/status_cxx2020.xml: Update P0600 entry.

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

5 years ago compiler: support alias to pointer type as method receiver
ian [Wed, 30 Jan 2019 15:57:46 +0000 (15:57 +0000)] 
compiler: support alias to pointer type as method receiver

    Fixes golang/go#28252.

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

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

5 years ago2019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Wed, 30 Jan 2019 15:53:51 +0000 (15:53 +0000)] 
2019-01-30  Dominique d'Humieres  <dominiq@gcc.gnu.org>

PR fortran/52884
* invoke.texi: Document the promotion of double precision
constants.

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

5 years ago2019-01-30 Richard Biener <rguenther@suse.de>
rguenth [Wed, 30 Jan 2019 15:11:04 +0000 (15:11 +0000)] 
2019-01-30  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/89115
* opts.c (default_options_optimization): Reduce
PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
to the default.

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

5 years ago PR fortran/88678
uros [Wed, 30 Jan 2019 15:04:06 +0000 (15:04 +0000)] 
PR fortran/88678
* config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
exception flags before changing trap mode.  Optimize to call
feenableexcept and fedisableexcept only once.

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

5 years agogcc/ChangeLog:
kelvin [Wed, 30 Jan 2019 15:01:40 +0000 (15:01 +0000)] 
gcc/ChangeLog:

2019-01-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT.  Coerce result to
type of vector element when vec_extract is implemented by direct
move.

gcc/testsuite/ChangeLog:

2019-01-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* gcc.target/powerpc/vec-extract-schar-1.c: New test.
* gcc.target/powerpc/vec-extract-sint-1.c: New test.
* gcc.target/powerpc/vec-extract-sint128-1.c: New test.
* gcc.target/powerpc/vec-extract-slong-1.c: New test.
* gcc.target/powerpc/vec-extract-sshort-1.c: New test.
* gcc.target/powerpc/vec-extract-uchar-1.c: New test.
* gcc.target/powerpc/vec-extract-uint-1.c: New test.
* gcc.target/powerpc/vec-extract-uint128-1.c: New test.
* gcc.target/powerpc/vec-extract-ulong-1.c: New test.
* gcc.target/powerpc/vec-extract-ushort-1.c: New test.

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

5 years agoDefault compute dimensions: list "-fopenacc-dim" in documentation
tschwinge [Wed, 30 Jan 2019 14:40:10 +0000 (14:40 +0000)] 
Default compute dimensions: list "-fopenacc-dim" in documentation

gcc/
* doc/invoke.texi (C Language Options): List "-fopenacc-dim".

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

5 years ago2019-01-30 Richard Biener <rguenther@suse.de>
rguenth [Wed, 30 Jan 2019 12:41:13 +0000 (12:41 +0000)] 
2019-01-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89111
* tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict
canonicalization to appropriately sized access types.

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

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

5 years agoCache effective-target llvm_binutils result.
ams [Wed, 30 Jan 2019 11:26:31 +0000 (11:26 +0000)] 
Cache effective-target llvm_binutils result.

2019-01-30  Andrew Stubbs  <ams@codesourcery.com>

PR testsuite/88920

gcc/testsuite/
* lib/target-supports.exp: Cache result.

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

5 years ago PR c++/89105
jakub [Wed, 30 Jan 2019 07:51:24 +0000 (07:51 +0000)] 
PR c++/89105
* config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn
for arguments to functions that are TU-local and shouldn't be
referenced by assembly.

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

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

5 years ago PR c/89061
jakub [Wed, 30 Jan 2019 07:49:58 +0000 (07:49 +0000)] 
PR c/89061
* c-tree.h (C_DECL_COMPOUND_LITERAL_P): Define.
* c-decl.c (decl_jump_unsafe): Return false for
C_DECL_COMPOUND_LITERAL_P decls.
(build_compound_literal): Set C_DECL_COMPOUND_LITERAL_P.

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

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

5 years ago * dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
drepper [Wed, 30 Jan 2019 07:18:22 +0000 (07:18 +0000)] 
* dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
after '='.

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

5 years agoPR middle-end/88956 - ICE: Floating point exception on a memcpy from
msebor [Wed, 30 Jan 2019 03:04:14 +0000 (03:04 +0000)] 
PR middle-end/88956 - ICE: Floating point exception on a memcpy from
a zero-length constant array

gcc/ChangeLog:

PR c/88956
* gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays.

gcc/testsuite/ChangeLog:

PR c/88956
* gcc.dg/Warray-bounds-39.c: New test.

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

5 years ago PR c++/86943 - wrong code converting lambda to function pointer.
jason [Wed, 30 Jan 2019 02:43:04 +0000 (02:43 +0000)] 
PR c++/86943 - wrong code converting lambda to function pointer.

In this PR, instantiating the static thunk returned from the generic lambda
conversion function template was using normal overload resolution, which
meant calling an extra constructor when forwarding its argument.  Fixed by
special-casing thunk calls significantly more.

* lambda.c (maybe_add_lambda_conv_op): Use a template-id in the
call.  Only forward parms for decltype.
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Handle CALL_FROM_THUNK_P
specially.
* typeck.c (check_return_expr): Don't mess with a thunk call.

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

5 years ago PR testsuite/89110
mpolacek [Wed, 30 Jan 2019 02:32:33 +0000 (02:32 +0000)] 
PR testsuite/89110
* g++.dg/other/nontype-1.C: Expect error in all modes.
* g++.dg/parse/crash13.C: Likewise.
* g++.dg/parse/error36.C: Likewise.
* g++.dg/template/error29.C: Likewise.

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

5 years agoDaily bump.
gccadmin [Wed, 30 Jan 2019 00:16:31 +0000 (00:16 +0000)] 
Daily bump.

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

5 years ago2019-01-29 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 29 Jan 2019 22:40:26 +0000 (22:40 +0000)] 
2019-01-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57048
* interface.c (gfc_compare_types): If a derived type and an
integer both have a derived type, and they are identical,
this is a C binding type and compares equal.

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

PR fortran/57048
* gfortran.dg/c_funptr_1.f90: New file.
* gfortran.dg/c_funptr_1_mod.f90: New file.

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

5 years ago PR c++/66676
jakub [Tue, 29 Jan 2019 21:09:41 +0000 (21:09 +0000)] 
PR c++/66676
PR ipa/89104
* omp-simd-clone.c (simd_clone_clauses_extract)
<case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
OMP_CLAUSE_ALIGNED_ALIGNMENT.

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

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

5 years ago[libbacktrace] Add test-cases exercising build-id and dwz
vries [Tue, 29 Jan 2019 16:25:46 +0000 (16:25 +0000)] 
[libbacktrace] Add test-cases exercising build-id and dwz

Add test-cases b2test_buildid and b3test_dwz_buildid.

The last one triggers the segfault fixed by "[backtrace] Avoid segfault"
( r268275 ).

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

* install-debuginfo-for-buildid.sh.in: New script.
* Makefile.am (check_PROGRAMS): Add b2test and b3test.
(TESTS): Add b2test_buildid and b3test_dwz_buildid.
* Makefile.in: Regenerate.
* configure.ac (HAVE_ELF): Set with AM_CONDITIONAL.
(READELF): Set with AC_CHECK_PROG.
(install-debuginfo-for-buildid.sh): Generate with AC_CONFIG_FILES.
* configure: Regenerate.
* elf.c (SYSTEM_BUILD_ID_DIR): Factor out of ...
(elf_open_debugfile_by_buildid): ... here.

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

5 years ago PR c++/89089 - ICE with [[no_unique_address]].
jason [Tue, 29 Jan 2019 15:39:40 +0000 (15:39 +0000)] 
PR c++/89089 - ICE with [[no_unique_address]].

In 89089, we were never actually setting DECL_SIZE on an empty data member,
because its type is a POD, so we didn't set it in the maybe-overlapping
section.  Fixed by also handling empty types there.

In 88865, we were failing to consider empty data members in
include_empty_classes.  Fixed by making end_of_class always include them.

While looking at these I noticed that the ABI says that a
potentially-overlapping data member makes its class non-layout-POD, and that
an empty data member doesn't prevent its class from being empty, so I've
implemented those points as well.

PR c++/88865 - wrong layout with [[no_unique_address]].
* class.c (check_field_decls): A potentially-overlapping field makes
the class non-layout-POD, but not non-empty.
(end_of_class): Always consider empty data members.
(layout_class_type): Set DECL_SIZE for empty fields.

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

5 years ago runtime: fix sigprof frame counting
ian [Tue, 29 Jan 2019 15:31:10 +0000 (15:31 +0000)] 
runtime: fix sigprof frame counting

    If sigtramp and sigtrampgo are both on stack, n -= framesToDiscard
    is executed twice, which should actually run only once.

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

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

5 years ago[ARC] Enable init_array support.
claziss [Tue, 29 Jan 2019 15:08:16 +0000 (15:08 +0000)] 
[ARC] Enable init_array support.

gcc's common configure script has a subtle flaw that it only tests
{init,fini.preinit}_array support when NOT cross compiling. This causes
cross builds to erroneously deduce that the feature is not supported by
the target.

| host-gcc-final-ab544139bfee/build/gcc/config.log
|
|configure:22941: checking for .preinit_array/.init_array/.fini_array support
|configure:23106: checking cross compile... guessing
|configure:23111: result: no

The right fix is to enable this for *all* cross setups (and address any
fallouts). However in the short-term to enable ARC glibc port to upstream,
force enable this for ARC.

This has been discussed at length on glibc mailing list [1], [2]

[1] https://sourceware.org/ml/libc-alpha/2018-11/msg00870.html
[2] https://sourceware.org/ml/libc-alpha/2019-01/msg00656.html

gcc/

2019-xx-xx  Vineet Gupta <vgupta@synopsys.com>

* gcc/config.gcc: Force .init_array for ARC

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

5 years agoMark gdc.dg/pr89042?.d as compile tests
ro [Tue, 29 Jan 2019 08:43:37 +0000 (08:43 +0000)] 
Mark gdc.dg/pr89042?.d as compile tests

* gdc.dg/pr89042a.d: Mark as compile test.
* gdc.dg/pr89042b.d: Likewise.

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

5 years ago2019-01-29 Richard Biener <rguenther@suse.de>
rguenth [Tue, 29 Jan 2019 08:12:02 +0000 (08:12 +0000)] 
2019-01-29  Richard Biener  <rguenther@suse.de>

PR debug/87295
* dwarf2out.c (collect_skeleton_dies): New helper.
(copy_decls_for_unworthy_types): Call it.
(build_abbrev_table): Assert we do not try to replace
DW_AT_signature refs with local refs.

* g++.dg/lto/pr87295_0.C: New testcase.

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

5 years ago[libbacktrace] Don't assign check_PROGRAMS to TESTS
vries [Tue, 29 Jan 2019 07:22:16 +0000 (07:22 +0000)] 
[libbacktrace] Don't assign check_PROGRAMS to TESTS

In automake files, the check_PROGRAMS variable lists programs that need to be
build for testing, and TESTS lists the programs that need to be run.

The libbacktrace/Makefile.am uses a shortcut:
...
TESTS = $(check_PROGRAMS)
...
to make sure that each program added with:
...
check_PROGRAMS += foo
...
is both build and run.

However, for the allocfail.sh test, we need allocfail to be build and
allocfail.sh to be run:
...
check_PROGRAMS += allocfail
TESTS += allocfail.sh
...
but the shortcut causes allocfail also to be run, which is not required.

Fix this by removing the short-cut, allowing check_PROGRAMS to retain its
original semantics, and introducing a variable BUILDTESTS for programs that
need to be both build and run.

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

* Makefile.am: Replace check_PROGRAMS with BUILDTESTS, except for
allocfail.
(TESTS): Don't add check_PROGRAMS. Add BUILDTESTS.
(check_PROGRAMS): Add BUILDTESTS.
* Makefile.in: Regenerate.

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

5 years agoFix tests for complex overloads of std::arg and std::proj
redi [Tue, 29 Jan 2019 01:49:36 +0000 (01:49 +0000)] 
Fix tests for complex overloads of std::arg and std::proj

The test for the synopsis of <complex> incorrectly adds constexpr to
two functions in C++2a mode, but the C++2a draft and the <complex>
header do not declare them constexpr.

* testsuite/26_numerics/headers/complex/synopsis.cc: Remove incorrect
constexpr specifiers from arg and proj.

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

5 years ago runtime: use the call instruction's PC for panic-in-runtime detection
ian [Tue, 29 Jan 2019 00:49:23 +0000 (00:49 +0000)] 
runtime: use the call instruction's PC for panic-in-runtime detection

    If a panic happens in the runtime we turn that into a fatal error.
    We use the caller's PC to determine if the panic call is inside
    the runtime. getcallerpc returns the PC immediately after the
    call instruction. If the call is the very last instruction of a
    function, it may not find this PC belong to a runtime function,
    giving false result. We need to back off the PC by 1 to the call
    instruction.

    The gc runtime doesn't do this because the gc compiler always
    emit an instruction following a panic call, presumably an UNDEF
    instruction which turns into an architecture-specific illegal
    instruction. Our compiler doesn't do this.

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

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

5 years agoAdd missing exports for symbols used by directory iterators
redi [Tue, 29 Jan 2019 00:47:43 +0000 (00:47 +0000)] 
Add missing exports for symbols used by directory iterators

* config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Add missing exports for
__shared_ptr instantiations used by gcc4-compatible ABI.

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

5 years agoAvoid ambiguity between C++2a std::erase_if and LFTS version
redi [Tue, 29 Jan 2019 00:47:38 +0000 (00:47 +0000)] 
Avoid ambiguity between C++2a std::erase_if and LFTS version

These calls should have been qualified to avoid ADL anyway, but in C++2a
it becomes essential to qualify the calls in experimental::erase because
std::erase_if is also declared and the calls become ambiguous.

* include/experimental/forward_list (experimental::erase): Qualify
call to erase_if.
* include/experimental/list (experimental::erase): Likewise.
* include/std/forward_list (std::erase): Likewise.
* include/std/list (std::erase): Likewise.

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

5 years agoFix tests that fail in C++2a mode
redi [Tue, 29 Jan 2019 00:47:32 +0000 (00:47 +0000)] 
Fix tests that fail in C++2a mode

The nested typedefs in std::reference_wrapper are no longer present in
C++2a mode, so skip the tests that check for them.

The addition of the [[nodiscard]] attribute to a few functions causes
some failures in tests that intentionally ignore the return value.
Casting the result to void suppresses the new warnings.

* testsuite/20_util/reference_wrapper/result_type.cc: Disable for
C++2a.
* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
* testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Suppress nodiscard warning.
* testsuite/ext/array_allocator/26875.cc: Likewise.
* testsuite/ext/pool_allocator/allocate_chunk.cc: Likewise.
* testsuite/util/replacement_memory_operators.h: Likewise.
* testsuite/util/testsuite_allocator.h: Likewise.

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

5 years agoEnsure pool resources always use normal mode vector
redi [Tue, 29 Jan 2019 00:47:25 +0000 (00:47 +0000)] 
Ensure pool resources always use normal mode vector

The __pool_resource::_M_unpooled member was declared with type
std::vector, which means that the type depends on whether debug mode is
active or not. Because the non-inline definitions in
src/c++17/memory_resource.cc are never compiled with debug mode, the
type declared in the header doesn't match the type in the library
definitions, leading to undefined behaviour.

The solution is to ensure the header always uses the non-debug vector,
even when debug mode is active. To make this easier a new alias template
is defined: _GLIBCXX_STD_C::pmr::vector.

* include/std/memory_resource (__pool_resource::_M_unpooled): Use
normal mode vector, even for debug mode.
* include/std/vector [_GLIBCXX_DEBUG] (_GLIBCXX_STD_C::pmr::vector):
Define alias template for normal mode vector.

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

5 years agoDaily bump.
gccadmin [Tue, 29 Jan 2019 00:16:42 +0000 (00:16 +0000)] 
Daily bump.

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

5 years agoPR libstdc++/68737 Do not use vsnprintf on HPUX
redi [Mon, 28 Jan 2019 23:58:57 +0000 (23:58 +0000)] 
PR libstdc++/68737 Do not use vsnprintf on HPUX

It doesn't conform to the spec, so use vsprintf with a large buffer
instead.

PR libstdc++/68737
* config/locale/generic/c_locale.h (__convert_from_v)
[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
* config/os/hpux/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSNPRINTF.
* include/bits/locale_facets.tcc (num_put::_M_insert_float)
[_GLIBCXX_USE_C99_STDIO]: Also check _GLIBCXX_HAVE_BROKEN_VSNPRINTF.

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

5 years ago PR c/89045
jakub [Mon, 28 Jan 2019 23:49:51 +0000 (23:49 +0000)] 
PR c/89045
* c-decl.c (build_compound_literal): Don't pushdecl if in parameter
scope.

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

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

5 years ago PR c/86125
jakub [Mon, 28 Jan 2019 23:21:10 +0000 (23:21 +0000)] 
PR c/86125
* c-decl.c (last_fileptr_type): Remove.
(last_structptr_types): New variable.
(match_builtin_function_types): Compare TYPE_MAIN_VARIANT of
{old,new}rettype instead of the types themselves.  Assert
last_structptr_types array has the same number of elements
as builtin_structptr_types array.  Use TYPE_MAIN_VARIANT for
argument oldtype and newtype.  Instead of handling
just fileptr_type_node specially, handle all builtin_structptr_types
pointer nodes.  Formatting fix.

* c-common.c (c_common_nodes_and_builtins): Build type variants for
builtin_structptr_types types even for C.

* gcc.dg/Wbuiltin-declaration-mismatch-7.c: Guard testcase for
lp64, ilp32 and llp64 only.
(fputs): Use unsigned long long instead of size_t for return type.
(vfprintf, vfscanf): Accept arbitrary target specific type for
va_list.

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

5 years ago compiler: improve recursive type detection
ian [Mon, 28 Jan 2019 22:36:05 +0000 (22:36 +0000)] 
compiler: improve recursive type detection

    Detect recursive type definition like
    "type T0 T1; type T1 T2; ...... type Tn T0".

    Fixes golang/go#25320.

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

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

5 years ago PR middle-end/89002
jakub [Mon, 28 Jan 2019 22:34:32 +0000 (22:34 +0000)] 
PR middle-end/89002
* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
for lastprivate/linear IV, push gimplify context around gimplify_assign
and, if it needed any temporaries, pop it into a gimple bind around the
sequence.

* testsuite/libgomp.c/pr89002.c: New test.

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

5 years ago PR middle-end/89002
jakub [Mon, 28 Jan 2019 22:33:33 +0000 (22:33 +0000)] 
PR middle-end/89002
* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
for lastprivate/linear IV, push gimplify context around gimplify_assign
and, if it needed any temporaries, pop it into a gimple bind around the
sequence.

* testsuite/libgomp.c/pr89002.c: New test.

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

5 years ago[libbacktrace] Fix and simplify xcoff_%.c pattern rule
vries [Mon, 28 Jan 2019 22:21:19 +0000 (22:21 +0000)] 
[libbacktrace] Fix and simplify xcoff_%.c pattern rule

When generating xcoff_%.c, the last command is a sed command.  In case of a
sed failure, this will leave an incomplete file, which will appear as up to
date to make, so consequently it will not be regenerated.  Fix this by
sedding into a temporary file instead.

Also, use $< to access the prerequisite xcoff.c, instead of spelling out the
file name once more.

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

* Makefile.am (xcoff_%.c): Generate sed result into temporary file.
Use $< to access prerequisite.
* Makefile.in: Regenerate.

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

5 years ago PR c++/88358 - name wrongly treated as type.
mpolacek [Mon, 28 Jan 2019 22:14:27 +0000 (22:14 +0000)] 
PR c++/88358 - name wrongly treated as type.
* parser.c (cp_parser_direct_declarator): Don't assume a qualified-id
in parameter-list is a type if the function's declarator-id is not
qualified.

* g++.dg/cpp2a/typename1.C: Add dg-error.
* g++.dg/cpp2a/typename13.C: New test.
* g++.dg/cpp2a/typename6.C: Make a function name qualified.
Add typename.

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

5 years ago * Makefile.in: Really regenerate.
uros [Mon, 28 Jan 2019 22:14:19 +0000 (22:14 +0000)] 
* Makefile.in: Really regenerate.

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

5 years ago * g++.dg/cpp0x/enum37.C: Add dg-error.
mpolacek [Mon, 28 Jan 2019 21:58:36 +0000 (21:58 +0000)] 
* g++.dg/cpp0x/enum37.C: Add dg-error.

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

5 years ago2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 28 Jan 2019 13:14:37 +0000 (13:14 +0000)] 
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
        when rhs is of array type correctly.  Fix handling of nested structures.
        Fix handling of indirect_ref together with nop_expr and/or addr_expr.
        (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
        type casts within nested compound expressions.

testsuite:
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-c++-common/Waddress-of-packed-member-1.c: Extended test case.
        * c-c++-common/Waddress-of-packed-member-2.c: New test case.

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

5 years ago2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Mon, 28 Jan 2019 13:10:29 +0000 (13:10 +0000)] 
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * common.opt (-Wattribute-alias): Remove "no-" from name.
        Make -Wattribute-alias command line option and
        #pragma GCC diagnostic ignored "-Wattribute-alias" work again.

testsuite:
2019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc.dg/Wattribute-alias.c: Add test for #pragma GCC diagnostic ignored
        "-Wattribute-alias".

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

5 years ago PR target/89073
jakub [Mon, 28 Jan 2019 10:38:29 +0000 (10:38 +0000)] 
PR target/89073
* doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
-madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
x86 ISA options.
(bmi2): Add missing @opindex.
* doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
options alphabetically.  Add missing 3dnow, 3dnowa, adx, avx, avx2,
avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
xsavec, xsaveopt and xsaves options.

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

5 years ago2019-01-28 Richard Biener <rguenther@suse.de>
rguenth [Mon, 28 Jan 2019 09:36:50 +0000 (09:36 +0000)] 
2019-01-28  Richard Biener  <rguenther@suse.de>

PR debug/89076
* dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
support removal.

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

5 years ago2019-01-28 Richard Biener <rguenther@suse.de>
rguenth [Mon, 28 Jan 2019 09:07:30 +0000 (09:07 +0000)] 
2019-01-28  Richard Biener  <rguenther@suse.de>

PR testsuite/89064
PR tree-optimization/86865
* testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.

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

5 years ago2019-01-28 Richard Biener <rguenther@suse.de>
rguenth [Mon, 28 Jan 2019 08:15:42 +0000 (08:15 +0000)] 
2019-01-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/88739
* tree-cfg.c (verify_types_in_gimple_reference): Verify
BIT_FIELD_REFs only are applied to mode-precision operands
when they are integral.
(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
BIT_FIELD_REFs of non-mode-precision integral operands.

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

5 years agolibgfortran: Use proper gthr.h API
sh [Mon, 28 Jan 2019 06:35:41 +0000 (06:35 +0000)] 
libgfortran: Use proper gthr.h API

libgfortran/

* io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().

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

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

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

5 years ago PR fortran/70696
uros [Sun, 27 Jan 2019 20:44:36 +0000 (20:44 +0000)] 
PR fortran/70696
* gfortran.dg/coarray/event_3.f0: Add save attribue to x.

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

5 years ago PR c++/88815 - narrowing conversion lost in decltype.
mpolacek [Sun, 27 Jan 2019 20:19:41 +0000 (20:19 +0000)] 
PR c++/88815 - narrowing conversion lost in decltype.
PR c++/78244 - narrowing conversion in template not detected.
* cp-tree.h (CONSTRUCTOR_IS_DEPENDENT): New.
* pt.c (instantiation_dependent_r): Consider a CONSTRUCTOR with
CONSTRUCTOR_IS_DEPENDENT instantiation-dependent.
* semantics.c (finish_compound_literal): When the compound literal
isn't instantiation-dependent and the type isn't type-dependent,
fall back to the normal processing.  Set CONSTRUCTOR_IS_DEPENDENT.

* g++.dg/cpp0x/Wnarrowing15.C: New test.
* g++.dg/cpp0x/Wnarrowing16.C: New test.
* g++.dg/cpp0x/constexpr-decltype3.C: New test.
* g++.dg/cpp1y/Wnarrowing1.C: New test.

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

5 years ago PR c++/89024 - ICE with incomplete enum type.
mpolacek [Sun, 27 Jan 2019 19:54:29 +0000 (19:54 +0000)] 
PR c++/89024 - ICE with incomplete enum type.
* call.c (standard_conversion): When converting an
ARITHMETIC_TYPE_P to an incomplete type, return NULL.

* g++.dg/cpp0x/enum37.C: New test.

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

5 years ago2019-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 27 Jan 2019 19:42:34 +0000 (19:42 +0000)] 
2019-01-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/89020
* io/close.c (st_close): Simplify text of error message to not
presume a specific cause of failure to remove file.

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

5 years ago * repinfo.adb (List_Component_Layout): Remove superfluous space for
ebotcazou [Sun, 27 Jan 2019 19:14:14 +0000 (19:14 +0000)] 
* repinfo.adb (List_Component_Layout): Remove superfluous space for
zero-sized field.
* gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
* gcc-interface/gigi.h (create_extra_subtype): Declare.
* gcc-interface/decl.c (TYPE_ARRAY_SIZE_LIMIT): Likewise.
(update_n_elem): New function.
(gnat_to_gnu_entity): Use create_extra_subtype to create extra subtypes
instead of doing it manually.
<E_Array_Type>: Use update_n_elem to compute the maximum size.  Use the
  index type instead of base type for the bounds. Set TYPE_ARRAY_MAX_SIZE
of the array to the maximum size.
<E_Array_Subtype>: Create an extra subtype using the index type of the
base array type for self-referential bounds.  Use update_n_elem to
compute the maximum size.  Set TYPE_ARRAY_MAX_SIZE of the array to the
maximum size.
(gnat_to_gnu_field): Clear DECL_NONADDRESSABLE_P on discriminants.
* gcc-interface/misc.c (gnat_get_alias_set): Return the alias set of
the base type for an extra subtype.
(gnat_type_max_size): Remove obsolete code.
* gcc-interface/trans.c (Attribute_to_gnu): Minor tweak.
(can_be_lower_p): Deal with pathological types.
* gcc-interface/utils.c (create_extra_subtype): New function.
(create_field_decl): Minor tweak.
(max_size) <tcc_reference>: Compute a better value by using the extra
  subtypes on the self-referential bounds.
<tcc_binary>: Rewrite.  Deal with "negative value" in unsigned types.
<tcc_expression>: Likewise.
* gcc-interface/utils2.c (compare_arrays): Retrieve the original bounds
of the arrays upfront.  Swap only if the second length is not constant.
Use comparisons on the original bounds consistently for the null tests.
(build_binary_op): Use TYPE_IS_EXTRA_SUBTYPE_P macro.
(build_allocator): Minor tweak.

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

5 years ago * gcc-interface/decl.c (array_type_has_nonaliased_component): Return
ebotcazou [Sun, 27 Jan 2019 18:05:59 +0000 (18:05 +0000)] 
* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
the same value for every dimension of a multidimensional array type.

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

5 years ago PR target/87214
jakub [Sun, 27 Jan 2019 11:56:44 +0000 (11:56 +0000)] 
PR target/87214
* config/i386/sse.md
(<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
first constants in pairs are multiples of 2.  Formatting fixes.
(avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
first constants in each quadruple are multiples of 4.  Formatting fixes.

* gcc.target/i386/avx512vl-pr87214-1.c: New test.
* gcc.target/i386/avx512vl-pr87214-2.c: New test.

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

5 years ago2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sun, 27 Jan 2019 01:36:40 +0000 (01:36 +0000)] 
2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/89020
* io/close.c (st_close): Fix typo.

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

5 years agoDaily bump.
gccadmin [Sun, 27 Jan 2019 00:16:30 +0000 (00:16 +0000)] 
Daily bump.

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

5 years ago[PR ipa/88933] Careful CFG cleanup in IPA-CP function transformation
jamborm [Sat, 26 Jan 2019 22:19:17 +0000 (22:19 +0000)] 
[PR ipa/88933] Careful CFG cleanup in IPA-CP function transformation

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

PR ipa/88933
* tree-inline.c: Include tree-cfgcleanup.h.
(delete_unreachable_blocks_update_callgraph): Move...
* tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
...here, make externally visible, make second argument bool, adjust
all callers.
* tree-cfgcleanup.c: Include cgraph.h.
* tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
Declare.
* ipa-prop.c: Include tree-cfgcleanup.h.
(ipcp_transform_function): Call
delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.

testsuite/
* gfortran.dg/gomp/pr88933.f90: New test.

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

5 years agoFix ICE when handling void initialized manifest constants.
ibuclaw [Sat, 26 Jan 2019 21:07:15 +0000 (21:07 +0000)] 
Fix ICE when handling void initialized manifest constants.

gcc/d/ChangeLog:

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

PR d/89042
* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
handling a void initialized manifest constant.

gcc/testsuite/ChangeLog:

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

PR d/89042
* gdc.dg/pr89042a.d: New test.
* gdc.dg/pr89042b.d: New test.

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

5 years ago2019-01-26 Harald Anlauf <anlauf@gmx.de>
anlauf [Sat, 26 Jan 2019 20:45:55 +0000 (20:45 +0000)] 
2019-01-26  Harald Anlauf  <anlauf@gmx.de>

PR fortran/57553
* expr.c (check_inquiry): Add list of inquiry functions allowed in
constant expressions for F2008+.

2019-01-26  Harald Anlauf  <anlauf@gmx.de>

PR fortran/57553
* gfortran.dg/pr57553.f90: New test.

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

5 years ago Fix bug number referenced in previous commit.
jvdelisle [Sat, 26 Jan 2019 20:39:33 +0000 (20:39 +0000)] 
Fix bug number referenced in previous commit.

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

5 years ago2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 26 Jan 2019 20:27:16 +0000 (20:27 +0000)] 
2019-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/88020
* io/close.c (st_close): Generate error if calls to 'remove' return
an error.

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

5 years agoAdd myself to MAINTAINERS
anlauf [Sat, 26 Jan 2019 20:12:45 +0000 (20:12 +0000)] 
Add myself to MAINTAINERS

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

5 years ago * gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
ebotcazou [Sat, 26 Jan 2019 16:07:47 +0000 (16:07 +0000)] 
* gcc-interface/trans.c (Regular_Loop_to_gnu): Use the SLOC of the
iteration scheme, if present, throughout the translation.

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

5 years ago * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
ebotcazou [Sat, 26 Jan 2019 15:59:34 +0000 (15:59 +0000)] 
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
by a call to memset if the LHS is a DECL.

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

5 years agolibphobos: Merge phobos and druntime with upstream.
ibuclaw [Sat, 26 Jan 2019 13:41:26 +0000 (13:41 +0000)] 
libphobos: Merge phobos and druntime with upstream.

Commits merged from druntime.

    Fix struct tls_index definition on x32
    https://github.com/dlang/druntime/pull/2354

    Update SectionGroup signatures to match on all targets
    https://github.com/dlang/druntime/pull/2401

    Fix issue 19128 - argument to alloca may be too large
    https://github.com/dlang/druntime/pull/2409

    Define some common filesystem limits in core.stdc.limits
    https://github.com/dlang/druntime/pull/2460

    Use version Darwin instead of OSX in core.sys.posix.aio
    https://github.com/dlang/druntime/pull/2470

Commits merged from phobos.

    Don't run HardFloat tests on SoftFloat systems
    https://github.com/dlang/phobos/pull/5358

    Remove reliance on stdin, stdout, stderr being aliasable
    https://github.com/dlang/phobos/pull/5718

    Solaris: add import clock_gettime to currStdTime
    https://github.com/dlang/phobos/pull/5807

    Don't print debug messages when building unittests
    https://github.com/dlang/phobos/pull/6827

    Add HPPA support to phobos
    Fixes https://gcc.gnu.org/PR89054
    https://github.com/dlang/phobos/pull/6836

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

5 years ago * gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
ebotcazou [Sat, 26 Jan 2019 12:02:51 +0000 (12:02 +0000)] 
* gcc-interface/trans.c (struct loop_info_d): Remove artificial field.
(Loop_Statement_to_gnu): Do not set it.

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

5 years ago * gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting.
ebotcazou [Sat, 26 Jan 2019 11:45:40 +0000 (11:45 +0000)] 
* gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting.
(Acc_gnat_to_gnu): Likewise.
(Acc_Data_to_gnu): Likewise.
(Acc_Var_to_gnu): Likewise.
(Acc_Reduc_to_gnu): Likewise.
(Acc_Size_List_to_gnu): Likewise.
(Pragma_to_gnu) <Pragma_Acc_Loop>: Likewise.
<Pragma_Acc_Data>): Likewise.
(find_loop_for): Remove default value for parameters.
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_And>: Merge into...
<N_Op_Eq>): ...this.

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

5 years ago * gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
ebotcazou [Sat, 26 Jan 2019 11:34:39 +0000 (11:34 +0000)] 
* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Use test on
the sign bit instead of on the sign of the value.
<PLUS_EXPR>: Turn addition of negative constant into subtraction.
<MULT_EXPR>: Add test for degenerate case.
<BIT_AND_EXPR>: Simplify.

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

5 years ago PR preprocessor/88974
jakub [Sat, 26 Jan 2019 10:08:00 +0000 (10:08 +0000)] 
PR preprocessor/88974
* directives.c (SEEN_EOL): Move macro to ...
* internal.h (SEEN_EOL): ... here.
* expr.c (parse_has_include): Don't cpp_get_token if SEEN_EOL ().

* c-c++-common/cpp/pr88974.c: New test.

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

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

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

5 years agoFix PR number in my ChangeLog entry.
vmakarov [Fri, 25 Jan 2019 22:24:43 +0000 (22:24 +0000)] 
Fix PR number in my ChangeLog entry.

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

5 years ago2019-01-25 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 25 Jan 2019 22:13:43 +0000 (22:13 +0000)] 
2019-01-25  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/888846
* ira.c (process_set_for_memref_referenced_p): New.
(memref_referenced_p): Add new param.  Use
process_set_for_memref_referenced_p.  Add new switch cases.
(memref_used_between_p): Pass new arg to memref_referenced_p.

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

5 years ago/cp
paolo [Fri, 25 Jan 2019 19:50:55 +0000 (19:50 +0000)] 
/cp
2019-01-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/88969
* call.c (build_op_delete_call): Implement 7.6.2.5/(10.1).
* decl2.c (coerce_delete_type): Use build_pointer_type instead
of TYPE_POINTER_TO.

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

PR c++/88969
* g++.dg/cpp2a/destroying-delete2.C: New.
* g++.dg/cpp2a/destroying-delete3.C: Likewise.

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

5 years ago2019-01-25 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Fri, 25 Jan 2019 17:55:25 +0000 (17:55 +0000)] 
2019-01-25  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/85780
* decl.c (gfc_match_subroutine): Check for conflict between BIND(C)
and alternative return.

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

PR fortran/85780
* gfortran.dg/pr85780.f90: Update testcase for error message.

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

5 years agoAdd myself to MAINTAINERS
kcy [Fri, 25 Jan 2019 17:23:19 +0000 (17:23 +0000)] 
Add myself to MAINTAINERS

2019-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>

* MAINTAINERS (Write After Approval): Add myself.

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

5 years ago[backtrace] Avoid segfault
nathan [Fri, 25 Jan 2019 17:16:53 +0000 (17:16 +0000)] 
[backtrace] Avoid segfault

https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01521.html

* elf.c (elf_add): Pass "" filename to recursive call with
separated debug.

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

5 years agoThis is pretty unlikely in real code, but similar to Arm, the AArch64
rearnsha [Fri, 25 Jan 2019 17:09:33 +0000 (17:09 +0000)] 
This is pretty unlikely in real code, but similar to Arm, the AArch64
ABI has a bug with the handling of 128-bit bit-fields, where if the
bit-field dominates the overall alignment the back-end code may end up
passing the argument correctly.  This is a regression that started in
gcc-6 when the ABI support code was updated to support overaligned
types.  The fix is very similar in concept to the Arm fix.  128-bit
bit-fields are fortunately extremely rare, so I'd be very surprised if
anyone has been bitten by this.

PR target/88469
gcc/
* config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new
argument ABI_BREAK.  Set to true if the calculated alignment has
changed in gcc-9.  Check bit-fields for their base type alignment.
(aarch64_layout_arg): Warn if argument passing has changed in gcc-9.
(aarch64_function_arg_boundary): Likewise.
(aarch64_gimplify_va_arg_expr): Likewise.

gcc/testsuite/
* gcc.target/aarch64/aapcs64/test_align-10.c: New test.
* gcc.target/aarch64/aapcs64/test_align-11.c: New test.
* gcc.target/aarch64/aapcs64/test_align-12.c: New test.

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

5 years agoFix output_constructor_bitfield handling of wide bitfields (PR89037)
rsandifo [Fri, 25 Jan 2019 16:57:32 +0000 (16:57 +0000)] 
Fix output_constructor_bitfield handling of wide bitfields (PR89037)

The testcase was failing because we were trying to access
TREE_INT_CST_ELT (x, 1) of a 128-bit integer that was small enough
to need only a single element.

2019-01-25  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
PR middle-end/89037
* varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
instead of accessing TREE_INT_CST_ELT directly.

gcc/testsuite/
PR middle-end/89037
* gcc.dg/pr89037.c: New test.

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

5 years agoFix Xiong's changelogs a bit
segher [Fri, 25 Jan 2019 16:20:40 +0000 (16:20 +0000)] 
Fix Xiong's changelogs a bit

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

5 years ago[libbacktrace] Fix strrchr segfault
vries [Fri, 25 Jan 2019 14:39:58 +0000 (14:39 +0000)] 
[libbacktrace] Fix strrchr segfault

Currently, when running a libbacktrace testcase t with .gnu_debuglink to
t.debug, and t.debug having a .gnu_debugaltlink to t.alt.debug, a segfault
is triggered when calling strrchr with a NULL string from
elf_find_debugfile_by_debuglink.  The NULL string originates from the elf_add
called for the .gnu_debugaltlink, which uses NULL as filename argument.

Fix this by using "" as filename argument instead.

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

* elf.c (elf_add): When handling .gnu_debugaltlink, call elf_add with
filename == "".
* Makefile.am (TESTS): Add btest_dwz_gnudebuglink.
* Makefile.in: Regenerate.

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

5 years ago[libbacktrace] Rename dtest to btest_gnudebuglink
vries [Fri, 25 Jan 2019 14:39:47 +0000 (14:39 +0000)] 
[libbacktrace] Rename dtest to btest_gnudebuglink

Create a pattern rule for copying an existing test-case, separating out the
debug information into a .debug file, and referencing the .debug file from
the copied test-case using a .gnu_debuglink.

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

* Makefile.am: Rewrite dtest rule into "%_gnudebuglink" pattern rule.
(TESTS): Rename dtest to btest_gnudebuglink.
* Makefile.in: Regenerate.

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

5 years ago[testsuite] Add missing fenv effective target to fp-int-convert-timode* tests.
clyon [Fri, 25 Jan 2019 13:36:37 +0000 (13:36 +0000)] 
[testsuite] Add missing fenv effective target to fp-int-convert-timode* tests.

2019-01-25  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* doc/sourcebuild.texi (Environment attributes): Add fenv and
fenv_exceptions description.

2019-01-25  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_fenv): New.
* gcc.dg/torture/fp-int-convert-float128-timode-3.c: Add missing
fenv effective target.
* gcc.dg/torture/fp-int-convert-timode-1.c: Likewise.
* gcc.dg/torture/fp-int-convert-timode-2.c: Likewise.
* gcc.dg/torture/fp-int-convert-timode-3.c: Likewise.
* gcc.dg/torture/fp-int-convert-timode-4.c: Likewise.

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

5 years ago[PATCH][AArch64] Fix generation of tst (PR87763)
wilco [Fri, 25 Jan 2019 13:29:06 +0000 (13:29 +0000)] 
[PATCH][AArch64] Fix generation of tst (PR87763)

The TST instruction no longer matches in all cases due to changes in
Combine.  The fix is simple, we now need to allow a subreg as well when
selecting the cc_mode.  This fixes the tst_5.c and tst_6.c failures.

AArch64 regress & bootstrap OK.

PR rtl-optimization/87763
* config/aarch64/aarch64.c (aarch64_select_cc_mode):
Allow SUBREG when matching CC_NZmode compare.

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

5 years ago2019-01-25 Richard Biener <rguenther@suse.de>
rguenth [Fri, 25 Jan 2019 12:46:24 +0000 (12:46 +0000)] 
2019-01-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/89049
* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
Look at the pattern stmt to determine if the stmt is vectorized.

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

5 years ago[AArch64][SVE] Handle register-register pred_movs
rsandifo [Fri, 25 Jan 2019 12:26:49 +0000 (12:26 +0000)] 
[AArch64][SVE] Handle register-register pred_movs

pred_mov<mode> is defined for predicated loads and stores, where
exactly one of the operands is a register.  However, the instruction
condition only checked for "one" rather than "exactly one", and
Prathamesh found a case in which combine could fold a predicated
pattern to an all-register pred_mov<mode>.  The constraints would
then force one of the registers to memory.

This patch splits all-register forms into a normal move as soon
as possible, but also adds an all-register alternative in case the
instruction doesn't get split before RA (or in case the RA can use
inheritance to avoid a reload).

The testcase for this will be added to aarch64/sve-acle-branch.

2018-01-25  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* config/aarch64/aarch64-sve.md (*pred_mov<mode>)
(pred_mov<mode>): Handle all-register forms using both a new
alternative and a split.

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

5 years ago2019-01-25 Richard Biener <rguenther@suse.de>
rguenth [Fri, 25 Jan 2019 08:13:34 +0000 (08:13 +0000)] 
2019-01-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/86865
* graphite-scop-detection.c (scop_detection::can_represent_loop):
Reject non-do-while loops.

* gcc.dg/graphite/pr86865.c: New testcase.
* gcc.dg/graphite/pr69728.c: XFAIL.
* gcc.dg/graphite/scop-21.c: Likewise.

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

5 years agoDaily bump.
gccadmin [Fri, 25 Jan 2019 00:16:33 +0000 (00:16 +0000)] 
Daily bump.

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