* 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
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
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
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
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
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
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
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
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
[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
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
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
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
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
Fix bogus builtin-sprintf-warn-{3,10}.c failures for avr.
This patch fixes a whole bunch of failures reported for
gcc.dg/tree-ssa/builtin-sprintf-warn-{3,10}.c for the avr target.
builtin-sprintf-warn-10.c fails because the bounds in the warning
messages expect 4 digit wide exponents i.e. __DBL_MAX_EXP__ > 999.
For the avr, floats and doubles are both 32 bits wide, __DBL_MAX_EXP__
== 128, and the max number of exponent digits can only be 3 .
The computed size thus ends up one short of the value the test
expects. The patch makes the test run only for targets with double64plus.
builtin-sprintf-warn-3.c fails because the test appears to assume all
non lp64 targets to be ilp32. For the avr, pointer size and int size
are equal, but both are 16 bits, not 32. The patch fixes this by
explicitly adding avr to the dejagnu selector.
gcc/testsuite
2017-04-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Require double64plus.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (void test_too_large):
Add avr-*-* to non-lp64 selector.
From-SVN: r246831
Daily bump.
From-SVN: r246830
Adjust dg-bogus pattern to match the text of the changed diagnostic.
gcc/testsuite:
* gcc.dg/pr40340-3.c: Adjust directive pattern.
* gcc.dg/pr40340-4.c: Same.
From-SVN: r246827
re PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded statement)
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/69498
* module.c (gfc_match_submodule): Add error
if function is called in the wrong state.
2017-04-10 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/69498
* gfortran.dg/submodule_unexp.f90: Modified test
to account for new error.
* gfortran.dg/submodule_twice.f90: New Test
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r246826