Jonathan Wakely [Tue, 5 Feb 2019 14:44:56 +0000 (14:44 +0000)]
PR libstdc++/89090 avoid C++17 features in C++11/C++14 code
Although GCC and Clang both allow these features pre-C++17 in system
headers, Clang does issue warnings with -Wsystem-headers. It can also
complicate bisection and/or testcase reduction if # line markers are
stripped, because the code won't be known to come from system headers.
PR libstdc++/89090
* include/bits/stl_uninitialized.h (__relocate_a_1): Make unused
parameter unnamed. Add message to static assertion.
* include/bits/vector.tcc (vector::reserve, vector::_M_realloc_insert)
(vector::_M_default_append): Use _GLIBCXX17_CONSTEXPR for if constexpr
in C++11 code.
From-SVN: r268536
Martin Liska [Tue, 5 Feb 2019 12:17:45 +0000 (13:17 +0100)]
GCOV: remove misleading branches and calls info for -f option (PR gcov-profile/89000).
2019-02-05 Martin Liska <mliska@suse.cz>
PR gcov-profile/89000
* gcov.c (function_summary): Remove argument.
(file_summary): New function.
(print_usage): Replace tabs with spaces.
(generate_results): Use new function file_summary.
From-SVN: r268533
Marc Glisse [Tue, 5 Feb 2019 09:33:36 +0000 (10:33 +0100)]
Rename __is_trivially_relocatable to __is_bitwise_relocatable.
2019-02-05 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/87106
* include/bits/stl_uninitialized.h (__is_trivially_relocatable):
Rename...
(__is_bitwise_relocatable): ... to this.
(__relocate_a_1): Adapt.
* include/bits/stl_deque.h (__is_trivially_relocatable): Rename...
(__is_bitwise_relocatable): ... to this.
From-SVN: r268532
Jakub Jelinek [Tue, 5 Feb 2019 09:17:18 +0000 (10:17 +0100)]
re PR target/89186 (ICE in mark_addressable at gcc/gimple-expr.c:894 since r268138)
PR target/89186
* optabs.c (prepare_cmp_insn): Pass x and y to
emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
* g++.dg/ext/vector36.C: New test.
From-SVN: r268531
Richard Biener [Tue, 5 Feb 2019 08:32:16 +0000 (08:32 +0000)]
re PR middle-end/89150 (Tree form bitmaps break GC)
2019-02-05 Richard Biener <rguenther@suse.de>
PR middle-end/89150
* bitmap.h (struct bitmap_obstack): Do not mark GTY.
(struct bitmap_element): Drop chain_prev so we properly recurse on
the prev member, supporting tree views.
(struct bitmap_head): GTY skip the obstack member.
From-SVN: r268530
Alexandre Oliva [Tue, 5 Feb 2019 06:11:25 +0000 (06:11 +0000)]
[PR87770] test partial specializations for type dependence
When instantiating a partial specialization of a template member
function for a full specialization of a class template, we test
whether the context of variables local to the partial specialization,
i.e., the partial specialization itself, is dependent, and this ICEs
in type_dependent_expression_p, when checking that the function type
isn't type-dependent because it is not in a type-dependent scope.
We shouldn't have got that far: the previous block in
type_dependent_expression_p catches cases in which the function itself
takes template arguments of its own, but it only did so for primary
templates, not for partial specializations. This patch fixes that.
for gcc/cp/ChangeLog
PR c++/87770
* pt.c (instantiates_primary_template_p): New.
(type_dependent_expression_p): Use it.
for gcc/testsuite/ChangeLog
PR c++/87770
* g++.dg/pr87770.C: New.
From-SVN: r268529
GCC Administrator [Tue, 5 Feb 2019 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r268528
Harald Anlauf [Mon, 4 Feb 2019 20:44:22 +0000 (20:44 +0000)]
re PR fortran/89077 (ICE using * as len specifier for character parameter)
2019-02-04 Harald Anlauf <anlauf@gmx.de>
PR fortran/89077
* gfortran.dg/pr89077.f90: New test.
2019-02-04 Harald Anlauf <anlauf@gmx.de>
PR fortran/89077
* gfortran.dg/pr89077.f90: New test.
From-SVN: r268525
Alexander Monakov [Mon, 4 Feb 2019 15:00:41 +0000 (18:00 +0300)]
doc: showcase a "union of vectors" pattern (PR 88698)
PR c/88698
* doc/extend.texi (Vector Extensions): Add an example of using vector
types together with x86 intrinsics.
From-SVN: r268522
Martin Liska [Mon, 4 Feb 2019 13:28:34 +0000 (14:28 +0100)]
Do not dereference NULL pointer in resolve_ref (PR fortran/89185).
2019-02-04 Martin Liska <mliska@suse.cz>
PR fortran/89185
* resolve.c (resolve_ref): Remove breakout variable as
we need to prevent prev = &(*prev)->next to happen
with *prev == NULL.
From-SVN: r268521
Alan Modra [Mon, 4 Feb 2019 13:19:49 +0000 (23:49 +1030)]
[RS6000] Fix potiential buffer overflow
* config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
str[] size to 160, and comment.
From-SVN: r268520
Alan Modra [Mon, 4 Feb 2019 13:18:14 +0000 (23:48 +1030)]
[RS6000] Emit inline PLT when -mno-tls-markers
I restricted output of inline PLT sequences to when TLS marker relocs
were also available, which is obviously true when just considering
assembler support. However, there is a -mno-tls-markers option to
disable emitting the marker relocs. Currently that option also
disables inline PLT sequences, which is a bug (*). This patch fixes
that problem.
*) To be honest, it was a deliberate bug. I didn't want to have to
deal with inline PLT __tls_get_addr sequences lacking the marker
relocs in the linker, but it turns out the existing linker support for
old-style __tls_get_addr calls works reasonably well.
* config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
(rs6000_pltseq_template): Guard output of TLS markers with
TARGET_TLS_MARKERS.
(rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
(rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
to use inline PLT sequences.
* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
(pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.
From-SVN: r268519
Martin Liska [Mon, 4 Feb 2019 12:26:14 +0000 (13:26 +0100)]
Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88985).
gcc/ChangeLog:
2019-01-24 Martin Liska <mliska@suse.cz>
PR ipa/88985
* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
out when ipa_fn_summaries does not contain entry for callee.
gcc/testsuite/ChangeLog:
2019-01-24 Martin Liska <mliska@suse.cz>
PR ipa/88985
* gcc.dg/ipa/pr88985.c: New test.
From-SVN: r268518
Martin Liska [Mon, 4 Feb 2019 12:20:59 +0000 (13:20 +0100)]
Report error when -fpre-include can't be opened (PR fortran/88912).
2019-02-04 Martin Liska <mliska@suse.cz>
PR fortran/88912
* scanner.c (load_file): Report error for -fpre-include
file and do not ICE.
From-SVN: r268517
Martin Liska [Mon, 4 Feb 2019 12:19:48 +0000 (13:19 +0100)]
Bail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88958).
2019-02-04 Martin Liska <mliska@suse.cz>
PR ipa/88958
* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
out when ipa_fn_summaries does not contain entry for callee.
2019-02-04 Martin Liska <mliska@suse.cz>
PR ipa/88958
* gcc.dg/ipa/pr88958.c: New test.
From-SVN: r268516
Eric Botcazou [Mon, 4 Feb 2019 11:12:29 +0000 (11:12 +0000)]
sparc.h: Remove superfluous blank lines.
* config/sparc/sparc.h: Remove superfluous blank lines.
* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
(got_register_rtx): ...this.
(sparc_got): Adjust to above renaming.
(sparc_tls_got): Likewise.
(sparc_delegitimize_address): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_init_pic_reg): Likewise.
(save_local_or_in_reg_p): Fix test on the GOT register.
(USE_HIDDEN_LINKONCE): Move around.
(get_pc_thunk_name): Likewise.
(gen_load_pcrel_sym): Likewise.
(load_got_register): Likewise.
From-SVN: r268514
Jakub Jelinek [Mon, 4 Feb 2019 10:00:53 +0000 (11:00 +0100)]
inline5.c: Handle also @, ...
* gcc.dg/debug/dwarf2/inline5.c: Handle also @, ; or | comment
characters or extra spaces after the comment character.
From-SVN: r268513
Kito Cheng [Mon, 4 Feb 2019 09:00:24 +0000 (09:00 +0000)]
[NDS32] Change naming rule for dyanmic linker.
gcc/
* config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".
From-SVN: r268512
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