gcc.git
5 years agore PR fortran/89077 (ICE using * as len specifier for character parameter)
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

5 years agodoc: showcase a "union of vectors" pattern (PR 88698)
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

5 years agoDo not dereference NULL pointer in resolve_ref (PR fortran/89185).
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

5 years ago[RS6000] Fix potiential buffer overflow
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

5 years ago[RS6000] Emit inline PLT when -mno-tls-markers
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

5 years agoBail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88985).
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

5 years agoReport error when -fpre-include can't be opened (PR fortran/88912).
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

5 years agoBail out when ipa_fn_summaries does not contain entry for callee (PR ipa/88958).
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

5 years agosparc.h: Remove superfluous blank lines.
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

5 years agoinline5.c: Handle also @, ...
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

5 years ago[NDS32] Change naming rule for dyanmic linker.
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

5 years agocontrib/dg-extract-results: Handle timeout warnings
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

5 years ago* g++.dg/torture/alias-1.C: New test.
Jakub Jelinek [Mon, 4 Feb 2019 08:52:18 +0000 (09:52 +0100)]
* g++.dg/torture/alias-1.C: New test.

From-SVN: r268510

5 years ago[NDS32] Restrict address mode, when symbol is TLS model.
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

5 years ago[NDS32] Remove all -mtlsdesc-trmpoline related things.
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

5 years agoDaily bump.
GCC Administrator [Mon, 4 Feb 2019 00:16:28 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r268507

5 years agoPR c/69661 - missing -Wsequence-point warning
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

5 years agoPR c++/44648 - missing -Wunused warning on a const variable in if statement
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

5 years agore PR fortran/67679 (-Wunitialized reports on compiler-generated variables)
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

5 years agore PR target/89071 (AVX vcvtsd2ss lets us avoid PXOR dependency breaking for scalar...
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

5 years agore PR debug/87295 ([early debug] ICE with -ffat-lto-objects -fdebug-types-section -g)
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

5 years agoDaily bump.
GCC Administrator [Sun, 3 Feb 2019 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r268483

5 years agore PR fortran/81344 (Can't disable -ffpe-trap (or not documented))
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

5 years agore PR fortran/88298 (Bogus conversion warning for CSHIFT with -fno-range-check -m64)
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

5 years agore PR fortran/88393 ([OOP] Segfault with type-bound assignment)
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

5 years agore PR fortran/88980 (segfault on allocatable string member assignment)
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

5 years agore PR fortran/88685 (pointer class array argument indexing)
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

5 years agoPR c++/88761 - ICE with reference capture of constant.
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

5 years ago* nsdmi-template14.C: Expect error for last example.
Jason Merrill [Sat, 2 Feb 2019 04:19:00 +0000 (23:19 -0500)]
* nsdmi-template14.C: Expect error for last example.

From-SVN: r268470

5 years agoDaily bump.
GCC Administrator [Sat, 2 Feb 2019 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r268469

5 years agore PR middle-end/87887 (ICE in make_ssa_name_fn, at tree-ssanames.c:269)
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

5 years agoruntime: add hurd netpoll and semaphore support
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

5 years agoRegenerate .pot files.
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

5 years agoruntime: add getproccount for hurd
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

5 years agore PR fortran/83246 (internal compiler error or loader problem might be related to...
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

5 years agolibgo: add configury and sysinfo support for hurd
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

5 years agolibgo: add hurd build tags to test files
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

5 years agolibgo: add hurd build tags
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

5 years agoruntime, sync: use __atomic intrinsics instead of __sync
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

5 years agoPR c++/88325 - ICE with invalid out-of-line template member definition.
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

5 years agocombine: Use TDF_DETAILS for "can't combine" dump prints
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

5 years ago[PR hsa/87863] Set assembler name of group and global variables early
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

5 years agoAdd two missing dump_enabled_p calls
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

5 years agocompiler: support alias to pointer type as receiver in method declaration
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

5 years agore PR tree-optimization/88597 (Compile time hog w/ -O1 -fpeel-loops)
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

5 years ago* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
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

5 years agore PR tree-optimization/85497 ([graphite] ICE in set_codegen_error, at graphite-isl...
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

5 years agore PR debug/87451 (FAIL: gcc.dg/debug/dwarf2/inline5.c)
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

5 years agore PR tree-optimization/89143 (comparison of abs(i) against excessive constant less...
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

5 years agore PR tree-optimization/88107 (ICE in find_outermost_region_in_block, at tree-cfg...
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

5 years agore PR c++/87175 (__attribute__)) is ignored by the parser)
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

5 years agore PR rtl-optimization/88593 (cleanup_cfg may make cached dominance info stale)
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

5 years agore PR tree-optimization/88932 (ICE: verify_ssa failed (Error: definition in block...
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

5 years agoPR c++/88983 - ICE with switch in constexpr function.
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

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

From-SVN: r268437

5 years agore PR middle-end/89137 (gcc/omp-low.c:7135: possible read of uninit memory ?)
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

5 years ago* libgfortran/ChangeLog: Better commit message for my last commit.
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

5 years agore PR fortran/88669 (Contiguous attribute wrongly rejected)
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

5 years agot-linux: Add -mfp-rounding-mode=d to HOST_LIBGCC2_CFLAGS.
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

5 years agoPR c++/89083, c++/80864 - ICE with list initialization in template.
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

5 years agore PR target/89071 (AVX vcvtsd2ss lets us avoid PXOR dependency breaking for scalar...
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

5 years agoFix bogus fix-it for FLT_MAX (PR c/89122)
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

5 years agoPR c++/88752 - ICE with lambda and constexpr if.
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

5 years agore PR middle-end/89008 (O2 and O1 results differ for simple test)
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

5 years ago[libbacktrace] Fix .gnu_debugaltlink build-id check
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

5 years agore PR tree-optimization/89135 (internal compiler error: in gimple_split_edge, at...
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

5 years agore PR sanitizer/89124 (__attribute__((no_sanitize_address)) interferes with __attribu...
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

5 years agore PR rtl-optimization/89115 (compile time and memory hog)
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

5 years agore PR libstdc++/88170 (pretty printer FAILs)
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

5 years agore PR fortran/52564 (Accepts invalid: Missing I/O list after comma)
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

5 years agoPR other/89106 - cast-to-union documentation incorrect w.r.t. lvalueness
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

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

From-SVN: r268410

5 years agore PR c++/88988 (ICE: Segmentation fault (in lookup_name_real_1))
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

5 years agoPR libstdc++/89117 fix path::replace_extension("") case
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

5 years agosfp-exceptions.c (__sfp_handle_exceptions): Remove stray semicolon.
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

5 years agore PR rtl-optimization/87246 (ICE in decompose_normal_address, at rtlanal.c:6379)
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

5 years agore PR target/87064 (libgomp.oacc-fortran/reduction-3.f90 fails starting with r263751)
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

5 years agore PR fortran/88678 (Many gfortran.dg/ieee/ieee_X.f90 test cases fail starting with...
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

5 years agoPR c++/89119 - ICE with value-initialization in template.
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

5 years ago* doc/xml/manual/status_cxx2020.xml: Update P0600 entry.
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

5 years agocompiler: support alias to pointer type as method receiver
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

5 years agore PR fortran/52884 (double precision constants promoted to 16 byte by -fdefault...
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

5 years agore PR rtl-optimization/89115 (compile time and memory hog)
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

5 years agore PR fortran/88678 (Many gfortran.dg/ieee/ieee_X.f90 test cases fail starting with...
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

5 years agors6000-c.c (altivec-resolve_overloaded_builtin): Change handling of ALTIVEC_BUILTIN_V...
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

5 years agoDefault compute dimensions: list "-fopenacc-dim" in documentation
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

5 years agore PR tree-optimization/89111 (wrong code at -O1 and above on x86_64-linux-gnu)
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

5 years agoCache effective-target llvm_binutils result.
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

5 years agore PR c++/89105 (-Wabi warns for functions with internal linkage)
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

5 years agore PR c/89061 (GCC 9 introduces false positive in -Wjump-misses-init)
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

5 years agodumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears after '='.
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

5 years agoPR middle-end/88956 - ICE: Floating point exception on a memcpy from
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

5 years agoPR c++/86943 - wrong code converting lambda to function pointer.
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

5 years agore PR testsuite/89110 (r268343 breaks several tests in c++2a)
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

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

From-SVN: r268375

5 years agore PR fortran/57048 (Handling of C_PTR and C_FUNPTR leads to reject valid)
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

5 years agore PR c++/66676 (pragma omp simd aligned(x) results in "internal compiler error:...
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

5 years ago[libbacktrace] Add test-cases exercising build-id and dwz
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

5 years agoPR c++/89089 - ICE with [[no_unique_address]].
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

5 years agoruntime: fix sigprof frame counting
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