]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years agoPR c/69661 - missing -Wsequence-point warning
msebor [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.

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

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

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

6 years ago2019-02-03 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 3 Feb 2019 19:38:25 +0000 (19:38 +0000)] 
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.

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

6 years ago PR target/89071
uros [Sun, 3 Feb 2019 16:48:41 +0000 (16:48 +0000)] 
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.

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

6 years ago2019-02-03 Richard Biener <rguenther@suse.de>
rguenth [Sun, 3 Feb 2019 10:53:01 +0000 (10:53 +0000)] 
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.

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

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

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

6 years ago2019-02-02 Dominique d'Humieres <dominiq@gcc.gnu.org>
dominiq [Sat, 2 Feb 2019 21:44:34 +0000 (21:44 +0000)] 
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.

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

6 years ago2019-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sat, 2 Feb 2019 16:21:43 +0000 (16:21 +0000)] 
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.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:23:30 +0000 (09:23 +0000)] 
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.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:16:44 +0000 (09:16 +0000)] 
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.

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

6 years ago2019-02-02 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 2 Feb 2019 09:10:58 +0000 (09:10 +0000)] 
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.

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

6 years ago PR c++/88761 - ICE with reference capture of constant.
jason [Sat, 2 Feb 2019 04:21:06 +0000 (04:21 +0000)] 
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.

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

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

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

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

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

6 years ago PR middle-end/87887
jakub [Sat, 2 Feb 2019 00:04:39 +0000 (00:04 +0000)] 
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.

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

6 years ago runtime: add hurd netpoll and semaphore support
ian [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

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

6 years agoRegenerate .pot files.
jsm28 [Fri, 1 Feb 2019 23:04:22 +0000 (23:04 +0000)] 
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

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

6 years ago runtime: add getproccount for hurd
ian [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

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

6 years ago PR fortran/83246
jakub [Fri, 1 Feb 2019 22:54:05 +0000 (22:54 +0000)] 
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.

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

6 years ago libgo: add configury and sysinfo support for hurd
ian [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

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

6 years ago libgo: add hurd build tags to test files
ian [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

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

6 years ago libgo: add hurd build tags
ian [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

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

6 years ago runtime, sync: use __atomic intrinsics instead of __sync
ian [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

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

6 years ago PR c++/88325 - ICE with invalid out-of-line template member definition.
mpolacek [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.

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

6 years agocombine: Use TDF_DETAILS for "can't combine" dump prints
segher [Fri, 1 Feb 2019 16:26:48 +0000 (16:26 +0000)] 
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.

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

6 years ago[PR hsa/87863] Set assembler name of group and global variables early
jamborm [Fri, 1 Feb 2019 16:22:13 +0000 (16:22 +0000)] 
[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.

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

6 years agoAdd two missing dump_enabled_p calls
jamborm [Fri, 1 Feb 2019 16:15:36 +0000 (16:15 +0000)] 
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.

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

6 years ago compiler: support alias to pointer type as receiver in method declaration
ian [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

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 13:41:43 +0000 (13:41 +0000)] 
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.

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

6 years ago * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
hubicka [Fri, 1 Feb 2019 10:46:36 +0000 (10:46 +0000)] 
* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 09:17:14 +0000 (09:17 +0000)] 
2019-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/85497
* gcc.dg/graphite/pr85497.c: New testcase.

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

6 years ago2019-02-01 Richard Biener <rguenther@suse.de>
rguenth [Fri, 1 Feb 2019 09:08:55 +0000 (09:08 +0000)] 
2019-02-01  Richard Biener  <rguenther@suse.de>

PR testsuite/87451
* gcc.dg/debug/dwarf2/inline5.c: Allow more comment variants.

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

6 years ago PR tree-optimization/89143
jakub [Fri, 1 Feb 2019 08:44:23 +0000 (08:44 +0000)] 
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.

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

6 years ago PR tree-optimization/88107
jakub [Fri, 1 Feb 2019 08:43:02 +0000 (08:43 +0000)] 
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.

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

6 years ago PR c++/87175
jakub [Fri, 1 Feb 2019 08:42:01 +0000 (08:42 +0000)] 
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.

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

6 years ago2019-02-01 Richard Biener <rguenth@suse.de>
rguenth [Fri, 1 Feb 2019 08:07:35 +0000 (08:07 +0000)] 
2019-02-01  Richard Biener  <rguenth@suse.de>

PR rtl-optimization/88593
* mode-switching.c (optimize_mode_switching): Free dominators before
calling cleanup_cfg.

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

6 years ago PR tree-optimization/88932
amker [Fri, 1 Feb 2019 02:39:52 +0000 (02:39 +0000)] 
PR tree-optimization/88932
* tree-predcom.c (try_combine_chains): Get loop bbs in dom order.

gcc/testsuite
* gfortran.dg/pr88932.f90: New test.

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

6 years ago PR c++/88983 - ICE with switch in constexpr function.
mpolacek [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.

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

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

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

6 years ago PR middle-end/89137
jakub [Thu, 31 Jan 2019 23:05:01 +0000 (23:05 +0000)] 
PR middle-end/89137
* omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
bogus clang warning.

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

6 years ago * libgfortran/ChangeLog: Better commit message for my last commit.
uros [Thu, 31 Jan 2019 22:59:36 +0000 (22:59 +0000)] 
* libgfortran/ChangeLog: Better commit message for my last commit.

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

6 years ago2019-01-31 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Thu, 31 Jan 2019 22:21:28 +0000 (22:21 +0000)] 
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.

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

6 years ago * config/alpha/t-linux: Add -mfp-rounding-mode=d
uros [Thu, 31 Jan 2019 20:49:02 +0000 (20:49 +0000)] 
* config/alpha/t-linux: Add -mfp-rounding-mode=d
to HOST_LIBGCC2_CFLAGS.

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

6 years ago PR c++/89083, c++/80864 - ICE with list initialization in template.
mpolacek [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.

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

6 years ago PR target/89071
uros [Thu, 31 Jan 2019 20:06:42 +0000 (20:06 +0000)] 
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.

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

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

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

6 years ago PR c++/88752 - ICE with lambda and constexpr if.
jason [Thu, 31 Jan 2019 15:03:21 +0000 (15:03 +0000)] 
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.

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

6 years ago2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
wschmidt [Thu, 31 Jan 2019 13:53:06 +0000 (13:53 +0000)] 
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.

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

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

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

6 years ago2019-01-31 Richard Biener <rguenther@suse.de>
rguenth [Thu, 31 Jan 2019 11:51:59 +0000 (11:51 +0000)] 
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.

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

6 years ago PR sanitizer/89124
jakub [Thu, 31 Jan 2019 08:20:45 +0000 (08:20 +0000)] 
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.

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

6 years ago2019-01-31 Richard Biener <rguenther@suse.de>
rguenth [Thu, 31 Jan 2019 08:09:59 +0000 (08:09 +0000)] 
2019-01-31  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/89115
* lra.c (lra_rtx_hash): Properly hash CONST_INT values.

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

6 years ago PR libstdc++/88170
jakub [Thu, 31 Jan 2019 07:37:34 +0000 (07:37 +0000)] 
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.

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

6 years ago2019-01-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Thu, 31 Jan 2019 03:37:16 +0000 (03:37 +0000)] 
2019-01-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

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

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

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

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

gcc/ChangeLog:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Fixes golang/go#28252.

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

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

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

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

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

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

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

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

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

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

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

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

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

gcc/testsuite/ChangeLog:

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

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

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

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

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

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

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

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

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

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

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

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

PR testsuite/88920

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

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

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

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

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

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

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

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

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

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

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

gcc/ChangeLog:

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

gcc/testsuite/ChangeLog:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Add test-cases b2test_buildid and b3test_dwz_buildid.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

gcc/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Fixes golang/go#25320.

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

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

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

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

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