Christophe Lyon [Mon, 4 Feb 2019 08:55:00 +0000 (08:55 +0000)]
contrib/dg-extract-results: Handle timeout warnings
2019-02-04 Christophe Lyon <christophe.lyon@linaro.org>
contrib/
* dg-extract-results.py: Keep timeout warnings next to their
matching test.
* dg-extract-results.sh: Likewise.
From-SVN: r268511
Jakub Jelinek [Mon, 4 Feb 2019 08:52:18 +0000 (09:52 +0100)]
* g++.dg/torture/alias-1.C: New test.
From-SVN: r268510
Chung-Ju Wu [Mon, 4 Feb 2019 07:31:45 +0000 (07:31 +0000)]
[NDS32] Restrict address mode, when symbol is TLS model.
gcc/
* config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
into consideration.
From-SVN: r268509
Chung-Ju Wu [Mon, 4 Feb 2019 07:17:36 +0000 (07:17 +0000)]
[NDS32] Remove all -mtlsdesc-trmpoline related things.
gcc/
* config.gcc (with_nds32_lib, glibc):
Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
* config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
(NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.
From-SVN: r268508
GCC Administrator [Mon, 4 Feb 2019 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268507
Martin Sebor [Sun, 3 Feb 2019 22:47:41 +0000 (22:47 +0000)]
PR c/69661 - missing -Wsequence-point warning
gcc/testsuite.ChangeLog:
* c-c++-common/Wsequence-point-2.c: New test.
From-SVN: r268504
Martin Sebor [Sun, 3 Feb 2019 21:48:27 +0000 (21:48 +0000)]
PR c++/44648 - missing -Wunused warning on a const variable in if statement
gcc/testsuite/ChangeLog:
* g++.dg/warn/Wunused-var-35.C: New test.
From-SVN: r268503
Thomas Koenig [Sun, 3 Feb 2019 19:38:25 +0000 (19:38 +0000)]
re PR fortran/67679 (-Wunitialized reports on compiler-generated variables)
2019-02-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/67679
* trans-array.c (gfc_array_allocate): For setting the bounds on
the new array, add a condition for a not previously allocated
variable.
2019-02-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/67679
* gfortran.dg/warn_undefined_1.f90: New test.
* gfortran.dg/coarray_lock_7.f90: Fix patterns in test.
From-SVN: r268502
Uros Bizjak [Sun, 3 Feb 2019 16:48:41 +0000 (17:48 +0100)]
re PR target/89071 (AVX vcvtsd2ss lets us avoid PXOR dependency breaking for scalar float<->double and other scalar xmm,xmm instructions)
PR target/89071
* config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
Do not prefer (v,v) alternative for non-AVX targets and (m,v)
alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
(*rcpsf2_sse): Ditto.
(*rsqrtsf2_sse): Ditto.
(sse4_1_round<mode<2): Ditto.
From-SVN: r268496
Richard Biener [Sun, 3 Feb 2019 10:53:01 +0000 (10:53 +0000)]
re PR debug/87295 ([early debug] ICE with -ffat-lto-objects -fdebug-types-section -g)
2019-02-03 Richard Biener <rguenther@suse.de>
PR debug/87295
* dwarf2out.c (copy_ancestor_tree): Register non-stubs as
orig.
* g++.dg/debug/dwarf2/pr87295.C: New testcase.
From-SVN: r268485
GCC Administrator [Sun, 3 Feb 2019 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268483
Dominique d'Humieres [Sat, 2 Feb 2019 21:44:34 +0000 (22:44 +0100)]
re PR fortran/81344 (Can't disable -ffpe-trap (or not documented))
2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR fortran/81344
* invoke.texi: Document the behavior of repeated -ffpe-trap
and -ffpe-summary.
From-SVN: r268480
Thomas Koenig [Sat, 2 Feb 2019 16:21:43 +0000 (16:21 +0000)]
re PR fortran/88298 (Bogus conversion warning for CSHIFT with -fno-range-check -m64)
2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88298
* arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
* gfortran.h (gfc_expr): Add flag do_not_warn.
* intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
no warning is desired.
2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88298
* gfortran.dg/warn_conversion_10.f90: New test.
From-SVN: r268475
Paul Thomas [Sat, 2 Feb 2019 09:23:30 +0000 (09:23 +0000)]
re PR fortran/88393 ([OOP] Segfault with type-bound assignment)
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88393
* trans-expr.c (gfc_conv_procedure_call): For derived entities,
passed in parentheses to class formals, invert the order of
copying allocatable components to taking the _data of the
class expression.
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88393
* gfortran.dg/alloc_comp_assign_16.f03 : New test.
From-SVN: r268474
Paul Thomas [Sat, 2 Feb 2019 09:16:44 +0000 (09:16 +0000)]
re PR fortran/88980 (segfault on allocatable string member assignment)
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88980
* trans-array.c (gfc_array_init_size): Add element_size to the
arguments.
(gfc_array_allocate): Remove the recalculation of the size of
the element and use element_size from the call to the above.
Unconditionally set the span field of the descriptor.
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88980
* gfortran.dg/realloc_on_assign_32.f90 : New test.
From-SVN: r268473
Paul Thomas [Sat, 2 Feb 2019 09:10:58 +0000 (09:10 +0000)]
re PR fortran/88685 (pointer class array argument indexing)
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88685
* expr.c (is_subref_array): Move the check for class pointer
dummy arrays to after the reference check. If we haven't seen
an array reference other than an element and a component is not
class or derived, return false.
2019-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/88685
* gfortran.dg/pointer_array_component_3.f90 : New test.
From-SVN: r268472
Jason Merrill [Sat, 2 Feb 2019 04:21:06 +0000 (23:21 -0500)]
PR c++/88761 - ICE with reference capture of constant.
Here, we capture nf, then the use of the proxy decays to a constant during
semantic processing of +nf. Since we saw some decay from proxy to constant,
we walk through the lambda body to see which proxies are still used, but we
weren't walking into subtrees of DECL_EXPR at all, so we missed the use of
&nf in the initializer of y, and removed the capture. But then at
instantiation time we try to use nf, don't have a proxy anymore, and ICE.
* lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for
non-proxy decls.
From-SVN: r268471
Jason Merrill [Sat, 2 Feb 2019 04:19:00 +0000 (23:19 -0500)]
* nsdmi-template14.C: Expect error for last example.
From-SVN: r268470
GCC Administrator [Sat, 2 Feb 2019 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268469
Jakub Jelinek [Sat, 2 Feb 2019 00:04:39 +0000 (01:04 +0100)]
re PR middle-end/87887 (ICE in make_ssa_name_fn, at tree-ssanames.c:269)
PR middle-end/87887
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Punt with warning on aggregate return or argument types. Ignore
type/mode checking for uniform arguments.
* gcc.dg/gomp/pr87887-1.c: New test.
* gcc.dg/gomp/pr87887-2.c: New test.
From-SVN: r268466
Ian Lance Taylor [Fri, 1 Feb 2019 23:57:08 +0000 (23:57 +0000)]
runtime: add hurd netpoll and semaphore support
Patch by Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/160827
From-SVN: r268465
Joseph Myers [Fri, 1 Feb 2019 23:04:22 +0000 (23:04 +0000)]
Regenerate .pot files.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r268464
Ian Lance Taylor [Fri, 1 Feb 2019 22:55:55 +0000 (22:55 +0000)]
runtime: add getproccount for hurd
Patch by Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/160825
From-SVN: r268463
Jakub Jelinek [Fri, 1 Feb 2019 22:54:05 +0000 (23:54 +0100)]
re PR fortran/83246 (internal compiler error or loader problem might be related to a PARAMETER statement being in a BLOCK)
PR fortran/83246
PR fortran/89084
* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
if sym->ns->construct_entities rather than if
sym->ns->parent->code->op == EXEC_BLOCK.
* gfortran.dg/pr89084.f90: New test.
* gfortran.dg/lto/pr89084_0.f90: New test.
* gfortran.dg/pr83246.f90: New test.
From-SVN: r268462
Ian Lance Taylor [Fri, 1 Feb 2019 22:46:39 +0000 (22:46 +0000)]
libgo: add configury and sysinfo support for hurd
Patch by Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/160824
From-SVN: r268461
Ian Lance Taylor [Fri, 1 Feb 2019 22:11:50 +0000 (22:11 +0000)]
libgo: add hurd build tags to test files
Patch by Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/160823
From-SVN: r268460
Ian Lance Taylor [Fri, 1 Feb 2019 21:57:36 +0000 (21:57 +0000)]
libgo: add hurd build tags
Patch by Svante Signell.
Reviewed-on: https://go-review.googlesource.com/c/160822
From-SVN: r268459
Ian Lance Taylor [Fri, 1 Feb 2019 21:55:38 +0000 (21:55 +0000)]
runtime, sync: use __atomic intrinsics instead of __sync
GCC has supported the __atomic intrinsics since 4.7. They are better
than the __sync intrinsics in that they specify a memory model and,
more importantly for our purposes, they are reliably implemented
either in the compiler or in libatomic.
Fixes https://gcc.gnu.org/PR52084
Reviewed-on: https://go-review.googlesource.com/c/160820
From-SVN: r268458
Marek Polacek [Fri, 1 Feb 2019 19:58:44 +0000 (19:58 +0000)]
PR c++/88325 - ICE with invalid out-of-line template member definition.
* parser.c (cp_parser_class_name): Don't call make_typename_type
for overloads.
* g++.dg/cpp2a/typename14.C: New test.
From-SVN: r268455
Segher Boessenkool [Fri, 1 Feb 2019 16:26:48 +0000 (17:26 +0100)]
combine: Use TDF_DETAILS for "can't combine" dump prints
Some people use the -fdump-rtl-combine dumps (instead of the -da or
-fdump-rtl-combine-all dump), but the "Can't combine iN into iM"
messages do not make any sense if the failed combine attempts are not
printed otherwise. So let's change that.
* combine.c (try_combine): Do not print "Can't combine" messages unless
printing failed combination attempts.
From-SVN: r268453
Martin Jambor [Fri, 1 Feb 2019 16:22:13 +0000 (17:22 +0100)]
[PR hsa/87863] Set assembler name of group and global variables early
2019-02-01 Martin Jambor <mjambor@suse.cz>
PR hsa/87863
* omp-grid.c (grid_mark_variable_segment): Set assembler name of group
segment and global segment variables before making them static.
From-SVN: r268452
Martin Jambor [Fri, 1 Feb 2019 16:15:36 +0000 (17:15 +0100)]
Add two missing dump_enabled_p calls
2019-02-01 Martin Jambor <mjambor@suse.cz>
* omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
missed optimization dump with dump_enabled_p.
From-SVN: r268451
Ian Lance Taylor [Fri, 1 Feb 2019 15:00:46 +0000 (15:00 +0000)]
compiler: support alias to pointer type as receiver in method declaration
Fixes golang/go#27994.
Reviewed-on: https://go-review.googlesource.com/c/160459
From-SVN: r268450
Richard Biener [Fri, 1 Feb 2019 13:41:43 +0000 (13:41 +0000)]
re PR tree-optimization/88597 (Compile time hog w/ -O1 -fpeel-loops)
2019-02-01 Richard Biener <rguenther@suse.de>
PR middle-end/88597
* tree-scalar-evolution.c (analyze_scalar_evolution): Set up
the instantiate cache.
(instantiate_scev_binary): Elide second operand procesing
if equal to the first.
* tree-chrec.c (chrec_contains_symbols): Add visited set.
(chrec_contains_undetermined): Likewise.
(tree_contains_chrecs): Likewise.
* gcc.dg/torture/pr88597.c: New testcase.
From-SVN: r268449
Jan Hubicka [Fri, 1 Feb 2019 10:46:36 +0000 (11:46 +0100)]
* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
From-SVN: r268448
Richard Biener [Fri, 1 Feb 2019 09:17:14 +0000 (09:17 +0000)]
re PR tree-optimization/85497 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206)
2019-02-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/85497
* gcc.dg/graphite/pr85497.c: New testcase.
From-SVN: r268447
Richard Biener [Fri, 1 Feb 2019 09:08:55 +0000 (09:08 +0000)]
re PR debug/87451 (FAIL: gcc.dg/debug/dwarf2/inline5.c)
2019-02-01 Richard Biener <rguenther@suse.de>
PR testsuite/87451
* gcc.dg/debug/dwarf2/inline5.c: Allow more comment variants.
From-SVN: r268446
Jakub Jelinek [Fri, 1 Feb 2019 08:44:23 +0000 (09:44 +0100)]
re PR tree-optimization/89143 (comparison of abs(i) against excessive constant less than UXXX_MAX no longer folded)
PR tree-optimization/89143
* wide-int-range.h (wide_int_range_absu): Declare.
* wide-int-range.cc (wide_int_range_absu): New function.
* tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.
* gcc.dg/tree-ssa/vrp121.c: New test.
From-SVN: r268445
Jakub Jelinek [Fri, 1 Feb 2019 08:43:02 +0000 (09:43 +0100)]
re PR tree-optimization/88107 (ICE in find_outermost_region_in_block, at tree-cfg.c:7157)
PR tree-optimization/88107
* tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
instead of assertion that eh_region_outermost is non-NULL, if it
is NULL, set *ALL to true and return NULL.
(move_sese_region_to_fn): Adjust caller, if all is set, call
duplicate_eh_regions with NULL region.
* gcc.dg/gomp/pr88107.c: New test.
From-SVN: r268444
Jakub Jelinek [Fri, 1 Feb 2019 08:42:01 +0000 (09:42 +0100)]
re PR c++/87175 (__attribute__)) is ignored by the parser)
PR c++/87175
* parser.c (cp_parser_gnu_attributes_opt): Set ok to false
if require_open failed.
* g++.dg/ext/attrib57.C: New test.
From-SVN: r268443
Richard Biener [Fri, 1 Feb 2019 08:07:35 +0000 (08:07 +0000)]
re PR rtl-optimization/88593 (cleanup_cfg may make cached dominance info stale)
2019-02-01 Richard Biener <rguenth@suse.de>
PR rtl-optimization/88593
* mode-switching.c (optimize_mode_switching): Free dominators before
calling cleanup_cfg.
From-SVN: r268442
Bin Cheng [Fri, 1 Feb 2019 02:39:52 +0000 (02:39 +0000)]
re PR tree-optimization/88932 (ICE: verify_ssa failed (Error: definition in block 29 does not dominate use in block 25))
PR tree-optimization/88932
* tree-predcom.c (try_combine_chains): Get loop bbs in dom order.
gcc/testsuite
* gfortran.dg/pr88932.f90: New test.
From-SVN: r268439
Marek Polacek [Fri, 1 Feb 2019 00:30:46 +0000 (00:30 +0000)]
PR c++/88983 - ICE with switch in constexpr function.
* constexpr.c (cxx_eval_switch_expr): Use SWITCH_COND and SWITCH_BODY.
(cxx_eval_constant_expression) <case COND_EXPR>: Don't look for the
label in the else branch if we found it in the then branch.
* g++.dg/cpp1y/constexpr-88983.C: New test.
From-SVN: r268438
GCC Administrator [Fri, 1 Feb 2019 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268437
Jakub Jelinek [Thu, 31 Jan 2019 23:05:01 +0000 (00:05 +0100)]
re PR middle-end/89137 (gcc/omp-low.c:7135: possible read of uninit memory ?)
PR middle-end/89137
* omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
bogus clang warning.
From-SVN: r268434
Uros Bizjak [Thu, 31 Jan 2019 22:59:36 +0000 (23:59 +0100)]
* libgfortran/ChangeLog: Better commit message for my last commit.
From-SVN: r268433
Thomas Koenig [Thu, 31 Jan 2019 22:21:28 +0000 (22:21 +0000)]
re PR fortran/88669 (Contiguous attribute wrongly rejected)
2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88669
* resolve.c (resolve_component): If the reference is a BT_CLASS,
copy the contiguous attribute from the reference and use the
correct attributes.
2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88669
* gfortran.dg/contiguous_9.f90: New test.
From-SVN: r268432
Uros Bizjak [Thu, 31 Jan 2019 20:49:02 +0000 (21:49 +0100)]
t-linux: Add -mfp-rounding-mode=d to HOST_LIBGCC2_CFLAGS.
* config/alpha/t-linux: Add -mfp-rounding-mode=d
to HOST_LIBGCC2_CFLAGS.
From-SVN: r268430
Marek Polacek [Thu, 31 Jan 2019 20:21:11 +0000 (20:21 +0000)]
PR c++/89083, c++/80864 - ICE with list initialization in template.
* constexpr.c (adjust_temp_type): Use copy_node and change the type
instead of using build_constructor.
* decl.c (reshape_init_r): Don't reshape a digested initializer.
Return the initializer for COMPOUND_LITERAL_P.
* g++.dg/cpp0x/initlist107.C: New test.
* g++.dg/cpp0x/initlist108.C: New test.
* g++.dg/cpp0x/initlist109.C: New test.
* g++.dg/cpp0x/initlist110.C: New test.
* g++.dg/cpp0x/initlist111.C: New test.
* g++.dg/cpp0x/initlist112.C: New test.
* g++.dg/init/ptrfn4.C: New test.
From-SVN: r268428
Uros Bizjak [Thu, 31 Jan 2019 20:06:42 +0000 (21:06 +0100)]
re PR target/89071 (AVX vcvtsd2ss lets us avoid PXOR dependency breaking for scalar float<->double and other scalar xmm,xmm instructions)
PR target/89071
* config/i386/i386.md (*extendsfdf2): Split out reg->reg
alternative to avoid partial SSE register stall for TARGET_AVX.
(truncdfsf2): Ditto.
(sse4_1_round<mode>2): Ditto.
From-SVN: r268427
David Malcolm [Thu, 31 Jan 2019 18:09:29 +0000 (18:09 +0000)]
Fix bogus fix-it for FLT_MAX (PR c/89122)
PR c/89122 reports that we emit a bogus fix-it hint for the case where
the code uses FLT_MAX, but has included <limits.h> rather than <float.h>:
x.c:3:11: error: 'FLT_MAX' undeclared here (not in a function); did you
mean 'INT_MAX'?
3 | float f = FLT_MAX;
| ^~~~~~~
| INT_MAX
This patch adds some knowledge of <float.h> (and <cfloat>) to
known-headers.cc, fixing the issue:
x.c:3:11: error: 'FLT_MAX' undeclared here (not in a function)
3 | float f = FLT_MAX;
| ^~~~~~~
x.c:2:1: note: 'FLT_MAX' is defined in header '<float.h>'; did you forget
to '#include <float.h>'?
1 | #include <limits.h>
+++ |+#include <float.h>
2 |
gcc/c-family/ChangeLog:
PR c/89122
* known-headers.cc (get_stdlib_header_for_name): Add
{FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
gcc/testsuite/ChangeLog:
PR c/89122
* g++.dg/spellcheck-stdlib.C (test_FLT_MAX): New test.
* gcc.dg/spellcheck-stdlib.c (test_FLT_MAX): New test.
From-SVN: r268426
Jason Merrill [Thu, 31 Jan 2019 15:03:21 +0000 (10:03 -0500)]
PR c++/88752 - ICE with lambda and constexpr if.
In this testcase, we look for an instantiation of the outer lambda from
within the inner lambda. enclosing_instantiation_of didn't handle this
properly, as it assumed that any references would be from the same lambda
nesting depth. Fixed thus.
* cp-tree.h (LAMBDA_EXPR_INSTANTIATED): New.
* pt.c (tsubst_lambda_expr): Set it.
(instantiated_lambda_fn_p): Check it.
(enclosing_instantiation_of): Use it.
From-SVN: r268424
Bill Schmidt [Thu, 31 Jan 2019 13:53:06 +0000 (13:53 +0000)]
re PR middle-end/89008 (O2 and O1 results differ for simple test)
2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
PR tree-optimization/89008
* gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
process anything of the form X * 0.
From-SVN: r268422
Tom de Vries [Thu, 31 Jan 2019 12:17:32 +0000 (12:17 +0000)]
[libbacktrace] Fix .gnu_debugaltlink build-id check
The 'debugaltlink_name_len =+ 1' bug reported in PR89136 exposes the fact that
the build-id is not verified for the .gnu_debugaltlink.
Fix both problems.
2019-01-31 Tom de Vries <tdevries@suse.de>
PR libbacktrace/89136
* elf.c (elf_add): Read build-id if with_buildid_data. Fix
'debugaltlink_name_len =+ 1'.
From-SVN: r268419
Richard Biener [Thu, 31 Jan 2019 11:51:59 +0000 (11:51 +0000)]
re PR tree-optimization/89135 (internal compiler error: in gimple_split_edge, at tree-cfg.c:2747)
2019-01-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/89135
* tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
with abnormal preds.
* gcc.dg/torture/pr89135.c: New testcase.
From-SVN: r268417
Jakub Jelinek [Thu, 31 Jan 2019 08:20:45 +0000 (09:20 +0100)]
re PR sanitizer/89124 (__attribute__((no_sanitize_address)) interferes with __attribute__((target(xxx))))
PR sanitizer/89124
* ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
always_inline callees into no_sanitize_address callers.
* c-c++-common/asan/pr89124.c: New test.
From-SVN: r268415
Richard Biener [Thu, 31 Jan 2019 08:09:59 +0000 (08:09 +0000)]
re PR rtl-optimization/89115 (compile time and memory hog)
2019-01-31 Richard Biener <rguenther@suse.de>
PR rtl-optimization/89115
* lra.c (lra_rtx_hash): Properly hash CONST_INT values.
From-SVN: r268414
Jakub Jelinek [Thu, 31 Jan 2019 07:37:34 +0000 (08:37 +0100)]
re PR libstdc++/88170 (pretty printer FAILs)
PR libstdc++/88170
* c-pretty-print.c (pp_c_enumeration_constant): Print always as
a C cast in pp_c_flag_gnu_v3 mode.
* cxx-pretty-print.c (pp_cxx_enumeration_constant): Print always as
a C cast in pp_c_flag_gnu_v3 mode.
From-SVN: r268413
Jerry DeLisle [Thu, 31 Jan 2019 03:37:16 +0000 (03:37 +0000)]
re PR fortran/52564 (Accepts invalid: Missing I/O list after comma)
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.
From-SVN: r268412
Martin Sebor [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.
From-SVN: r268411
GCC Administrator [Thu, 31 Jan 2019 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268410
Jakub Jelinek [Wed, 30 Jan 2019 23:28:53 +0000 (00:28 +0100)]
re PR c++/88988 (ICE: Segmentation fault (in lookup_name_real_1))
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.
From-SVN: r268407
Jonathan Wakely [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.
From-SVN: r268406
Uros Bizjak [Wed, 30 Jan 2019 23:09:40 +0000 (00:09 +0100)]
sfp-exceptions.c (__sfp_handle_exceptions): Remove stray semicolon.
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions):
Remove stray semicolon.
From-SVN: r268405
Vladimir Makarov [Wed, 30 Jan 2019 21:49:23 +0000 (21:49 +0000)]
re PR rtl-optimization/87246 (ICE in decompose_normal_address, at rtlanal.c:6379)
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.
From-SVN: r268404
Bill Schmidt [Wed, 30 Jan 2019 20:52:08 +0000 (20:52 +0000)]
re PR target/87064 (libgomp.oacc-fortran/reduction-3.f90 fails starting with r263751)
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.
From-SVN: r268403
Uros Bizjak [Wed, 30 Jan 2019 20:44:35 +0000 (21:44 +0100)]
re PR fortran/88678 (Many gfortran.dg/ieee/ieee_X.f90 test cases fail starting with r267465)
PR fortran/88678
* config/fpu-glibc.h (support_fpu_trap): Do not try to enable
exceptions to determine if exception is supported.
From-SVN: r268402
Marek Polacek [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.
From-SVN: r268400
Ulrich Drepper [Wed, 30 Jan 2019 16:23:44 +0000 (16:23 +0000)]
* doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
From-SVN: r268398
Ian Lance Taylor [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
From-SVN: r268397
Dominique d'Humieres [Wed, 30 Jan 2019 15:53:51 +0000 (16:53 +0100)]
re PR fortran/52884 (double precision constants promoted to 16 byte by -fdefault-real-8)
2019-01-30 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR fortran/52884
* invoke.texi: Document the promotion of double precision
constants.
From-SVN: r268396
Richard Biener [Wed, 30 Jan 2019 15:11:04 +0000 (15:11 +0000)]
re PR rtl-optimization/89115 (compile time and memory hog)
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.
From-SVN: r268394
Uros Bizjak [Wed, 30 Jan 2019 15:04:06 +0000 (16:04 +0100)]
re PR fortran/88678 (Many gfortran.dg/ieee/ieee_X.f90 test cases fail starting with r267465)
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.
From-SVN: r268392
Kelvin Nilsen [Wed, 30 Jan 2019 15:01:40 +0000 (15:01 +0000)]
rs6000-c.c (altivec-resolve_overloaded_builtin): Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT.
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.
From-SVN: r268391
Thomas Schwinge [Wed, 30 Jan 2019 14:40:10 +0000 (15:40 +0100)]
Default compute dimensions: list "-fopenacc-dim" in documentation
gcc/
* doc/invoke.texi (C Language Options): List "-fopenacc-dim".
From-SVN: r268390
Richard Biener [Wed, 30 Jan 2019 12:41:13 +0000 (12:41 +0000)]
re PR tree-optimization/89111 (wrong code at -O1 and above on x86_64-linux-gnu)
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.
From-SVN: r268388
Andrew Stubbs [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.
From-SVN: r268384
Jakub Jelinek [Wed, 30 Jan 2019 07:51:24 +0000 (08:51 +0100)]
re PR c++/89105 (-Wabi warns for functions with internal linkage)
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.
From-SVN: r268382
Jakub Jelinek [Wed, 30 Jan 2019 07:49:58 +0000 (08:49 +0100)]
re PR c/89061 (GCC 9 introduces false positive in -Wjump-misses-init)
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.
From-SVN: r268381
Ulrich Drepper [Wed, 30 Jan 2019 07:18:22 +0000 (07:18 +0000)]
dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears after '='.
* dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
after '='.
From-SVN: r268380
Martin Sebor [Wed, 30 Jan 2019 03:04:14 +0000 (03:04 +0000)]
PR middle-end/88956 - ICE: Floating point exception on a memcpy from
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.
From-SVN: r268378
Jason Merrill [Wed, 30 Jan 2019 02:43:04 +0000 (21:43 -0500)]
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.
From-SVN: r268377
Marek Polacek [Wed, 30 Jan 2019 02:32:33 +0000 (02:32 +0000)]
re PR testsuite/89110 (r268343 breaks several tests in c++2a)
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.
From-SVN: r268376
GCC Administrator [Wed, 30 Jan 2019 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268375
Thomas Koenig [Tue, 29 Jan 2019 22:40:26 +0000 (22:40 +0000)]
re PR fortran/57048 (Handling of C_PTR and C_FUNPTR leads to reject valid)
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.
From-SVN: r268372
Jakub Jelinek [Tue, 29 Jan 2019 21:09:41 +0000 (22:09 +0100)]
re PR c++/66676 (pragma omp simd aligned(x) results in "internal compiler error: Segmentation fault")
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.
From-SVN: r268370
Tom de 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.
From-SVN: r268369
Jason Merrill [Tue, 29 Jan 2019 15:39:40 +0000 (10:39 -0500)]
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.
From-SVN: r268368
Ian Lance Taylor [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
From-SVN: r268366
Vineet Gupta [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
From-SVN: r268365
Rainer Orth [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.
From-SVN: r268362
Richard Biener [Tue, 29 Jan 2019 08:12:02 +0000 (08:12 +0000)]
re PR debug/87295 ([early debug] ICE with -ffat-lto-objects -fdebug-types-section -g)
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.
From-SVN: r268361
Tom de 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.
From-SVN: r268360
Jonathan Wakely [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.
From-SVN: r268359
Ian Lance Taylor [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
From-SVN: r268358
Jonathan Wakely [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.
From-SVN: r268357
Jonathan Wakely [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.
From-SVN: r268356
Jonathan Wakely [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.
From-SVN: r268355
Jonathan Wakely [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.
From-SVN: r268354
GCC Administrator [Tue, 29 Jan 2019 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268353