gcc.git
7 years agore PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)
Eric Botcazou [Wed, 19 Apr 2017 19:27:09 +0000 (19:27 +0000)]
re PR tree-optimization/80426 (wrong manipulation of range based on INT_MIN)

PR tree-optimization/80426
* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
operation on symbolic operands, also compute the overflow for the
invariant part when the operation degenerates into a negation.

PR tree-optimization/80426
* gcc.c-torture/execute/20170419-1.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r247007

7 years agore PR bootstrap/77661 (--enable-maintainer-mode causes in-tree-build of MPC to fail)
Thomas Koenig [Wed, 19 Apr 2017 18:49:29 +0000 (18:49 +0000)]
re PR bootstrap/77661 (--enable-maintainer-mode causes in-tree-build of MPC to fail)

2017-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
Tobias Burnus  <tobias.burnus@physik.fu-berlin.de>

PR bootstrap/77661
* Makefile.def: Don't pass --enable-maintainer-mode on to an
in-tree build MPC.
* Makefile.in: Regenerate.

Co-Authored-By: Tobias Burnus <tobias.burnus@physik.fu-berlin.de>
From-SVN: r247006

7 years agoRationalise ABI links in libstdc++ manual
Jonathan Wakely [Wed, 19 Apr 2017 16:49:21 +0000 (17:49 +0100)]
Rationalise ABI links in libstdc++ manual

* doc/xml/manual/abi.xml: Rephrase one of the references to the
Itanium C++ ABI.
* doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
* doc/html/*: Regenerate.

From-SVN: r247003

7 years agore PR debug/80461 (ICE in modified_type_die, at dwarf2out.c:12566)
Jakub Jelinek [Wed, 19 Apr 2017 16:32:02 +0000 (18:32 +0200)]
re PR debug/80461 (ICE in modified_type_die, at dwarf2out.c:12566)

PR debug/80461
* dwarf2out.c (modified_type_die, gen_type_die_with_usage):
Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.

* g++.dg/debug/pr80461.C: New test.

From-SVN: r247002

7 years agore PR c++/80459 (c-c++-common/opaque-vector.c FAILs)
Jakub Jelinek [Wed, 19 Apr 2017 16:31:11 +0000 (18:31 +0200)]
re PR c++/80459 (c-c++-common/opaque-vector.c FAILs)

PR c++/80459
* c-c++-common/opaque-vector.c (SIZEOF_MAXINT): Define.
(f): Don't test long double vectors if __SIZEOF_LONG_DOUBLE__
is not power of 2, or is more than 16 or more than SIZEOF_MAXINT.

From-SVN: r247001

7 years agore PR debug/80436 (-fcompare-debug failure)
Jakub Jelinek [Wed, 19 Apr 2017 16:29:45 +0000 (18:29 +0200)]
re PR debug/80436 (-fcompare-debug failure)

PR debug/80436
* tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.

* g++.dg/opt/pr80436.C: New test.

From-SVN: r247000

7 years ago* libsupc++/new: Update comment on #endif directive.
Jonathan Wakely [Wed, 19 Apr 2017 15:18:24 +0000 (16:18 +0100)]
* libsupc++/new: Update comment on #endif directive.

From-SVN: r246999

7 years agore PR target/80462 ([avr] Incorrect "warning: uninitialized variable 'xxx' put into...
Georg-Johann Lay [Wed, 19 Apr 2017 12:20:57 +0000 (12:20 +0000)]
re PR target/80462 ([avr] Incorrect "warning: uninitialized variable 'xxx' put into program memory area" for identical strings)

PR target/80462
* config/avr/avr.c (tree.h): Include it.
(cgraph.h): Include it.
(avr_encode_section_info): Don't warn for uninitialized progmem
variable if it's just an alias.

From-SVN: r246997

7 years agoUpdate SSA after AutoPGO early inlining (PR ipa/65972).
Richard Biener [Wed, 19 Apr 2017 12:06:35 +0000 (12:06 +0000)]
Update SSA after AutoPGO early inlining (PR ipa/65972).

2017-04-19  Richard Biener  <rguenther@suse.de>

PR ipa/65972
* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
when needed by AutoPGO.

From-SVN: r246996

7 years agoFix typo in LTO documentation (PR lto/50345).
Paulo Matos [Wed, 19 Apr 2017 12:00:47 +0000 (12:00 +0000)]
Fix typo in LTO documentation (PR lto/50345).

2017-04-19  Paulo J. Matos  <paulo@matos-sorge.com>

PR lto/50345
* doc/lto.texi: Remove an extra 'that'.

From-SVN: r246995

7 years agoFix broken gcc.dg/torture/pr80341.c for avr
Senthil Kumar Selvaraj [Wed, 19 Apr 2017 11:27:05 +0000 (11:27 +0000)]
Fix broken gcc.dg/torture/pr80341.c for avr

This patch skips pr80341.c for targets with int size less than 32 bits.
The assertion in the testcase holds only if sizeof(int) > sizeof(short),
which isn't true for smaller int size targets like the avr.

gcc/testsuite

2017-04-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/torture/pr80341.c: Require int32plus.

From-SVN: r246994

7 years agoPR libstdc++/80448 remove noexcept from defaulted functions
Jonathan Wakely [Wed, 19 Apr 2017 11:03:43 +0000 (12:03 +0100)]
PR libstdc++/80448 remove noexcept from defaulted functions

PR libstdc++/80448
* include/experimental/bits/fs_dir.h (directory_iterator)
(recursive_directory_iterator): Remove noexcept from defaulted
constructors.

From-SVN: r246993

7 years agoPR libstdc++/80446 cope with libc defining __has_builtin
Jonathan Wakely [Wed, 19 Apr 2017 10:49:12 +0000 (11:49 +0100)]
PR libstdc++/80446 cope with libc defining __has_builtin

PR libstdc++/80446
* include/std/type_traits (is_aggregate): Change __has_builtin checks.
* libsupc++/new (launder): Likewise.

From-SVN: r246992

7 years agoIRA: Don't create new regs for debug insns (PR80429)
Segher Boessenkool [Wed, 19 Apr 2017 10:03:35 +0000 (12:03 +0200)]
IRA: Don't create new regs for debug insns (PR80429)

In split_live_ranges_for_shrink_wrap IRA also splits regs that are
only used in debug insns, leading to -fcompare-debug failures.

PR rtl-optimization/80429
* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
are only used in debug insns.

From-SVN: r246991

7 years agoIntroduce gcov.h header file (PR gcov-profile/80435).
Martin Liska [Wed, 19 Apr 2017 08:08:44 +0000 (10:08 +0200)]
Introduce gcov.h header file (PR gcov-profile/80435).

2017-04-19  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80435
* Makefile.in: Install gcov.h.
* gcov.h: New file.
* libgcov.h: Use the header and make __gcov_flush publicly
visible.

From-SVN: r246990

7 years agopredicates.md (input_operand): Add comment.
Eric Botcazou [Wed, 19 Apr 2017 08:05:36 +0000 (08:05 +0000)]
predicates.md (input_operand): Add comment.

* config/sparc/predicates.md (input_operand): Add comment.  Return
true for any memory operand when LRA is in progress.
* config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.

Co-Authored-By: Jeff Law <law@redhat.com>
Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>
From-SVN: r246989

7 years agoUse relative line number for subsequent dg directives
Tom de Vries [Wed, 19 Apr 2017 06:55:33 +0000 (06:55 +0000)]
Use relative line number for subsequent dg directives

2017-04-19  Tom de Vries  <tom@codesourcery.com>

PR testsuite/80221
* c-c++-common/Wimplicit-fallthrough-6.c: Use relative line number for
subsequent dg directives.
* c-c++-common/Wimplicit-fallthrough-7.c: Same.
* c-c++-common/Wint-to-pointer-cast-3.c: Same.
* c-c++-common/attr-fallthrough-2.c: Same.
* c-c++-common/cilk-plus/AN/parser_errors2.c: Same.
* c-c++-common/cilk-plus/AN/parser_errors3.c: Same.
* c-c++-common/cilk-plus/AN/pr61191.c: Same.
* c-c++-common/cilk-plus/AN/pr61963.c: Same.
* c-c++-common/cilk-plus/AN/pr62008.c: Same.
* c-c++-common/cilk-plus/AN/rank_mismatch.c: Same.
* c-c++-common/cilk-plus/CK/cilk_for_errors.c: Same.
* c-c++-common/cilk-plus/CK/errors.c: Same.
* c-c++-common/cilk-plus/CK/no_args_error.c: Same.
* c-c++-common/cilk-plus/PS/clauses1.c: Same.
* c-c++-common/cilk-plus/SE/vlength_errors.c: Same.
* c-c++-common/cpp/pr57580.c: Same.
* c-c++-common/goacc/asyncwait-1.c: Same.
* c-c++-common/goacc/cache-2.c: Same.
* c-c++-common/goacc/declare-2.c: Same.
* c-c++-common/goacc/deviceptr-1.c: Same.
* c-c++-common/goacc/routine-5.c: Same.
* c-c++-common/gomp/clauses-2.c: Same.
* c-c++-common/gomp/ordered-3.c: Same.
* c-c++-common/gomp/pr67501.c: Same.
* c-c++-common/pr20000.c: Same.
* c-c++-common/pr43395.c: Same.
* c-c++-common/pr49706.c: Same.
* c-c++-common/pr77624-1.c: Same.
* c-c++-common/pr77624-2.c: Same.
* c-c++-common/raw-string-14.c: Same.
* c-c++-common/raw-string-16.c: Same.
* c-c++-common/raw-string-3.c: Same.
* c-c++-common/raw-string-4.c: Same.
* c-c++-common/raw-string-5.c: Same.
* c-c++-common/raw-string-6.c: Same.
* g++.dg/abi/mangle41.C: Same.
* g++.dg/conversion/nullptr1.C: Same.
* g++.dg/cpp0x/alias-decl-80296.C: Same.
* g++.dg/cpp0x/auto27.C: Same.
* g++.dg/cpp0x/constexpr-98.C: Same.
* g++.dg/cpp0x/constexpr-diag2.C: Same.
* g++.dg/cpp0x/diag2.C: Same.
* g++.dg/cpp0x/lambda/lambda-syntax1.C: Same.
* g++.dg/cpp0x/nullptr15.C: Same.
* g++.dg/cpp0x/pr31431-2.C: Same.
* g++.dg/cpp0x/pr31431.C: Same.
* g++.dg/cpp0x/pr79118.C: Same.
* g++.dg/cpp0x/static_assert3.C: Same.
* g++.dg/cpp0x/temp_default2.C: Same.
* g++.dg/cpp0x/trailing4.C: Same.
* g++.dg/cpp0x/variadic-ex10.C: Same.
* g++.dg/cpp0x/variadic-ex13.C: Same.
* g++.dg/cpp0x/variadic-ex14.C: Same.
* g++.dg/cpp0x/variadic-ex3.C: Same.
* g++.dg/cpp0x/variadic-ex4.C: Same.
* g++.dg/cpp0x/variadic59.C: Same.
* g++.dg/cpp0x/vt-37737-2.C: Same.
* g++.dg/cpp0x/vt-57397-1.C: Same.
* g++.dg/cpp0x/vt-57397-2.C: Same.
* g++.dg/cpp1z/constexpr-lambda8.C: Same.
* g++.dg/cpp1z/gen-attrs1.C: Same.
* g++.dg/diagnostic/pr71075.C: Same.
* g++.dg/eh/goto2.C: Same.
* g++.dg/eh/goto3.C: Same.
* g++.dg/expr/bitfield4.C: Same.
* g++.dg/expr/bitfield5.C: Same.
* g++.dg/expr/bitfield6.C: Same.
* g++.dg/expr/bool1.C: Same.
* g++.dg/expr/bool3.C: Same.
* g++.dg/expr/cond10.C: Same.
* g++.dg/expr/cond11.C: Same.
* g++.dg/expr/lval3.C: Same.
* g++.dg/expr/lval4.C: Same.
* g++.dg/ext/anon-struct4.C: Same.
* g++.dg/ext/attrib44.C: Same.
* g++.dg/ext/builtin3.C: Same.
* g++.dg/ext/dllimport7.C: Same.
* g++.dg/ext/label5.C: Same.
* g++.dg/ext/no-asm-1.C: Same.
* g++.dg/ext/utf16-4.C: Same.
* g++.dg/ext/vla2.C: Same.
* g++.dg/gomp/block-1.C: Same.
* g++.dg/gomp/block-2.C: Same.
* g++.dg/gomp/block-3.C: Same.
* g++.dg/gomp/block-5.C: Same.
* g++.dg/gomp/linear-2.C: Same.
* g++.dg/gomp/target-1.C: Same.
* g++.dg/gomp/target-2.C: Same.
* g++.dg/gomp/taskgroup-1.C: Same.
* g++.dg/gomp/teams-1.C: Same.
* g++.dg/inherit/pure1.C: Same.
* g++.dg/init/array43.C: Same.
* g++.dg/init/array46.C: Same.
* g++.dg/init/const10.C: Same.
* g++.dg/init/ctor4-1.C: Same.
* g++.dg/init/ctor4.C: Same.
* g++.dg/init/new37.C: Same.
* g++.dg/init/pr25811.C: Same.
* g++.dg/init/pr29043.C: Same.
* g++.dg/init/pr29571.C: Same.
* g++.dg/lookup/duperr1.C: Same.
* g++.dg/lookup/error1.C: Same.
* g++.dg/lookup/koenig5.C: Same.
* g++.dg/lookup/pr77549.C: Same.
* g++.dg/lookup/suggestions1.C: Same.
* g++.dg/lookup/using16.C: Same.
* g++.dg/lookup/using7.C: Same.
* g++.dg/other/anon-union3.C: Same.
* g++.dg/other/array2.C: Same.
* g++.dg/other/error13.C: Same.
* g++.dg/other/error34.C: Same.
* g++.dg/overload/builtin1.C: Same.
* g++.dg/overload/conv-op1.C: Same.
* g++.dg/overload/error3.C: Same.
* g++.dg/overload/koenig1.C: Same.
* g++.dg/overload/operator5.C: Same.
* g++.dg/overload/template5.C: Same.
* g++.dg/overload/unknown1.C: Same.
* g++.dg/overload/using2.C: Same.
* g++.dg/parse/constructor1.C: Same.
* g++.dg/parse/crash36.C: Same.
* g++.dg/parse/crash63.C: Same.
* g++.dg/parse/error11.C: Same.
* g++.dg/parse/error12.C: Same.
* g++.dg/parse/error14.C: Same.
* g++.dg/parse/error2.C: Same.
* g++.dg/parse/error21.C: Same.
* g++.dg/parse/error26.C: Same.
* g++.dg/parse/error36.C: Same.
* g++.dg/parse/friend12.C: Same.
* g++.dg/parse/invalid-op1.C: Same.
* g++.dg/parse/missing-template1.C: Same.
* g++.dg/parse/parser-pr28152-2.C: Same.
* g++.dg/parse/parser-pr28152.C: Same.
* g++.dg/parse/pr16696-permissive.C: Same.
* g++.dg/parse/pr16696.C: Same.
* g++.dg/parse/pr69628.C: Same.
* g++.dg/parse/ret-type2.C: Same.
* g++.dg/parse/specialization1.C: Same.
* g++.dg/parse/template3.C: Same.
* g++.dg/parse/template9.C: Same.
* g++.dg/parse/typename11.C: Same.
* g++.dg/plugin/attribute_plugin-test-1.C: Same.
* g++.dg/pr45330.C: Same.
* g++.dg/rtti/typeid6.C: Same.
* g++.dg/spellcheck-fields.C: Same.
* g++.dg/spellcheck-typenames.C: Same.
* g++.dg/tc1/dr108.C: Same.
* g++.dg/tc1/dr147.C: Same.
* g++.dg/template/arg7.C: Same.
* g++.dg/template/conv11.C: Same.
* g++.dg/template/crash13.C: Same.
* g++.dg/template/crash55.C: Same.
* g++.dg/template/dependent-expr5.C: Same.
* g++.dg/template/error17.C: Same.
* g++.dg/template/error33.C: Same.
* g++.dg/template/error4.C: Same.
* g++.dg/template/error50.C: Same.
* g++.dg/template/error53.C: Same.
* g++.dg/template/friend.C: Same.
* g++.dg/template/func2.C: Same.
* g++.dg/template/local6.C: Same.
* g++.dg/template/member5.C: Same.
* g++.dg/template/meminit1.C: Same.
* g++.dg/template/nested3.C: Same.
* g++.dg/template/nontype6.C: Same.
* g++.dg/template/overload12.C: Same.
* g++.dg/template/ptrmem8.C: Same.
* g++.dg/template/qualified-id1.C: Same.
* g++.dg/template/spec15.C: Same.
* g++.dg/template/static1.C: Same.
* g++.dg/template/static10.C: Same.
* g++.dg/template/static2.C: Same.
* g++.dg/template/ttp25.C: Same.
* g++.dg/template/typedef2.C: Same.
* g++.dg/template/typename2.C: Same.
* g++.dg/template/unify10.C: Same.
* g++.dg/template/unify6.C: Same.
* g++.dg/template/unify7.C: Same.
* g++.dg/template/unify9.C: Same.
* g++.dg/template/varmod1.C: Same.
* g++.dg/ubsan/div-by-zero-1.C: Same.
* g++.dg/ubsan/pr63956.C: Same.
* g++.dg/warn/Waddress-1.C: Same.
* g++.dg/warn/Wconversion2.C: Same.
* g++.dg/warn/Wnull-conversion-1.C: Same.
* g++.dg/warn/Wsubobject-linkage-1.C: Same.
* g++.dg/warn/Wsubobject-linkage-3.C: Same.
* g++.dg/warn/Wswitch-1.C: Same.
* g++.dg/warn/Wtype-limits-Wextra.C: Same.
* g++.dg/warn/Wtype-limits.C: Same.
* g++.dg/warn/Wunused-parm-5.C: Same.
* g++.dg/warn/deprecated-6.C: Same.
* g++.dg/warn/deprecated.C: Same.
* g++.dg/warn/incomplete1.C: Same.
* g++.dg/warn/multiple-overflow-warn-1.C: Same.
* g++.dg/warn/multiple-overflow-warn-2.C: Same.
* g++.dg/warn/multiple-overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-1.C: Same.
* g++.dg/warn/overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-4.C: Same.
* g++.dg/warn/pr12242.C: Same.
* g++.dg/warn/pr30551-2.C: Same.
* g++.dg/warn/pr30551.C: Same.
* g++.old-deja/g++.benjamin/16077.C: Same.
* g++.old-deja/g++.bob/inherit1.C: Same.
* g++.old-deja/g++.brendan/crash56.C: Same.
* g++.old-deja/g++.brendan/template17.C: Same.
* g++.old-deja/g++.eh/ctor1.C: Same.
* g++.old-deja/g++.jason/bool5.C: Same.
* g++.old-deja/g++.jason/cond.C: Same.
* g++.old-deja/g++.jason/operator.C: Same.
* g++.old-deja/g++.jason/pmf5.C: Same.
* g++.old-deja/g++.law/ctors5.C: Same.
* g++.old-deja/g++.law/missed-error2.C: Same.
* g++.old-deja/g++.law/operators9.C: Same.
* g++.old-deja/g++.law/temps1.C: Same.
* g++.old-deja/g++.mike/for2.C: Same.
* g++.old-deja/g++.mike/ns5.C: Same.
* g++.old-deja/g++.mike/ns7.C: Same.
* g++.old-deja/g++.mike/p10769b.C: Same.
* g++.old-deja/g++.niklas/t120.C: Same.
* g++.old-deja/g++.niklas/t121.C: Same.
* g++.old-deja/g++.ns/koenig5.C: Same.
* g++.old-deja/g++.oliva/overload1.C: Same.
* g++.old-deja/g++.other/crash24.C: Same.
* g++.old-deja/g++.other/crash25.C: Same.
* g++.old-deja/g++.other/decl5.C: Same.
* g++.old-deja/g++.other/lineno5.C: Same.
* g++.old-deja/g++.other/null3.C: Same.
* g++.old-deja/g++.other/overcnv2.C: Same.
* g++.old-deja/g++.other/ptrmem7.C: Same.
* g++.old-deja/g++.other/typename1.C: Same.
* g++.old-deja/g++.other/vaarg3.C: Same.
* g++.old-deja/g++.pt/crash10.C: Same.
* g++.old-deja/g++.pt/crash28.C: Same.
* g++.old-deja/g++.pt/crash38.C: Same.
* g++.old-deja/g++.pt/explicit70.C: Same.
* g++.old-deja/g++.pt/explicit77.C: Same.
* g++.old-deja/g++.pt/expr2.C: Same.
* g++.old-deja/g++.pt/spec5.C: Same.
* g++.old-deja/g++.pt/spec6.C: Same.
* g++.old-deja/g++.pt/typename3.C: Same.
* g++.old-deja/g++.pt/typename5.C: Same.
* g++.old-deja/g++.pt/typename6.C: Same.
* g++.old-deja/g++.pt/typename7.C: Same.
* g++.old-deja/g++.pt/unify4.C: Same.
* g++.old-deja/g++.pt/unify8.C: Same.
* g++.old-deja/g++.pt/vaarg3.C: Same.
* g++.old-deja/g++.robertl/eb22.C: Same.
* g++.old-deja/g++.robertl/eb4.C: Same.
* g++.old-deja/g++.robertl/eb44.C: Same.
* g++.old-deja/g++.robertl/eb69.C: Same.
* g++.old-deja/g++.robertl/eb98.C: Same.
* gcc.dg/20031223-1.c: Same.
* gcc.dg/940510-1.c: Same.
* gcc.dg/990506-0.c: Same.
* gcc.dg/Walloca-1.c: Same.
* gcc.dg/Walloca-2.c: Same.
* gcc.dg/Wconversion-integer.c: Same.
* gcc.dg/Wcxx-compat-8.c: Same.
* gcc.dg/Wimplicit-int-1.c: Same.
* gcc.dg/Wimplicit-int-2.c: Same.
* gcc.dg/Wimplicit-int-4.c: Same.
* gcc.dg/Wpointer-sign-Wall.c: Same.
* gcc.dg/Wpointer-sign-pedantic.c: Same.
* gcc.dg/Wshadow-1.c: Same.
* gcc.dg/Wshadow-3.c: Same.
* gcc.dg/Wswitch-enum-error.c: Same.
* gcc.dg/Wswitch-enum.c: Same.
* gcc.dg/Wswitch-error.c: Same.
* gcc.dg/Wswitch.c: Same.
* gcc.dg/Wtype-limits-Wextra.c: Same.
* gcc.dg/Wtype-limits.c: Same.
* gcc.dg/Wvla-larger-than-2.c: Same.
* gcc.dg/anon-struct-5.c: Same.
* gcc.dg/array-10.c: Same.
* gcc.dg/array-11.c: Same.
* gcc.dg/array-15.c: Same.
* gcc.dg/array-2.c: Same.
* gcc.dg/array-8.c: Same.
* gcc.dg/array-const-2.c: Same.
* gcc.dg/array-const-3.c: Same.
* gcc.dg/bitfld-1.c: Same.
* gcc.dg/bitfld-8.c: Same.
* gcc.dg/builtin-redefine.c: Same.
* gcc.dg/c11-noreturn-1.c: Same.
* gcc.dg/c11-noreturn-2.c: Same.
* gcc.dg/c11-static-assert-3.c: Same.
* gcc.dg/c90-arraydecl-1.c: Same.
* gcc.dg/c90-complex-1.c: Same.
* gcc.dg/c90-complit-1.c: Same.
* gcc.dg/c90-const-expr-11.c: Same.
* gcc.dg/c90-const-expr-7.c: Same.
* gcc.dg/c90-const-expr-8.c: Same.
* gcc.dg/c90-enum-comma-1.c: Same.
* gcc.dg/c90-flex-array-1.c: Same.
* gcc.dg/c90-hexfloat-1.c: Same.
* gcc.dg/c90-idem-qual-1.c: Same.
* gcc.dg/c90-idem-qual-2.c: Same.
* gcc.dg/c90-idem-qual-3.c: Same.
* gcc.dg/c90-mixdecl-1.c: Same.
* gcc.dg/c90-restrict-1.c: Same.
* gcc.dg/c90-return-1.c: Same.
* gcc.dg/c99-array-nonobj-1.c: Same.
* gcc.dg/c99-arraydecl-1.c: Same.
* gcc.dg/c99-complex-1.c: Same.
* gcc.dg/c99-complex-2.c: Same.
* gcc.dg/c99-complit-2.c: Same.
* gcc.dg/c99-const-expr-7.c: Same.
* gcc.dg/c99-const-expr-8.c: Same.
* gcc.dg/c99-flex-array-3.c: Same.
* gcc.dg/c99-flex-array-7.c: Same.
* gcc.dg/c99-flex-array-typedef-7.c: Same.
* gcc.dg/c99-impl-decl-1.c: Same.
* gcc.dg/c99-impl-int-1.c: Same.
* gcc.dg/c99-impl-int-2.c: Same.
* gcc.dg/c99-init-3.c: Same.
* gcc.dg/c99-restrict-1.c: Same.
* gcc.dg/c99-return-1.c: Same.
* gcc.dg/c99-tag-1.c: Same.
* gcc.dg/c99-tag-3.c: Same.
* gcc.dg/call-diag-2.c: Same.
* gcc.dg/cpp/19940712-1.c: Same.
* gcc.dg/cpp/19951025-1.c: Same.
* gcc.dg/cpp/19990413-1.c: Same.
* gcc.dg/cpp/direct2.c: Same.
* gcc.dg/cpp/direct2s.c: Same.
* gcc.dg/cpp/pr28709.c: Same.
* gcc.dg/cpp/pr61854-c90.c: Same.
* gcc.dg/cpp/pr61854-c94.c: Same.
* gcc.dg/cpp/pragma-1.c: Same.
* gcc.dg/cpp/pragma-2.c: Same.
* gcc.dg/cpp/trad/escaped-eof.c: Same.
* gcc.dg/cpp/trad/literals-2.c: Same.
* gcc.dg/cpp/warn-comments-2.c: Same.
* gcc.dg/cpp/warn-comments-3.c: Same.
* gcc.dg/cpp/warn-comments.c: Same.
* gcc.dg/cpp/warn-long-long-2.c: Same.
* gcc.dg/cpp/warn-long-long.c: Same.
* gcc.dg/cpp/warn-redefined-2.c: Same.
* gcc.dg/cpp/warn-redefined.c: Same.
* gcc.dg/darwin-cfstring-2.c: Same.
* gcc.dg/darwin-cfstring-format-1.c: Same.
* gcc.dg/decl-9.c: Same.
* gcc.dg/declspec-1.c: Same.
* gcc.dg/declspec-10.c: Same.
* gcc.dg/declspec-11.c: Same.
* gcc.dg/declspec-13.c: Same.
* gcc.dg/declspec-18.c: Same.
* gcc.dg/declspec-4.c: Same.
* gcc.dg/declspec-5.c: Same.
* gcc.dg/declspec-6.c: Same.
* gcc.dg/declspec-8.c: Same.
* gcc.dg/deprecated-4.c: Same.
* gcc.dg/deprecated.c: Same.
* gcc.dg/dfp/composite-type.c: Same.
* gcc.dg/empty-source-2.c: Same.
* gcc.dg/empty-source-3.c: Same.
* gcc.dg/format/attr-6.c: Same.
* gcc.dg/format/branch-1.c: Same.
* gcc.dg/format/c90-printf-1.c: Same.
* gcc.dg/format/c90-strftime-2.c: Same.
* gcc.dg/format/c99-strftime-1.c: Same.
* gcc.dg/format/cmn-err-1.c: Same.
* gcc.dg/format/few-1.c: Same.
* gcc.dg/format/ms_branch-1.c: Same.
* gcc.dg/format/ms_unnamed-1.c: Same.
* gcc.dg/format/ms_va-1.c: Same.
* gcc.dg/format/unnamed-1.c: Same.
* gcc.dg/format/va-1.c: Same.
* gcc.dg/format/xopen-1.c: Same.
* gcc.dg/funcdef-var-1.c: Same.
* gcc.dg/funcdef-var-2.c: Same.
* gcc.dg/gnu89-const-expr-1.c: Same.
* gcc.dg/gnu89-const-expr-2.c: Same.
* gcc.dg/gnu90-const-expr-1.c: Same.
* gcc.dg/gnu99-const-expr-1.c: Same.
* gcc.dg/gnu99-const-expr-2.c: Same.
* gcc.dg/gnu99-init-2.c: Same.
* gcc.dg/gomp/_Atomic-5.c: Same.
* gcc.dg/gomp/appendix-a/a.24.1.c: Same.
* gcc.dg/gomp/atomic-5.c: Same.
* gcc.dg/gomp/linear-1.c: Same.
* gcc.dg/gomp/pr67500.c: Same.
* gcc.dg/init-bad-1.c: Same.
* gcc.dg/init-bad-2.c: Same.
* gcc.dg/init-bad-3.c: Same.
* gcc.dg/init-string-1.c: Same.
* gcc.dg/label-compound-stmt-1.c: Same.
* gcc.dg/label-decl-2.c: Same.
* gcc.dg/label-decl-4.c: Same.
* gcc.dg/large-size-array-2.c: Same.
* gcc.dg/large-size-array-4.c: Same.
* gcc.dg/lvalue-6.c: Same.
* gcc.dg/m-un-2.c: Same.
* gcc.dg/multiple-overflow-warn-1.c: Same.
* gcc.dg/multiple-overflow-warn-2.c: Same.
* gcc.dg/multiple-overflow-warn-3.c: Same.
* gcc.dg/nested-redef-1.c: Same.
* gcc.dg/no-asm-1.c: Same.
* gcc.dg/no-asm-3.c: Same.
* gcc.dg/no-asm-4.c: Same.
* gcc.dg/noncompile/20010524-1.c: Same.
* gcc.dg/noncompile/incomplete-5.c: Same.
* gcc.dg/noncompile/pr44517.c: Same.
* gcc.dg/noncompile/pr52290.c: Same.
* gcc.dg/noreturn-1.c: Same.
* gcc.dg/overflow-warn-1.c: Same.
* gcc.dg/overflow-warn-2.c: Same.
* gcc.dg/overflow-warn-3.c: Same.
* gcc.dg/overflow-warn-4.c: Same.
* gcc.dg/parm-mismatch-1.c: Same.
* gcc.dg/parser-pr28152-2.c: Same.
* gcc.dg/parser-pr28152.c: Same.
* gcc.dg/pedwarn-init.c: Same.
* gcc.dg/pointer-arith-2.c: Same.
* gcc.dg/pointer-arith-3.c: Same.
* gcc.dg/pointer-arith-4.c: Same.
* gcc.dg/pr14475.c: Same.
* gcc.dg/pr18596-3.c: Same.
* gcc.dg/pr18809-1.c: Same.
* gcc.dg/pr27953.c: Same.
* gcc.dg/pr30457.c: Same.
* gcc.dg/pr30551-2.c: Same.
* gcc.dg/pr30551-3.c: Same.
* gcc.dg/pr30551-4.c: Same.
* gcc.dg/pr30551-5.c: Same.
* gcc.dg/pr30551-6.c: Same.
* gcc.dg/pr30551.c: Same.
* gcc.dg/pr36997.c: Same.
* gcc.dg/pr41842.c: Same.
* gcc.dg/pr48552-1.c: Same.
* gcc.dg/pr48552-2.c: Same.
* gcc.dg/pr59717.c: Same.
* gcc.dg/pr61077.c: Same.
* gcc.dg/pr61096-1.c: Same.
* gcc.dg/pr63626.c: Same.
* gcc.dg/pr64223-1.c: Same.
* gcc.dg/pr64223-2.c: Same.
* gcc.dg/pr8788-1.c: Same.
* gcc.dg/pr8927-1.c: Same.
* gcc.dg/pragma-darwin.c: Same.
* gcc.dg/pragma-diag-5.c: Same.
* gcc.dg/pragma-message.c: Same.
* gcc.dg/redecl-1.c: Same.
* gcc.dg/simd-1.c: Same.
* gcc.dg/simd-5.c: Same.
* gcc.dg/simd-6.c: Same.
* gcc.dg/spellcheck-fields.c: Same.
* gcc.dg/spellcheck-typenames.c: Same.
* gcc.dg/struct-semi-2.c: Same.
* gcc.dg/struct-semi-3.c: Same.
* gcc.dg/transparent-union-3.c: Same.
* gcc.dg/ucnid-8.c: Same.
* gcc.dg/uninit-pr19430-O0.c: Same.
* gcc.dg/uninit-pr19430.c: Same.
* gcc.dg/uninit-pr20644-O0.c: Same.
* gcc.dg/utf-dflt.c: Same.
* gcc.dg/utf-dflt2.c: Same.
* gcc.dg/utf16-4.c: Same.
* gcc.dg/vla-11.c: Same.
* gcc.dg/vla-20.c: Same.
* gcc.dg/vla-init-1.c: Same.
* gcc.dg/vla-init-2.c: Same.
* gcc.dg/vla-init-3.c: Same.
* gcc.dg/weak/weak-6.c: Same.
* gcc.dg/weak/weak-7.c: Same.
* gcc.dg/wtr-int-type-1.c: Same.
* gcc.target/aarch64/mgeneral-regs_1.c: Same.
* gcc.target/arm/polytypes.c: Same.
* gcc.target/i386/spellcheck-options-4.c: Same.
* gcc.target/powerpc/20030218-1.c: Same.
* gcc.target/sh/pr21255-4.c: Same.
* gcc.test-framework/dg-error-exp-XP.c: Same.
* gfortran.dg/array_constructor_30.f03: Same.
* gfortran.dg/class_30.f90: Same.
* gfortran.dg/goacc/subarrays.f95: Same.
* gfortran.dg/gomp/appendix-a/a.23.5.f90: Same.
* gfortran.dg/gomp/appendix-a/a.24.1.f90: Same.
* gfortran.dg/intrinsic_std_1.f90: Same.
* gfortran.dg/pr70006.f90: Same.
* gfortran.dg/warning-directive-1.F90: Same.
* gfortran.dg/warning-directive-2.F90: Same.
* gfortran.dg/warning-directive-3.F90: Same.
* gfortran.dg/warning-directive-4.F90: Same.
* obj-c++.dg/attributes/method-noreturn-1.mm: Same.
* obj-c++.dg/class-extension-1.mm: Same.
* obj-c++.dg/class-extension-2.mm: Same.
* obj-c++.dg/class-protocol-1.mm: Same.
* obj-c++.dg/cxx-ivars-1.mm: Same.
* obj-c++.dg/duplicate-class-1.mm: Same.
* obj-c++.dg/exceptions-3.mm: Same.
* obj-c++.dg/exceptions-4.mm: Same.
* obj-c++.dg/exceptions-5.mm: Same.
* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
* obj-c++.dg/fsf-package-0.m: Same.
* obj-c++.dg/invalid-type-1.mm: Same.
* obj-c++.dg/method-12.mm: Same.
* obj-c++.dg/method-13.mm: Same.
* obj-c++.dg/method-15.mm: Same.
* obj-c++.dg/method-16.mm: Same.
* obj-c++.dg/method-6.mm: Same.
* obj-c++.dg/method-7.mm: Same.
* obj-c++.dg/property/at-property-1.mm: Same.
* obj-c++.dg/property/at-property-14.mm: Same.
* obj-c++.dg/property/at-property-17.mm: Same.
* obj-c++.dg/property/at-property-21.mm: Same.
* obj-c++.dg/property/at-property-5.mm: Same.
* obj-c++.dg/property/dotsyntax-4.mm: Same.
* obj-c++.dg/property/dynamic-3.mm: Same.
* obj-c++.dg/property/dynamic-4.mm: Same.
* obj-c++.dg/property/property-neg-1.mm: Same.
* obj-c++.dg/property/property-neg-6.mm: Same.
* obj-c++.dg/property/synthesize-11.mm: Same.
* obj-c++.dg/property/synthesize-5.mm: Same.
* obj-c++.dg/property/synthesize-6.mm: Same.
* obj-c++.dg/proto-lossage-4.mm: Same.
* obj-c++.dg/protocol-qualifier-2.mm: Same.
* obj-c++.dg/strings/strings-1.mm: Same.
* obj-c++.dg/super-class-1.mm: Same.
* obj-c++.dg/syntax-error-6.mm: Same.
* obj-c++.dg/syntax-error-7.mm: Same.
* obj-c++.dg/syntax-error-9.mm: Same.
* obj-c++.dg/try-catch-13.mm: Same.
* objc.dg/attributes/method-noreturn-1.m: Same.
* objc.dg/bad-receiver-type-2.m: Same.
* objc.dg/bad-receiver-type.m: Same.
* objc.dg/call-super-2.m: Same.
* objc.dg/class-2.m: Same.
* objc.dg/class-extension-1.m: Same.
* objc.dg/class-extension-2.m: Same.
* objc.dg/class-protocol-1.m: Same.
* objc.dg/desig-init-1.m: Same.
* objc.dg/duplicate-class-1.m: Same.
* objc.dg/exceptions-3.m: Same.
* objc.dg/exceptions-4.m: Same.
* objc.dg/exceptions-5.m: Same.
* objc.dg/foreach-6.m: Same.
* objc.dg/foreach-7.m: Same.
* objc.dg/fsf-nsstring-format-1.m: Same.
* objc.dg/fsf-package-0.m: Same.
* objc.dg/invalid-type-1.m: Same.
* objc.dg/method-11.m: Same.
* objc.dg/method-19.m: Same.
* objc.dg/method-2.m: Same.
* objc.dg/method-20.m: Same.
* objc.dg/method-5.m: Same.
* objc.dg/method-6.m: Same.
* objc.dg/method-7.m: Same.
* objc.dg/method-9.m: Same.
* objc.dg/missing-proto-3.m: Same.
* objc.dg/private-1.m: Same.
* objc.dg/property/at-property-1.m: Same.
* objc.dg/property/at-property-14.m: Same.
* objc.dg/property/at-property-17.m: Same.
* objc.dg/property/at-property-21.m: Same.
* objc.dg/property/at-property-5.m: Same.
* objc.dg/property/dynamic-3.m: Same.
* objc.dg/property/dynamic-4.m: Same.
* objc.dg/property/property-neg-1.m: Same.
* objc.dg/property/property-neg-6.m: Same.
* objc.dg/property/synthesize-11.m: Same.
* objc.dg/property/synthesize-5.m: Same.
* objc.dg/property/synthesize-6.m: Same.
* objc.dg/proto-hier-1.m: Same.
* objc.dg/proto-lossage-4.m: Same.
* objc.dg/protocol-qualifier-2.m: Same.
* objc.dg/strings/strings-1.m: Same.
* objc.dg/type-size-1.m: Same.

From-SVN: r246988

7 years agore PR target/74563 (Classic MIPS16 (non-MIPS16e) function return broken)
Jeff Law [Wed, 19 Apr 2017 04:52:54 +0000 (22:52 -0600)]
re PR target/74563 (Classic MIPS16 (non-MIPS16e) function return broken)

PR target/74563
* mips.md ({return,simple_return}_internal): Do not overwrite
operands[0].

PR target/74563
* gcc.target/mips/pr74563: New test.

From-SVN: r246987

7 years agoDaily bump.
GCC Administrator [Wed, 19 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246986

7 years agore PR tree-optimization/80443 (ICE on valid code at -O2 on x86_64-linux-gnu: in set_v...
Jakub Jelinek [Tue, 18 Apr 2017 19:17:32 +0000 (21:17 +0200)]
re PR tree-optimization/80443 (ICE on valid code at -O2 on x86_64-linux-gnu: in set_value_range, at tree-vrp.c:367)

PR tree-optimization/80443
* tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
instead of adding 1, subtract -1 and similarly instead of subtracting
1 add -1.

* gcc.c-torture/compile/pr80443.c: New test.

From-SVN: r246981

7 years agore PR rtl-optimization/80357 (ICE in model_update_limit_points_in_group, at haifa...
Richard Sandiford [Tue, 18 Apr 2017 18:49:19 +0000 (18:49 +0000)]
re PR rtl-optimization/80357 (ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu)

gcc/
PR rtl-optimization/80357
* haifa-sched.c (tmp_bitmap): New variable.
(model_recompute): Handle duplicate use records.
(alloc_global_sched_pressure_data): Initialize tmp_bitmap.
(free_global_sched_pressure_data): Free it.

gcc/testsuite/
PR rtl-optimization/80357
* gcc.c-torture/compile/pr80357.c: New test.

From-SVN: r246980

7 years agorevert: Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
Bernd Edlinger [Tue, 18 Apr 2017 18:10:27 +0000 (18:10 +0000)]
revert: Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.

2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Revert:
        2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
        * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
        (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
        instead of SYSTEM_HEADER_DIR.

From-SVN: r246979

7 years agore PR middle-end/80422 (ICE on valid code at -O3 in 32-bit mode on x86_64-linux-gnu...
Jeff Law [Tue, 18 Apr 2017 17:31:30 +0000 (11:31 -0600)]
re PR middle-end/80422 (ICE on valid code at -O3 in 32-bit mode on x86_64-linux-gnu: in operator[], at vec.h:732)

PR middle-end/80422
* cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
predecessors after walking up the insn chain.

PR middle-end/80422
* gcc.c-torture/compile/pr80422.c: New test.

From-SVN: r246975

7 years agore PR debug/80263 (gcc's internal type "sizetype" leaks out as base type name in...
Jakub Jelinek [Tue, 18 Apr 2017 16:58:48 +0000 (18:58 +0200)]
re PR debug/80263 (gcc's internal type "sizetype" leaks out as base type name in the DWARF info)

PR debug/80263
* dwarf2out.c (modified_type_die): Try harder not to emit internal
sizetype type into debug info.

* gcc.dg/debug/dwarf2/pr80263.c: New test.

From-SVN: r246973

7 years agore PR target/80099 (ICE in rs6000_expand_vector_extract, at config/rs6000/rs6000...
Michael Meissner [Tue, 18 Apr 2017 16:41:06 +0000 (16:41 +0000)]
re PR target/80099 (ICE in rs6000_expand_vector_extract, at config/rs6000/rs6000.c:7450)

[gcc]
2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80099
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
unneeded test for TARGET_UPPER_REGS_SF.
* config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.

[gcc/testsuite]
2017-04-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80099
* gcc.target/powerpc/pr80099-1.c: New test.
* gcc.target/powerpc/pr80099-2.c: Likewise.
* gcc.target/powerpc/pr80099-3.c: Likewise.
* gcc.target/powerpc/pr80099-4.c: Likewise.
* gcc.target/powerpc/pr80099-5.c: Likewise.

From-SVN: r246972

7 years agore PR sanitizer/80444 (-fcompare-debug failures with -fsanitize-coverage=trace-pc)
Jakub Jelinek [Tue, 18 Apr 2017 15:02:06 +0000 (17:02 +0200)]
re PR sanitizer/80444 (-fcompare-debug failures with -fsanitize-coverage=trace-pc)

PR sanitizer/80444
* sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
instead of gsi_after_labels.

* gcc.dg/sancov/pr80444.c: New test.

From-SVN: r246971

7 years agoregcprop.c (maybe_mode_change): Avoid creating copies of the stack pointer.
Jeff Law [Tue, 18 Apr 2017 15:00:43 +0000 (09:00 -0600)]
regcprop.c (maybe_mode_change): Avoid creating copies of the stack pointer.

* regcprop.c (maybe_mode_change): Avoid creating copies of the
stack pointer.

Revert:
2017-04-13  Jeff Law  <law@redhat.com>
* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
in operands[1] if it is a MEM and TARGET_MIPS16 is active.

From-SVN: r246970

7 years agoTypo.
Georg-Johann Lay [Tue, 18 Apr 2017 13:25:42 +0000 (13:25 +0000)]
Typo.

From-SVN: r246969

7 years agore PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type...
Georg-Johann Lay [Tue, 18 Apr 2017 13:15:47 +0000 (13:15 +0000)]
re PR c++/79435 (ICE on invalid C++ code (with member access into an incomplete type) on x86_64-linux-gnu: Segmentation fault)

gcc/
PR target/79435
* config/avr/avr.c (intl.h): Include it.
(avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _().

From-SVN: r246966

7 years agore PR middle-end/79788 (ICE in expand_expr_real_2, at expr.c:9557)
Jakub Jelinek [Tue, 18 Apr 2017 13:15:46 +0000 (15:15 +0200)]
re PR middle-end/79788 (ICE in expand_expr_real_2, at expr.c:9557)

PR middle-end/79788
PR middle-end/80375
* c-common.c (c_common_type_for_mode): Don't handle
widest_*_literal_type_node here.
c_common_signed_or_unsigned_type): Likewise.
(c_common_nodes_and_builtins): Set widest_*_literal_type_node
to *intTI_type_node or *intDI_type_node depending on whether
TImode is supported by the target or not.

* gcc.dg/pr79788-1.c: New test.
* gcc.dg/pr79788-2.c: New test.

From-SVN: r246965

7 years agoFix incorrect results from std::boyer_moore_searcher
Jonathan Wakely [Tue, 18 Apr 2017 11:08:00 +0000 (12:08 +0100)]
Fix incorrect results from std::boyer_moore_searcher

* include/std/functional (default_searcher, __boyer_moore_array_base)
(__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
(boyer_moore_horspool_searcher): Remove redundant namespace
qualification.
(default_searcher::operator()): Construct return value early and
advance second member in-place.
(boyer_moore_horspool_searcher::operator()): Increment random access
iterator directly instead of using std::next.
(boyer_moore_searcher::operator()): Fix return value.
* testsuite/20_util/function_objects/searchers.cc: Check both parts
of return values.

From-SVN: r246964

7 years agoPR c++/80241 - ICE with alignas pack expansion.
Marek Polacek [Tue, 18 Apr 2017 09:38:55 +0000 (09:38 +0000)]
PR c++/80241 - ICE with alignas pack expansion.

* error.c (dump_expr): Handle TREE_LIST.
* parser.c (cp_parser_std_attribute_list): Return error_mark if
make_pack_expansion returns an error.

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

From-SVN: r246963

7 years agoPR c++/80244 - ICE with attribute in template alias.
Marek Polacek [Tue, 18 Apr 2017 09:34:10 +0000 (09:34 +0000)]
PR c++/80244 - ICE with attribute in template alias.

* tree.c (strip_typedefs): Handle UNDERLYING_TYPE.

* g++.dg/cpp0x/alias-decl-59.C: New test.

From-SVN: r246962

7 years agoValidate that destination gcov file does not exist for gcov-tool (PR gcov-profile...
Martin Liska [Tue, 18 Apr 2017 07:24:20 +0000 (09:24 +0200)]
Validate that destination gcov file does not exist for gcov-tool (PR gcov-profile/78783).

2017-04-18  Martin Liska  <mliska@suse.cz>

PR gcov-profile/78783
* libgcov-driver.c (gcov_get_filename): New function.
2017-04-18  Martin Liska  <mliska@suse.cz>

PR gcov-profile/78783
* gcov-tool.c (gcov_output_files): Validate that destination
file is either removed by the tool or by a user.

From-SVN: r246961

7 years agoDaily bump.
GCC Administrator [Tue, 18 Apr 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246960

7 years agolibgo: update to Go 1.8.1 release
Ian Lance Taylor [Mon, 17 Apr 2017 22:10:58 +0000 (22:10 +0000)]
libgo: update to Go 1.8.1 release

    Reviewed-on: https://go-review.googlesource.com/40775

From-SVN: r246957

7 years ago017-04-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
Bernd Edlinger [Mon, 17 Apr 2017 20:41:40 +0000 (20:41 +0000)]
017-04-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/80287
        * class.c (fixup_may_alias): Fix all type variants.

gcc/testsuite
2017-04-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/80287
        * g++.dg/lto/pr80287_0.C: New test.

From-SVN: r246955

7 years agoPR c++/80415 - wrong error with default arg and array reference.
Jason Merrill [Mon, 17 Apr 2017 19:39:00 +0000 (15:39 -0400)]
PR c++/80415 - wrong error with default arg and array reference.

* tree.c (lvalue_kind): Return clk_class for an array prvalue.

From-SVN: r246954

7 years ago* pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P.
Jason Merrill [Mon, 17 Apr 2017 19:24:31 +0000 (15:24 -0400)]
* pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P.

From-SVN: r246953

7 years agore PR fortran/80440 (Slow compile when USEing modules)
Paul Thomas [Mon, 17 Apr 2017 18:22:03 +0000 (18:22 +0000)]
re PR fortran/80440 (Slow compile when USEing modules)

2017-04-17  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/80440
* module.c (find_symtree_for_symbol): Delete.
(read_module): Remove the call to the above.

From-SVN: r246952

7 years agore PR target/80315 (Calling __builtin_crypto_vshasigmaw with argument 3 out of range...
Kelvin Nilsen [Mon, 17 Apr 2017 16:16:43 +0000 (16:16 +0000)]
re PR target/80315 (Calling __builtin_crypto_vshasigmaw with argument 3 out of range creates an unrecognizable insn)

gcc/testsuite/ChangeLog:

2017-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/80315
* gcc.target/powerpc/pr80315-1.c: New test.
* gcc.target/powerpc/pr80315-2.c: New test.
* gcc.target/powerpc/pr80315-3.c: New test.
* gcc.target/powerpc/pr80315-4.c: New test.

From-SVN: r246949

7 years agoDaily bump.
GCC Administrator [Mon, 17 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246948

7 years agoRemove braces around line number in dejagnu directive
Tom de Vries [Sun, 16 Apr 2017 08:17:14 +0000 (08:17 +0000)]
Remove braces around line number in dejagnu directive

2017-04-16  Tom de Vries  <tom@codesourcery.com>

* g++.dg/parse/error11.C: Remove braces around line number in dejagnu
  directive.
* g++.dg/parse/error3.C: Same.
* g++.old-deja/g++.pt/niklas01a.C: Same.
* gcc.dg/990506-0.c: Same.
* gcc.dg/cpp/19990413-1.c: Same.
* gcc.dg/cpp/pragma-1.c: Same.
* gcc.dg/cpp/pragma-2.c: Same.
* gcc.dg/m-un-2.c: Same.
* objc.dg/private-1.m: Same.

From-SVN: r246945

7 years agoDaily bump.
GCC Administrator [Sun, 16 Apr 2017 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246944

7 years agopr54669.c: Fix dg-do directive.
Uros Bizjak [Sat, 15 Apr 2017 20:07:47 +0000 (22:07 +0200)]
pr54669.c: Fix dg-do directive.

* gcc.dg/pr54669.c: Fix dg-do directive.
* gcc.dg/pr78582.c: Ditto.
* gcc.dg/pr80020.c: Ditto.
* gcc.dg/torture/pr57993-2.cpp: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-3.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-4.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-6.c: Ditto.
* gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: Ditto.
* gcc.dg/tree-ssa/pr79327-2.c: Ditto.
* gcc.dg/tree-ssa/pr79352.c: Ditto.
* gcc.dg/tree-ssa/pr79376.c: Ditto.
* gcc.dg/tree-ssa/pr79691.c: Ditto.

From-SVN: r246941

7 years agodeferred_character_3.f90: Fix dg directive.
Dominique d'Humieres [Sat, 15 Apr 2017 18:17:11 +0000 (20:17 +0200)]
deferred_character_3.f90: Fix dg directive.

2017-04-15  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/deferred_character_3.f90: Fix dg directive.
* gfortran.dg/generic_29.f90: Likewise.
* gfortran.dg/goacc/multi-clause.f90: Likewise.
* gfortran.dg/pr41922.f90: Likewise.
* gfortran.dg/pr70006.f90: Likewise.

From-SVN: r246940

7 years agors6000: Testcase 20050830-1.c no longer fails (PR66612)
Segher Boessenkool [Sat, 15 Apr 2017 04:11:35 +0000 (06:11 +0200)]
rs6000: Testcase 20050830-1.c no longer fails (PR66612)

Bin's commit r246810, for PR80153, fixes 20050830-1.c for -m64 (it
already passed for -m32).  So, this patch removes the remaining xfail.

gcc/testsuite/
PR tree-optimization/66612
* gcc.target/powerpc/20050830-1.c: Remove xfail.

From-SVN: r246939

7 years ago[libcp1] handle anon aggregates linkage-named by typedefs
Alexandre Oliva [Sat, 15 Apr 2017 03:28:31 +0000 (03:28 +0000)]
[libcp1] handle anon aggregates linkage-named by typedefs

Arrange for the first typedef to an anonymous type in the same context
to be used as the linkage name for the type.

for  gcc/cp/ChangeLog

* decl.c (name_unnamed_type): Split out of...
(grokdeclarator): ... this.
* decl.h (name_unnamed_type): Declare.

for  libcc1/ChangeLog

* libcp1plugin.cc (plugin_build_decl): Call name_unnamed_type.

From-SVN: r246938

7 years agoDaily bump.
GCC Administrator [Sat, 15 Apr 2017 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246937

7 years agore PR fortran/80361 ([OOP] bogus recursive call to nonrecursive procedure with ...
Janus Weil [Fri, 14 Apr 2017 21:17:52 +0000 (23:17 +0200)]
re PR fortran/80361 ([OOP] bogus  recursive call to nonrecursive procedure with -fcheck=recursion)

2017-04-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80361
* class.c (generate_finalization_wrapper): Give the finalization wrapper
the recursive attribute.

2017-04-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80361
* gfortran.dg/class_62.f90: New test case.

From-SVN: r246934

7 years agoarc: Fix for loop end detection
Andrew Burgess [Fri, 14 Apr 2017 21:14:34 +0000 (22:14 +0100)]
arc: Fix for loop end detection

We use a negative ID number to link together the doloop_begin and
doloop_end instructions.  This negative ID number is setup within
doloop_begin, at this point the ID is stored into the loop end
instruction (doloop_end_i) and placed into the doloop_begin_i
instruction.

In arc.c (arc_reorg) we extract the ID from the doloop_end_i
instruction in order to find the matching doloop_begin_i instruction,
though the ID is only used in some cases.

Currently in arc_reorg when we extract the ID we negate it.  This
negation is invalid.  The ID stored in both doloop_end_i and
doloop_begin_i is already negative, the negation in arc_reorg means
that if we need to use the ID to find the doloop_begin_i then we will
never find it (as the IDs will never match).

This commit removes the unneeded negation, moves the extraction of the
ID into a more appropriately scoped block and adds a new test for this
issue.

gcc/ChangeLog:

* config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
block, and do not negate it, the stored id is already negative.

gcc/testsuite/ChangeLog:

* gcc.target/arc/loop-1.c: New file.

Co-Authored-By: Guy Benyei <guybe@mellanox.com>
From-SVN: r246933

7 years agoarc: Use @pcl assembler syntax instead of invalid expressions
Andrew Burgess [Fri, 14 Apr 2017 21:08:35 +0000 (22:08 +0100)]
arc: Use @pcl assembler syntax instead of invalid expressions

The old ARC assembler would accept expressions like 'LABEL-(.&-4)'
which would calculate the offset from the PCL to LABEL.  The new ARC
assembler does not accept these expressions, instead there's an @pcl
synax, used like LABEL@pcl which gives the offset from PCL to LABEL.

Most of the use of the old expression syntax have been removed,
however, this one got missed.

gcc/ChangeLog:

* config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.

From-SVN: r246932

7 years agore PR target/80098 (ICE in curr_insn_transform, at lra-constraints.c:3816 on ppc64le)
Michael Meissner [Fri, 14 Apr 2017 20:27:18 +0000 (20:27 +0000)]
re PR target/80098 (ICE in curr_insn_transform, at lra-constraints.c:3816 on ppc64le)

[gcc]
2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80098
* config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
masks of options that should be turned off if the VSX vector
options are turned off.
(OTHER_P8_VECTOR_MASKS): Likewise.
(OTHER_VSX_VECTOR_MASKS): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Call
rs6000_disable_incompatible_switches to validate no type switches
like -mvsx.
(rs6000_incompatible_switch): New function to disallow turning on
other vector options if -mno-vsx, -mno-power8-vector, or
-mno-power9-vector are specified.

[gcc/testsuite]
2017-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80098
* gcc.target/powerpc/pr80098-1.c: New test.
* gcc.target/powerpc/pr80098-2.c: Likewise.
* gcc.target/powerpc/pr80098-3.c: Likewise.
* gcc.target/powerpc/pr80098-4.c: Likewise.

From-SVN: r246930

7 years ago[ARC] Use long jumps for CRT calls
Claudiu Zissulescu [Fri, 14 Apr 2017 11:41:04 +0000 (13:41 +0200)]
[ARC] Use long jumps for CRT calls

gcc/
2017-04-17  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.

From-SVN: r246927

7 years ago[ARC] DWARF emitting cleanup.
Claudiu Zissulescu [Fri, 14 Apr 2017 11:40:54 +0000 (13:40 +0200)]
[ARC] DWARF emitting cleanup.

The use of CFA_FRAME_BASE_OFFSET and ARG_POINTER_CFA_OFFSET macros
leads to wrong offset calculation for DW_OP_fbreg constructions.
Remove them.

gcc/
2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
* config/arc/arc.c (arc_decl_pretend_args): Likewise.
* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
(ARG_POINTER_CFA_OFFSET): Likewise.

From-SVN: r246926

7 years ago[ARC] Update mode_dependent_address_p hook.
Claudiu Zissulescu [Fri, 14 Apr 2017 11:40:43 +0000 (13:40 +0200)]
[ARC] Update mode_dependent_address_p hook.

Update arc_mode_dependent_address_p to avoid emitting subreg(mem (reg
..)) when expanding by relaxing the conditions.

gcc/
2017-04-14  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_mode_dependent_address_p): Relax
conditions to take advantage of various optimizations.

From-SVN: r246925

7 years agomips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is...
Jeff Law [Fri, 14 Apr 2017 05:13:19 +0000 (23:13 -0600)]
mips.mips.md (zero_extendsidi2): Do not allow SP to appear in operands[1] if it is a MEM and TARGET_MIPS16 is active.

* config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
in operands[1] if it is a MEM and TARGET_MIPS16 is active.
(zero_extendsidi2_dext): Likewise.

From-SVN: r246924

7 years agoDaily bump.
GCC Administrator [Fri, 14 Apr 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246923

7 years agoplugin-nvptx.c (cuda_lib_inited): Use signed char type instead of char.
Jakub Jelinek [Thu, 13 Apr 2017 19:59:04 +0000 (21:59 +0200)]
plugin-nvptx.c (cuda_lib_inited): Use signed char type instead of char.

* plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
instead of char.

From-SVN: r246918

7 years agore PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Thu, 13 Apr 2017 19:52:58 +0000 (21:52 +0200)]
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr)

PR sanitizer/80403
* fold-const.c (fold_ternary_loc): Revert
use op0 instead of fold_convert_loc (loc, type, arg0) part of
2017-04-12 change.

* g++.dg/ubsan/pr80403-2.C: New test.

From-SVN: r246917

7 years agore PR rtl-optimization/80343 (ICE in extract_constrain_insn, at recog.c:2213 (error...
Vladimir Makarov [Thu, 13 Apr 2017 18:08:51 +0000 (18:08 +0000)]
re PR rtl-optimization/80343 (ICE in extract_constrain_insn, at recog.c:2213 (error: insn does not satisfy its constraints))

2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80343
* lra-remat.c (update_scratch_ops): Assign original hard reg to
new scratch pseudo.

2017-04-13  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80343
* gcc.target/powerpc/pr80343.c: New.

From-SVN: r246914

7 years agore PR sanitizer/80414 ([UBSAN] segfault with -fsanitize=undefined)
Denis Khalikov [Thu, 13 Apr 2017 14:52:23 +0000 (14:52 +0000)]
re PR sanitizer/80414 ([UBSAN] segfault with -fsanitize=undefined)

PR sanitizer/80414
* ubsan.c (ubsan_expand_bounds_ifn): Pass original index
to ubsan_encode_value.

* c-c++-common/ubsan/bounds-15.c: New test.

From-SVN: r246909

7 years agoreload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_...
Jeff Law [Thu, 13 Apr 2017 14:02:33 +0000 (08:02 -0600)]
reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs appearing in DEBUG_INSNs.

* reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
appearing in DEBUG_INSNs.

From-SVN: r246904

7 years agoDo not call memcpy with a NULL argument (PR gcov-profile/80413).
Martin Liska [Thu, 13 Apr 2017 11:51:28 +0000 (13:51 +0200)]
Do not call memcpy with a NULL argument (PR gcov-profile/80413).

2017-04-13  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80413
* gcov-io.c (gcov_write_string): Copy to buffer just when
allocated size is greater than zero.

From-SVN: r246903

7 years agore PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C -O2 execution test)
Richard Biener [Thu, 13 Apr 2017 11:17:38 +0000 (11:17 +0000)]
re PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C   -O2  execution test)

2017-04-13  Richard Biener  <rguenther@suse.de>

PR testsuite/80416
* g++.dg/torture/pr79671.C: Fix asm constraints.

From-SVN: r246902

7 years agore PR debug/80321 (infinite recursion with inlining of nested function and debug...
Jakub Jelinek [Thu, 13 Apr 2017 11:05:09 +0000 (13:05 +0200)]
re PR debug/80321 (infinite recursion with inlining of nested function and debug info)

PR debug/80321
* dwarf2out.c (decls_for_scope): Ignore declarations of
current_function_decl in BLOCK_NONLOCALIZED_VARS.

* gcc.dg/debug/pr80321.c: New test.

2017-04-13  Eric Botcazou  <ebotcazou@adacore.com>

* gnat.dg/debug10.adb: New test.
* gnat.dg/debug10_pkg.ads: New helper.

From-SVN: r246900

7 years agore PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)
Jan Hubicka [Thu, 13 Apr 2017 08:04:52 +0000 (10:04 +0200)]
re PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)

PR lto/69953
* ipa-visibility.c (non_local_p): Fix typos.
(localize_node): When localizing symbol in same comdat group,
dissolve the group only when we know external symbols are going
to be privatized.
(function_and_variable_visibility): Do not localize DECL_EXTERNAL.

From-SVN: r246899

7 years agoDaily bump.
GCC Administrator [Thu, 13 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246898

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Jakub Jelinek [Wed, 12 Apr 2017 18:09:47 +0000 (20:09 +0200)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

PR tree-optimization/79390
* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
order does not result in usable sequence, retry with reversed operand
order.

* gcc.target/i386/pr70465-2.c: Xfail the scan-assembler-not test.

From-SVN: r246882

7 years agore PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Wed, 12 Apr 2017 18:08:29 +0000 (20:08 +0200)]
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr)

PR sanitizer/80403
PR sanitizer/80404
PR sanitizer/80405
* fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
to fold_build2_loc.  Convert TREE_OPERAND (tem, 0) to type.  Use
op0 instead of fold_convert_loc (loc, type, arg0).

* g++.dg/ubsan/pr80403.C: New test.
* g++.dg/ubsan/pr80404.C: New test.
* g++.dg/ubsan/pr80405.C: New test.

From-SVN: r246881

7 years agogenattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in...
Jeff Law [Wed, 12 Apr 2017 16:08:18 +0000 (10:08 -0600)]
genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code.

* genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
has a delay slot in the generated code.

From-SVN: r246879

7 years agocris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS.
Jeff Law [Wed, 12 Apr 2017 14:58:23 +0000 (08:58 -0600)]
cris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS.

* config/cris/cris.md (cris_preferred_reload_class): Return
GENNONACR_REGS rather than GENERAL_REGS.

From-SVN: r246877

7 years agore PR middle-end/80163 (ICE on hopefully valid code)
Jakub Jelinek [Wed, 12 Apr 2017 13:57:45 +0000 (15:57 +0200)]
re PR middle-end/80163 (ICE on hopefully valid code)

PR c/80163
* expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
vs. ZERO_EXTEND based on signedness of treeop0's type rather than
signedness of the result type.

* gcc.dg/torture/pr80163.c: New test.

From-SVN: r246876

7 years agore PR tree-optimization/80359 (DSE causes error: invalid reference prefix)
Richard Biener [Wed, 12 Apr 2017 13:47:26 +0000 (13:47 +0000)]
re PR tree-optimization/80359 (DSE causes error: invalid reference prefix)

2017-04-12  Richard Biener  <rguenther@suse.de>
Jeff Law  <law@redhat.com>

PR tree-optimization/80359
* tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
trim stores to TARGET_MEM_REFs.

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

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r246875

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Richard Biener [Wed, 12 Apr 2017 09:41:02 +0000 (09:41 +0000)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

2017-04-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79390
* gimple-ssa-split-paths.c (is_feasible_trace): Restrict
threading case even more.

From-SVN: r246869

7 years agors6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)
Segher Boessenkool [Wed, 12 Apr 2017 08:32:56 +0000 (10:32 +0200)]
rs6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)

Whatever expand expands to should be valid instructions.  The defined
instructions here have a quad_memory_operand predicate, which boils
down to quad_address_p on the address, so let's test for that instead
of only disallowing indexed addresses.

* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
for quad_address_p for TImode, instead of just not indexed_address.

From-SVN: r246868

7 years agors6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)
Segher Boessenkool [Wed, 12 Apr 2017 08:31:40 +0000 (10:31 +0200)]
rs6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)

Whatever expand expands to should be valid instructions.  The defined
instructions here have a quad_memory_operand predicate, which boils
down to quad_address_p on the address, so let's test for that instead
of only disallowing indexed addresses.

* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
for quad_address_p for TImode, instead of just not indexed_address.

From-SVN: r246867

7 years agore PR target/79671 (mapnik miscompilation on armv7hl since r235622)
Richard Biener [Wed, 12 Apr 2017 07:35:49 +0000 (07:35 +0000)]
re PR target/79671 (mapnik miscompilation on armv7hl since r235622)

2017-04-12  Richard Biener  <rguenther@suse.de>
Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR middle-end/79671
* alias.c (component_uses_parent_alias_set_from): Handle
TYPE_TYPELESS_STORAGE.
(get_alias_set): Likewise.
* tree-core.h (tree_type_common): Add typeless_storage flag.
* tree.h (TYPE_TYPELESS_STORAGE): New macro.
* stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
for types containing members with TYPE_TYPELESS_STORAGE.
(place_field): Likewise.
(layout_type): Likewise for ARRAY_TYPE.
* lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
TYPE_TYPELESS_STORAGE.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.

lto/
* lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.

cp/
* tree.c (build_cplus_array_type): Set TYPE_TYPELESS_STORAGE
for arrays of character or std::byte type.

* g++.dg/torture/pr79671.C: New testcase.
* g++.dg/lto/pr79671_0.C: Likewise.
* g++.dg/lto/pr79671_1.c: Likewise.

Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
From-SVN: r246866

7 years agore PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Wed, 12 Apr 2017 06:12:26 +0000 (08:12 +0200)]
re PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expression" message)

PR sanitizer/80349
* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
first argument to type.

* g++.dg/ubsan/pr80349.C: New test.

From-SVN: r246865

7 years agore PR go/77857 (gccgo: vendoring doesn't work in gcc 6/7)
Ian Lance Taylor [Wed, 12 Apr 2017 04:26:15 +0000 (04:26 +0000)]
re PR go/77857 (gccgo: vendoring doesn't work in gcc 6/7)

PR go/77857
    cmd/go: generate vendor paths for -I arg on compile

    This change generates the vendor path to be used with -I
    on a gccgo compile to find imports from the vendor directories.

    Fixes golang/go#15628

    Reviewed-on: https://go-review.googlesource.com/39590

From-SVN: r246864

7 years agoDaily bump.
GCC Administrator [Wed, 12 Apr 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246863

7 years agofaq.xml: Update reference link to C++ ABI for Itanium.
Gerald Pfeifer [Tue, 11 Apr 2017 22:36:40 +0000 (22:36 +0000)]
faq.xml: Update reference link to C++ ABI for Itanium.

* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
* doc/xml/manual/abi.xml. Ditto (thrice).

From-SVN: r246860

7 years agore PR target/80376 (Some vec_xxpermdi usage lead to ICE)
Bill Schmidt [Tue, 11 Apr 2017 21:37:16 +0000 (21:37 +0000)]
re PR target/80376 (Some vec_xxpermdi usage lead to ICE)

2017-04-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/80376
PR target/80315
* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
CONST0_RTX (mode) rather than const0_rtx where appropriate.
(rs6000_expand_binop_builtin): Likewise.
(rs6000_expand_ternop_builtin): Likewise; also add missing
vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
vshasigma built-ins.
* doc/extend.texi: Document that vec_xxpermdi's third argument
must be a constant.

From-SVN: r246859

7 years agoPR c++/80294 - ICE with constexpr and inheritance.
Jason Merrill [Tue, 11 Apr 2017 21:07:32 +0000 (17:07 -0400)]
PR c++/80294 - ICE with constexpr and inheritance.

* constexpr.c (reduced_constant_expression_p):
A null constructor element is non-constant.
(cxx_eval_indirect_ref): Don't VERIFY_CONSTANT before
returning an empty base.

From-SVN: r246858

7 years agore PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubs...
Jakub Jelinek [Tue, 11 Apr 2017 20:51:16 +0000 (22:51 +0200)]
re PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubst_decomp_names))

PR c++/80370
* decl.c (cp_finish_decomp): If processing_template_decl on
non-dependent decl, only set TREE_TYPE on the v[i] decls, but don't
change their DECL_VALUE_EXPR nor cp_finish_decl them.  Instead make
sure DECL_VALUE_EXPR is the canonical NULL type ARRAY_REF for tsubst
processing.
* pt.c (value_dependent_expression_p) <case VAR_DECL>: For variables
with DECL_VALUE_EXPR, return true if DECL_VALUE_EXPR is type
dependent.

* g++.dg/cpp1z/decomp28.C: New test.

From-SVN: r246857

7 years agoi386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter...
Uros Bizjak [Tue, 11 Apr 2017 20:36:58 +0000 (22:36 +0200)]
i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts.

* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
Use shift_const cost parameter when calculating gain of STV shifts.

From-SVN: r246856

7 years agore PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack...
Vladimir Makarov [Tue, 11 Apr 2017 19:39:59 +0000 (19:39 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-11  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Check memory for
disfavoring memory insn operand.

From-SVN: r246854

7 years agore PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with...
Jakub Jelinek [Tue, 11 Apr 2017 17:21:51 +0000 (19:21 +0200)]
re PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with optimization)

PR middle-end/80100
* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
left shift in unsigned HOST_WIDE_INT type.

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

From-SVN: r246851

7 years agore PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal...
Jakub Jelinek [Tue, 11 Apr 2017 17:19:56 +0000 (19:19 +0200)]
re PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal.c:3373)

PR rtl-optimization/80385
* simplify-rtx.c (simplify_unary_operation_1): Don't transform
(not (neg X)) into (plus X -1) for complex or non-integral modes.

* g++.dg/opt/pr80385.C: New test.

From-SVN: r246850

7 years agore PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing)
Jakub Jelinek [Tue, 11 Apr 2017 17:15:47 +0000 (19:15 +0200)]
re PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing)

PR libgomp/80394
* omp-low.c (scan_omp_task): Don't optimize away empty tasks
if they have any depend clauses.

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

From-SVN: r246849

7 years agoAdd function part to a same comdat group (PR ipa/80212).
Martin Liska [Tue, 11 Apr 2017 16:38:19 +0000 (18:38 +0200)]
Add function part to a same comdat group (PR ipa/80212).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
* ipa-split.c (split_function): Create a local comdat symbol
if caller is in a comdat group.
2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.

From-SVN: r246848

7 years agoDo not create a constprop clone for calls_comdat_local nodes (PR ipa/80212).
Martin Liska [Tue, 11 Apr 2017 16:37:31 +0000 (18:37 +0200)]
Do not create a constprop clone for calls_comdat_local nodes (PR ipa/80212).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* ipa-cp.c (determine_versionability): Handle calls_comdat_local
flags.

From-SVN: r246847

7 years agoPR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c
Martin Sebor [Tue, 11 Apr 2017 16:35:34 +0000 (16:35 +0000)]
PR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c

gcc/ChangeLog:
PR middle-end/80364
* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
always use the int type.  Use INTEGRAL_TYPE_P() rather than testing
for INTEGER_TYPE.
(directive::set_width, directive::set_precision, format_character):
Adjust.
(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
INTEGER_TYPE.

gcc/testsuite/ChangeLog:
PR middle-end/80364
* gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: New test.

From-SVN: r246846

7 years agodownload_prerequisites (md5_check): New function emulates Linux 'md5 --check' on...
Damian Rouson [Tue, 11 Apr 2017 16:34:07 +0000 (16:34 +0000)]
download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS.

2017-04-11  Damian Rouson  <damian@sourceryinstitute.org>

        * download_prerequisites (md5_check): New function emulates Linux
        'md5 --check' on macOS.  Modified script for macOS compatibility.

From-SVN: r246845

7 years ago[arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name...
Richard Earnshaw [Tue, 11 Apr 2017 14:57:41 +0000 (14:57 +0000)]
[arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name as a CPU name

In this PR we incorrectly print the architecture name in a .cpu
directive in the assembly file when the -mcpu and -march options
conflict (don't target the same base architecture).  In this case the
.arch overrides the .cpu directive and we should emit a .arch option.

PR target/80389
* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch conflict,
set target->arch_name instead of target->cpu_name.

From-SVN: r246843

7 years agoclose.c: Fix white space in pointer declarations and comment formats where applicable.
Jerry DeLisle [Tue, 11 Apr 2017 14:51:25 +0000 (14:51 +0000)]
close.c: Fix white space in pointer declarations and comment formats where applicable.

2017-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* close.c: Fix white space in pointer declarations and comment
formats where applicable.
* fbuf.c: Likewise.
* fbuf.h: Likewise.
* format.c: Likewise.
* inquire.c: Likewise.
* intrinsics.c: Likewise.
* list_read.c: Likewise.
* lock.c: Likewise.
* open.c: Likewise.
* read.c: Likewise.
* transfer.c: Likewise.
* unit.c: Likewise.
* unix.c: Likewise.
* unix.h: Likewise.
* write.c: Likewise.

From-SVN: r246842

7 years agore PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)
Richard Biener [Tue, 11 Apr 2017 13:44:24 +0000 (13:44 +0000)]
re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)

2017-04-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
build_zero_cst, remove fold_convertible_p check again.

From-SVN: r246840

7 years agoDo not instrument register variables in object-size sanitizer (PR sanitizer/70878).
Martin Liska [Tue, 11 Apr 2017 13:08:08 +0000 (15:08 +0200)]
Do not instrument register variables in object-size sanitizer (PR sanitizer/70878).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR sanitizer/70878
* ubsan.c (instrument_object_size): Do not instrument register
variables.
2017-04-11  Martin Liska  <mliska@suse.cz>

PR sanitizer/70878
* gcc.dg/ubsan/pr70878.c: New test.

From-SVN: r246837

7 years agore PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an...
Jakub Jelinek [Tue, 11 Apr 2017 08:54:54 +0000 (10:54 +0200)]
re PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an 8-bit immediate)

PR target/80381
* config/i386/i386-builtin-types.def
(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
aliases.
* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
flag to second_arg_count, handle 4 argument function type _COUNT
aliases, handle second_arg_count on second argument rather than last.

* gcc.target/i386/pr80381.c: New test.

From-SVN: r246835

7 years agore PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>)
Jakub Jelinek [Tue, 11 Apr 2017 08:51:40 +0000 (10:51 +0200)]
re PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>)

PR c++/80363
* error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR.

* g++.dg/ext/pr80363.C: New test.

From-SVN: r246834