c.opt (Wextra-semi): New C++ warning flag.
* c.opt (Wextra-semi): New C++ warning flag.
* doc/invoke.texi (-Wextra-semi): Document new warning option.
* parser.c (cp_parser_member_declaration): Add warning with fixit
information for extra semicolon after in-class function definition.
* g++.dg/warn/Wextra-semi.C: New test.
From-SVN: r247028
PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
* include/tr1/exp_integral.tcc: Increase iteration limits.
* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
pr68397.cc: New test.
* testsuite/special_functions/14_expint/pr68397.cc: New test.
From-SVN: r247027
re PR target/57796 (AVX2 gather vectorization: code bloat and reduction of performance)
2017-04-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/57796
* tree-vect-stmts.c (vect_model_store_cost): Cost scatters
as N scalar stores.
(vect_model_load_cost): Cost gathers as N scalar loads.
From-SVN: r247026
ggc-page.c (ggc_allocated_p): Rename to ...
2017-04-20 Richard Biener <rguenther@suse.de>
* ggc-page.c (ggc_allocated_p): Rename to ...
(safe_lookup_page_table_entry): ... this and return the lookup
result.
(gt_ggc_m_S): Use safe_lookup_page_table_entry.
From-SVN: r247025
* crontab: Enable snapshots from gcc-7-branch.
From-SVN: r247020
* BASE-VER: Set to 8.0.0.
From-SVN: r247017
Daily bump.
From-SVN: r247010
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
* libsupc++/new: Update comment on #endif directive.
From-SVN: r246999
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
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
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
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
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
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
Daily bump.
From-SVN: r246986
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
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
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
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
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
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
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
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
Typo.
From-SVN: r246969
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
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
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
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
Daily bump.
From-SVN: r246960
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
* pt.c (tsubst_init): Set TARGET_EXPR_DIRECT_INIT_P.
From-SVN: r246953
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
Daily bump.
From-SVN: r246948
Daily bump.
From-SVN: r246944
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
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
Daily bump.
From-SVN: r246937
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
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
[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
[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
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
Daily bump.
From-SVN: r246923
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
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
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
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
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
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
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
Daily bump.
From-SVN: r246898
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
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
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
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
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
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
Daily bump.
From-SVN: r246863
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
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
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