aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/overflow-warn-4.c
AgeCommit message (Collapse)AuthorFilesLines
2017-08-09re PR c/81233 (--Wdiscarded-qualifiers and Wincompatible-pointer-types ↵Marek Polacek1-2/+2
missing important detail) PR c/81233 * c-typeck.c (pedwarn_init): Make the function take a variable list. Call emit_diagnostic_valist instead of pedwarn. (convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro. Print the relevant types in diagnostics. * diagnostic-core.h (emit_diagnostic_valist): Add declaration. * diagnostic.c (emit_diagnostic): Add a comment. (emit_diagnostic_valist): New function. * gcc.dg/diagnostic-types-1.c: New test. * gcc.dg/assign-warn-1.c: Update warning messages. * gcc.dg/assign-warn-2.c: Likewise. * gcc.dg/c90-const-expr-5.c: Likewise. * gcc.dg/c99-const-expr-5.c: Likewise. * gcc.dg/conv-2.c: Likewise. * gcc.dg/init-bad-7.c: Likewise. * gcc.dg/overflow-warn-1.c: Likewise. * gcc.dg/overflow-warn-2.c: Likewise. * gcc.dg/overflow-warn-3.c: Likewise. * gcc.dg/overflow-warn-4.c: Likewise. * gcc.dg/pointer-array-atomic.c: Likewise. * gcc.dg/pr26865.c: Likewise. * gcc.dg/pr61162-2.c: Likewise. * gcc.dg/pr61162.c: Likewise. * gcc.dg/pr67730-2.c: Likewise. * gcc.dg/pr69156.c: Likewise. * gcc.dg/pr70174.c: Likewise. * objc.dg/proto-lossage-4.m: Likewise. From-SVN: r250985
2017-07-26re PR middle-end/70992 (Infinite recursion between fold_build2_stat_loc and ↵Marek Polacek1-1/+1
fold_binary_loc w/ -fwrapv) PR middle-end/70992 * tree.c (build2_stat): Don't set TREE_CONSTANT on divisions by zero. * gcc.dg/overflow-warn-1.c: Adjust dg-error. * gcc.dg/overflow-warn-2.c: Likewise. * gcc.dg/overflow-warn-3.c: Likewise. * gcc.dg/overflow-warn-4.c: Likewise. * gcc.dg/torture/pr70992-2.c: New test. * gcc.dg/torture/pr70992.c: New test. From-SVN: r250566
2017-05-24PR c/80731 - poor -Woverflow warningsMartin Sebor1-8/+8
gcc/c-family/ChangeLog: PR c/80731 * c-common.h (unsafe_conversion_p): Add a function argument. * c-common.c (unsafe_conversion_p): Same. Add type names and values to diagnostics. (scalar_to_vector): Adjust. * c-warn.c (constant_expression_error): Add a function argument. Add type names and values to diagnostics. (conversion_warning): Add a function argument. Add type names and values to diagnostics. (warnings_for_convert_and_check): Same. gcc/c/ChangeLog: PR c/80731 * c-fold.c (c_fully_fold_internal): Adjust. * c-typeck.c (parser_build_unary_op): Adjust. gcc/cp/ChangeLog: PR c/80731 * call.c (fully_fold_internal): Adjust. gcc/testsuite/ChangeLog: PR c/80731 * c-c++-common/Wfloat-conversion.c: Adjust. * c-c++-common/dfp/convert-int-saturate.c: Same. * c-c++-common/pr68657-1.c: Same. * g++.dg/ext/utf-cvt.C: Same. * g++.dg/ext/utf16-4.C: Same. * g++.dg/warn/Wconversion-real-integer-3.C: Same. * g++.dg/warn/Wconversion-real-integer2.C: Same. * g++.dg/warn/Wconversion3.C: Same. * g++.dg/warn/Wconversion4.C: Same. * g++.dg/warn/Wsign-conversion.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/pr35635.C: Same. * g++.old-deja/g++.mike/enum1.C: Same. * gcc.dg/Wconversion-3.c: Same. * gcc.dg/Wconversion-5.c: Same. * gcc.dg/Wconversion-complex-c99.c: Same. * gcc.dg/Wconversion-complex-gnu.c: Same. * gcc.dg/Wconversion-integer.c: Same. * gcc.dg/Wsign-conversion.c: Same. * gcc.dg/bitfld-2.c: Same. * gcc.dg/c90-const-expr-11.c: Same. * gcc.dg/c90-const-expr-7.c: Same. * gcc.dg/c99-const-expr-7.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/overflow-warn-5.c: Same. * gcc.dg/overflow-warn-8.c: Same. * gcc.dg/overflow-warn-9.c: New test. * gcc.dg/pr35635.c: Adjust. * gcc.dg/pr59940.c: Same. * gcc.dg/pr59963-2.c: Same. * gcc.dg/pr60114.c: Same. * gcc.dg/switch-warn-2.c: Same. * gcc.dg/utf-cvt.c: Same. * gcc.dg/utf16-4.c: Same. From-SVN: r248431
2017-04-19Use relative line number for subsequent dg directivesTom de Vries1-13/+13
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
2009-04-08re PR middle-end/39614 (Internal error compiling CSiBE)Joseph Myers1-1/+1
PR c/39614 PR c/39673 * c-common.h (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Remove duplicate definitions. * c-convert.c (convert): Do not call fold on results of conversion functions when the result is a C_MAYBE_CONST_EXPR. * c-parser.c (c_parser_postfix_expression): Do not fold condition of __builtin_choose_expr. * c-typeck.c (remove_c_maybe_const_expr): New. (build_unary_op, build_conditional_expr, build_compound_expr, build_binary_op, c_objc_common_truthvalue_conversion): Call remove_c_maybe_const_expr on any input C_MAYBE_CONST_EXPR with integer operands. testsuite: * gcc.c-torture/compile/pr39614-1.c, gcc.c-torture/compile/pr39614-2.c, gcc.c-torture/compile/pr39614-3.c, gcc.c-torture/compile/pr39614-4.c, gcc.c-torture/compile/pr39614-5.c, gcc.c-torture/compile/pr39673-1.c, gcc.c-torture/compile/pr39673-2.c: New tests. * gcc.dg/gnu89-const-expr-2.c, gcc.dg/gnu99-const-expr-2.c: Test more cases. * gcc.dg/overflow-warn-1.c, gcc.dg/overflow-warn-2.c, gcc.dg/overflow-warn-3.c, gcc.dg/overflow-warn-4.c: Update expected errors. From-SVN: r145737
2009-03-29re PR c/456 (constant expressions constraints (gcc.dg/c90-const-expr-1))Joseph Myers1-7/+10
PR c/456 PR c/5675 PR c/19976 PR c/29116 PR c/31871 PR c/35198 fixincludes: * inclhack.def (glibc_tgmath): New fix. * fixincl.x: Regenerate. * tests/base/tgmath.h: New. gcc: * builtins.c (fold_builtin_sincos): Build COMPOUND_EXPR in void_type_node. (fold_call_expr): Return a NOP_EXPR from folding rather than the contained expression. * c-common.c (c_fully_fold, c_fully_fold_internal, c_save_expr): New. (c_common_truthvalue_conversion): Use c_save_expr. Do not fold conditional expressions for C. (decl_constant_value_for_optimization): Move from decl_constant_value_for_broken_optimization in c-typeck.c. Check whether optimizing and that the expression is a VAR_DECL not of array type instead of doing such checks in the caller. Do not check pedantic. Call gcc_unreachable for C++. * c-common.def (C_MAYBE_CONST_EXPR): New. * c-common.h (c_fully_fold, c_save_expr, decl_constant_value_for_optimization): New prototypes. (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR, C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST, EXPR_INT_CONST_OPERANDS): Define. * c-convert.c (convert): Strip nops from expression. * c-decl.c (groktypename): Take extra parameters expr and expr_const_operands. Update call to grokdeclarator. (start_decl): Update call to grokdeclarator. Add statement for expressions used in type of decl. (grokparm): Update call to grokdeclarator. (push_parm_decl): Update call to grokdeclarator. (build_compound_literal): Add parameter non_const and build a C_MAYBE_COSNT_EXPR if applicable. (grokdeclarator): Take extra parameters expr and expr_const_operands. Track expressions used in declaration specifiers and declarators. Fold array sizes and track whether they are constant expressions and whether they are integer constant expressions. (parser_xref_tag): Set expr and expr_const_operands fields in return value. (grokfield): Update call to grokdeclarator. (start_function): Update call to grokdeclarator. (build_null_declspecs): Set expr and expr_const_operands fields in return value. (declspecs_add_type): Handle expressions in typeof specifiers. * c-parser.c (c_parser_declspecs): Set expr and expr_const_operands fields for declaration specifiers. (c_parser_enum_specifier): Likewise. (c_parser_struct_or_union_specifier): Likewise. (c_parser_typeof_specifier): Likewise. Update call to groktypename. Fold expression as needed. Return expressions with type instead of adding statements. (c_parser_attributes): Update calls to c_parser_expr_list. (c_parser_statement_after_labels): Fold expression before passing to objc_build_throw_stmt. (c_parser_condition): Fold expression. (c_parser_asm_operands): Fold expression. (c_parser_conditional_expression): Use c_save_expr. Update call to build_conditional_expr. (c_parser_alignof_expression): Update call to groktypename. (c_parser_postfix_expression): Preserve C_MAYBE_CONST_EXPR as original_code. Fold expression argument of va_arg. Create C_MAYBE_CONST_EXPR to preserve side effects of expressions in type argument to va_arg. Update calls to groktypename. Fold array index for offsetof. Verify that first argument to __builtin_choose_expr has integer type. (c_parser_postfix_expression_after_paren_type): Update calls to groktypename and build_compound_literal. Handle expressions with side effects in type name. (c_parser_postfix_expression_after_primary): Update call to c_parser_expr_list. Set original_code for calls to __builtin_constant_p. (c_parser_expr_list): Take extra parameter fold_p. Fold expressions if requested. (c_parser_objc_type_name): Update call to groktypename. (c_parser_objc_synchronized_statement): Fold expression. (c_parser_objc_receiver): Fold expression. (c_parser_objc_keywordexpr): Update call to c_parser_expr_list. (c_parser_omp_clause_num_threads, c_parser_omp_clause_schedule, c_parser_omp_atomic, c_parser_omp_for_loop): Fold expressions. * c-tree.h (CONSTRUCTOR_NON_CONST): Define. (struct c_typespec): Add elements expr and expr_const_operands. (struct c_declspecs): Add elements expr and expr_const_operands. (groktypename, build_conditional_expr, build_compound_literal): Update prototypes. (in_late_binary_op): Declare. * c-typeck.c (note_integer_operands): New function. (in_late_binary_op): New variable. (decl_constant_value_for_broken_optimization): Move to c-common.c and rename to decl_constant_value_for_optimization. (default_function_array_conversion): Do not strip nops. (default_conversion): Do not call decl_constant_value_for_broken_optimization. (build_array_ref): Do not fold result. (c_expr_sizeof_expr): Fold operand. Use C_MAYBE_CONST_EXPR for result when operand is a VLA. (c_expr_sizeof_type): Update call to groktypename. Handle expressions included in type name. Use C_MAYBE_CONST_EXPR for result when operand names a VLA type. (build_function_call): Update call to build_compound_literal. Only fold result for calls to __builtin_* functions. Strip NOP_EXPR from INTEGER_CST returned from such functions. Fold the function designator. (convert_arguments): Fold arguments. Update call to convert_for_assignment. (build_unary_op): Handle increment and decrement of C_MAYBE_CONST_EXPR. Move lvalue checks for increment and decrement earlier. Fold operand of increment and decrement. Handle address of C_MAYBE_CONST_EXPR. Only fold expression being built for integer operand. Wrap returns that are INTEGER_CSTs without being integer constant expressions or that have integer constant operands without being INTEGER_CSTs. (lvalue_p): Handle C_MAYBE_CONST_EXPR. (build_conditional_expr): Add operand ifexp_bcp. Track whether result is an integer constant expression or can be used in unevaluated parts of one and avoid folding and wrap as appropriate. Fold operands before possibly doing -Wsign-compare warnings. (build_compound_expr): Wrap result for C99 if operands can be used in integer constant expressions. (build_c_cast): Update call to digest_init. Do not ignore overflow from casting floating-point constants to integers. Wrap results that could be confused with integer constant expressions, null pointer constants or floating-point constants. (c_cast_expr): Update call to groktypename. Handle expressions included in type name. (build_modify_expr): Handle modifying a C_MAYBE_CONST_EXPR. Fold lhs inside possible SAVE_EXPR. Fold RHS before assignment. Update calls to convert_for_assignment. (convert_for_assignment): Take new parameter null_pointer_constant. Do not strip nops or call decl_constant_value_for_broken_optimization. Set in_late_binary_op for conversions to boolean. (store_init_value): Update call to digest_init. (digest_init): Take new parameter null_pointer_constant. Do not call decl_constant_value_for_broken_optimization. pedwarn for initializers not constant expressions. Update calls to convert_for_assignment. (constructor_nonconst): New. (struct constructor_stack): Add nonconst element. (really_start_incremental_init, push_init_level, pop_init_level): Handle constructor_nonconst and nonconst element. (set_init_index): Call constant_expression_warning for array designators. (output_init_element): Fold value. Set constructor_nonconst as applicable. pedwarn for initializers not constant expressions. Update call to digest_init. Call constant_expression_warning where constant initializers are required. (process_init_element): Use c_save_expr. (c_finish_goto_ptr): Fold expression. (c_finish_return): Fold return value. Update call to convert_for_assignment. (c_start_case): Fold switch expression. (c_process_expr_stmt): Fold expression. (c_finish_stmt_expr): Create C_MAYBE_CONST_EXPR as needed to ensure statement expression is not evaluated in constant expression. (build_binary_op): Track whether results are integer constant expressions or may occur in such, disable folding and wrap results as applicable. Fold operands for -Wsign-compare warnings unless in_late_binary_op. (c_objc_common_truthvalue_conversion): Handle results folded to integer constants that are not integer constant expressions. * doc/extend.texi: Document when typeof operands are evaluated, that condition of __builtin_choose_expr is an integer constant expression, and more about use of __builtin_constant_p in initializers. gcc/objc: * objc-act.c (objc_finish_try_stmt): Set in_late_binary_op. gcc/testsuite: * gcc.c-torture/compile/20081108-1.c, gcc.c-torture/compile/20081108-2.c, gcc.c-torture/compile/20081108-3.c, gcc.dg/bconstp-2.c, gcc.dg/bconstp-3.c, gcc.dg/bconstp-4.c, gcc.dg/c90-const-expr-6.c, gcc.dg/c90-const-expr-7.c, gcc.dg/c90-const-expr-8.c, gcc.dg/c90-const-expr-9.c, gcc.dg/c90-const-expr-10.c, gcc.dg/c90-const-expr-11.c, gcc.dg/c99-const-expr-6.c, gcc.dg/c99-const-expr-7.c, gcc.dg/c99-const-expr-8.c, gcc.dg/c99-const-expr-9.c, gcc.dg/c99-const-expr-10.c, gcc.dg/c99-const-expr-11.c, gcc.dg/c99-const-expr-12.c, gcc.dg/c99-const-expr-13.c, gcc.dg/compare10.c, gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu89-const-expr-2.c, gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-const-expr-2.c, gcc.dg/gnu99-const-expr-3.c, gcc.dg/vla-12.c, gcc.dg/vla-13.c, gcc.dg/vla-14.c, gcc.dg/vla-15.c, gcc.dg/vla-16.c: New tests. * gcc.dg/c90-const-expr-1.c, gcc.dg/c90-const-expr-2.c, gcc.dg/c90-const-expr-3.c, gcc.dg/c99-const-expr-2.c, gcc.dg/c99-const-expr-3.c, gcc.dg/c99-static-1.c: Remove XFAILs. * gcc.dg/c90-const-expr-2.c: Use ZERO in place of 0 in another case. * gcc.dg/overflow-warn-1.c, gcc.dg/overflow-warn-2.c, gcc.dg/overflow-warn-3.c, gcc.dg/overflow-warn-4.c: Remove XFAILs. Update expected messages. * gcc.dg/pr14649-1.c, gcc.dg/pr19984.c, gcc.dg/pr25682.c: Update expected messages. * gcc.dg/real-const-1.c: Replace with test from original PR. * gcc.dg/vect/pr32230.c: Use intermediate cast to __PTRDIFF_TYPE__ when casting from non-constant integer to pointer. From-SVN: r145254
2007-07-12re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and ↵Manuel López-Ibáñez1-31/+31
warnings) 2007-07-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org> Janis Johnson <janis187@us.ibm.com> PR testsuite/25241 gcc/testsuite/ * gcc.test-framework/dg-error-exp-F.c: New test. * gcc.test-framework/dg-warning-exp-F.c: New test. * lib/gcc.exp: Enable warning and error prefixes. * lib/gcc-dg.exp (dg-warning): Wrap original dg-warning. (dg-error): Wrap original dg-error. * gcc.target/powerpc/altivec-types-1.c: Remove explicit error/warning markers from dg-error/dg-warning directives. * gcc.dg/20040322-1.c: Likewise. * gcc.dg/Wchar-subscripts-1.c: Likewise. * gcc.dg/Wdeclaration-after-statement-1.c: Likewise. * gcc.dg/Wdeclaration-after-statement-2.c: Likewise. * gcc.dg/Werror-1.c: Likewise. * gcc.dg/Werror-10.c: Likewise. * gcc.dg/Werror-11.c: Likewise. * gcc.dg/Werror-2.c: Likewise. * gcc.dg/Werror-3.c: Likewise. * gcc.dg/Werror-4.c: Likewise. * gcc.dg/Werror-5.c: Likewise. * gcc.dg/Werror-6.c: Likewise. * gcc.dg/Werror-7.c: Likewise. * gcc.dg/Werror-8.c: Likewise. * gcc.dg/Werror-9.c: Likewise. * gcc.dg/Werror-implicit-function-declaration.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c89.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: Likewise. * gcc.dg/Wimplicit-function-declaration-c99.c: Likewise. * gcc.dg/Wint-to-pointer-cast-1.c: Likewise. * gcc.dg/Wint-to-pointer-cast-2.c: Likewise. * gcc.dg/Wint-to-pointer-cast-3.c: Likewise. * gcc.dg/Wnested-externs-1.c: Likewise. * gcc.dg/Wpointer-to-int-cast-1.c: Likewise. * gcc.dg/Wpointer-to-int-cast-2.c: Likewise. * gcc.dg/Wpointer-to-int-cast-3.c: Likewise. * gcc.dg/Wshadow-3.c: Likewise. * gcc.dg/Wtraditional-conversion-2.c: Likewise. * gcc.dg/Wwrite-strings-1.c: Likewise. * gcc.dg/anon-struct-5.c: Likewise. * gcc.dg/anon-struct-6.c: Likewise. * gcc.dg/anon-struct-7.c: Likewise. * gcc.dg/anon-struct-8.c: Likewise. * gcc.dg/array-8.c: Likewise. * gcc.dg/array-quals-2.c: Likewise. * gcc.dg/asm-qual-1.c: Likewise. * gcc.dg/asm-wide-1.c: Likewise. * gcc.dg/assign-warn-1.c: Likewise. * gcc.dg/assign-warn-2.c: Likewise. * gcc.dg/bitfld-10.c: Likewise. * gcc.dg/bitfld-11.c: Likewise. * gcc.dg/bitfld-12.c: Likewise. * gcc.dg/bitfld-13.c: Likewise. * gcc.dg/bitfld-14.c: Likewise. * gcc.dg/builtin-choose-expr-2.c: Likewise. * gcc.dg/builtins-30.c: Likewise. * gcc.dg/c90-const-expr-5.c: Likewise. * gcc.dg/c90-typespec-1.c: Likewise. * gcc.dg/c99-const-expr-5.c: Likewise. * gcc.dg/c99-flex-array-5.c: Likewise. * gcc.dg/c99-fordecl-3.c: Likewise. * gcc.dg/c99-tag-3.c: Likewise. * gcc.dg/c99-typespec-1.c: Likewise. * gcc.dg/c99-vla-jump-1.c: Likewise. * gcc.dg/c99-vla-jump-2.c: Likewise. * gcc.dg/c99-vla-jump-3.c: Likewise. * gcc.dg/c99-vla-jump-4.c: Likewise. * gcc.dg/c99-vla-jump-5.c: Likewise. * gcc.dg/cast-1.c: Likewise. * gcc.dg/cast-2.c: Likewise. * gcc.dg/cast-3.c: Likewise. * gcc.dg/cast-4.c: Likewise. * gcc.dg/cast-pretty-print-1.c: Likewise. * gcc.dg/comp-goto-2.c: Likewise. * gcc.dg/comp-goto-3.c: Likewise. * gcc.dg/cpp/error-1.c: Likewise. * gcc.dg/cpp/if-paren.c: Likewise. * gcc.dg/decl-7.c: Likewise. * gcc.dg/decl-8.c: Likewise. * gcc.dg/decl-nospec-1.c: Likewise. * gcc.dg/decl-nospec-2.c: Likewise. * gcc.dg/decl-nospec-3.c: Likewise. * gcc.dg/declspec-10.c: Likewise. * gcc.dg/declspec-11.c: Likewise. * gcc.dg/declspec-12.c: Likewise. * gcc.dg/declspec-13.c: Likewise. * gcc.dg/declspec-14.c: Likewise. * gcc.dg/declspec-15.c: Likewise. * gcc.dg/declspec-16.c: Likewise. * gcc.dg/declspec-17.c: Likewise. * gcc.dg/declspec-4.c: Likewise. * gcc.dg/declspec-5.c: Likewise. * gcc.dg/declspec-6.c: Likewise. * gcc.dg/declspec-7.c: Likewise. * gcc.dg/declspec-8.c: Likewise. * gcc.dg/declspec-9.c: Likewise. * gcc.dg/dfp/Wtraditional-conversion-2.c: Likewise. * gcc.dg/dfp/constants-c99.c: Likewise. * gcc.dg/dfp/keywords-c89.c: Likewise. * gcc.dg/dfp/keywords-c99.c: Likewise. * gcc.dg/dfp/keywords-reserved.c: Likewise. * gcc.dg/dfp/typespec.c: Likewise. * gcc.dg/dremf-type-compat-2.c: Likewise. * gcc.dg/dremf-type-compat-3.c: Likewise. * gcc.dg/dremf-type-compat-4.c: Likewise. * gcc.dg/empty-source-2.c: Likewise. * gcc.dg/empty-source-3.c: Likewise. * gcc.dg/enum3.c: Likewise. * gcc.dg/extra-semi-2.c: Likewise. * gcc.dg/extra-semi-3.c: Likewise. * gcc.dg/float-range-1.c: Likewise. * gcc.dg/float-range-2.c: Likewise. * gcc.dg/float-range-3.c: Likewise. * gcc.dg/float-range-5.c: Likewise. * gcc.dg/format/asm_fprintf-2.c: Likewise. * gcc.dg/format/asm_fprintf-3.c: Likewise. * gcc.dg/format/asm_fprintf-4.c: Likewise. * gcc.dg/format/asm_fprintf-5.c: Likewise. * gcc.dg/format/cast-1.c: Likewise. * gcc.dg/format/gcc_diag-3.c: Likewise. * gcc.dg/format/gcc_diag-4.c: Likewise. * gcc.dg/format/gcc_diag-6.c: Likewise. * gcc.dg/format/gcc_diag-8.c: Likewise. * gcc.dg/format/gcc_diag-9.c: Likewise. * gcc.dg/format/nul-2.c: Likewise. * gcc.dg/format/opt-1.c: Likewise. * gcc.dg/format/opt-2.c: Likewise. * gcc.dg/format/opt-3.c: Likewise. * gcc.dg/format/opt-4.c: Likewise. * gcc.dg/format/opt-5.c: Likewise. * gcc.dg/format/opt-6.c: Likewise. * gcc.dg/framework-2.c: Likewise. * gcc.dg/func-args-1.c: Likewise. * gcc.dg/func-outside-1.c: Likewise. * gcc.dg/func-outside-2.c: Likewise. * gcc.dg/gnu-cond-expr-2.c: Likewise. * gcc.dg/gnu-cond-expr-3.c: Likewise. * gcc.dg/if-empty-1.c: Likewise. * gcc.dg/init-bad-1.c: Likewise. * gcc.dg/init-bad-2.c: Likewise. * gcc.dg/init-bad-3.c: Likewise. * gcc.dg/init-desig-obs-2.c: Likewise. * gcc.dg/init-desig-obs-3.c: Likewise. * gcc.dg/init-empty-2.c: Likewise. * gcc.dg/init-empty-3.c: Likewise. * gcc.dg/inline-11.c: Likewise. * gcc.dg/inline-12.c: Likewise. * gcc.dg/inline-8.c: Likewise. * gcc.dg/inline-9.c: Likewise. * gcc.dg/inline3.c: Likewise. * gcc.dg/label-decl-1.c: Likewise. * gcc.dg/label-decl-2.c: Likewise. * gcc.dg/label-decl-3.c: Likewise. * gcc.dg/label-decl-4.c: Likewise. * gcc.dg/long-long-typespec-1.c: Likewise. * gcc.dg/lvalue-2.c: Likewise. * gcc.dg/lvalue-3.c: Likewise. * gcc.dg/nested-func-3.c: Likewise. * gcc.dg/nested-redef-1.c: Likewise. * gcc.dg/noreturn-4.c: Likewise. * gcc.dg/old-style-prom-2.c: Likewise. * gcc.dg/old-style-prom-3.c: Likewise. * gcc.dg/old-style-then-proto-1.c: Likewise. * gcc.dg/overflow-warn-1.c: Likewise. * gcc.dg/overflow-warn-2.c: Likewise. * gcc.dg/overflow-warn-3.c: Likewise. * gcc.dg/overflow-warn-4.c: Likewise. * gcc.dg/overflow-warn-6.c: Likewise. * gcc.dg/parm-forwdecl-2.c: Likewise. * gcc.dg/parm-forwdecl-3.c: Likewise. * gcc.dg/parm-impl-decl-1.c: Likewise. * gcc.dg/parm-impl-decl-2.c: Likewise. * gcc.dg/parm-incomplete-1.c: Likewise. * gcc.dg/parm-mismatch-1.c: Likewise. * gcc.dg/pointer-arith-1.c: Likewise. * gcc.dg/pointer-arith-2.c: Likewise. * gcc.dg/pointer-arith-3.c: Likewise. * gcc.dg/pointer-arith-4.c: Likewise. * gcc.dg/pointer-arith-6.c: Likewise. * gcc.dg/pointer-arith-7.c: Likewise. * gcc.dg/pointer-arith-8.c: Likewise. * gcc.dg/pr13804-1.c: Likewise. * gcc.dg/pr15698-1.c: Likewise. * gcc.dg/pr15698-2.c: Likewise. * gcc.dg/pr15698-3.c: Likewise. * gcc.dg/pr15698-4.c: Likewise. * gcc.dg/pr15698-5.c: Likewise. * gcc.dg/pr15698-6.c: Likewise. * gcc.dg/pr15698-7.c: Likewise. * gcc.dg/pr15698-8.c: Likewise. * gcc.dg/pr17188-1.c: Likewise. * gcc.dg/pr17301-1.c: Likewise. * gcc.dg/pr17301-2.c: Likewise. * gcc.dg/pr17730-1.c: Likewise. * gcc.dg/pr20368-1.c: Likewise. * gcc.dg/pr20368-2.c: Likewise. * gcc.dg/pr20368-3.c: Likewise. * gcc.dg/pr22308-1.c: Likewise. * gcc.dg/qual-component-1.c: Likewise. * gcc.dg/redecl-1.c: Likewise. * gcc.dg/redecl-11.c: Likewise. * gcc.dg/redecl-12.c: Likewise. * gcc.dg/redecl-13.c: Likewise. * gcc.dg/redecl-14.c: Likewise. * gcc.dg/redecl-15.c: Likewise. * gcc.dg/register-var-1.c: Likewise. * gcc.dg/register-var-2.c: Likewise. * gcc.dg/stmt-expr-2.c: Likewise. * gcc.dg/stmt-expr-3.c: Likewise. * gcc.dg/stmt-expr-label-1.c: Likewise. * gcc.dg/stmt-expr-label-2.c: Likewise. * gcc.dg/stmt-expr-label-3.c: Likewise. * gcc.dg/struct-empty-2.c: Likewise. * gcc.dg/struct-empty-3.c: Likewise. * gcc.dg/struct-parse-1.c: Likewise. * gcc.dg/struct-semi-1.c: Likewise. * gcc.dg/struct-semi-2.c: Likewise. * gcc.dg/struct-semi-3.c: Likewise. * gcc.dg/switch-5.c: Likewise. * gcc.dg/switch-6.c: Likewise. * gcc.dg/switch-7.c: Likewise. * gcc.dg/tls/diag-5.c: Likewise. * gcc.dg/transparent-union-1.c: Likewise. * gcc.dg/transparent-union-3.c: Likewise. * gcc.dg/typespec-1.c: Likewise. * gcc.dg/vla-init-2.c: Likewise. * gcc.dg/vla-init-3.c: Likewise. * gcc.dg/vla-init-4.c: Likewise. * gcc.dg/vla-init-5.c: Likewise. * gcc.dg/void-cast-2.c: Likewise. * gcc.dg/wvla-3.c: Likewise. * gcc.dg/wvla-7.c: Likewise. * gcc.target/i386/991209-1.c: Likewise. * gcc.target/ia64/fpreg-1.c: Likewise. * gcc.target/m68k/interrupt_thread-2.c: Likewise. * gcc.target/m68k/interrupt_thread-3.c: Likewise. From-SVN: r126606
2007-01-02re PR c/19977 (overflow in non-static initializer should not be pedwarn)Manuel López-Ibáñez1-1/+1
2007-01-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c/19977 * c-typeck.c (store_init_value): Don't emit pedantic overflow warning for non-static initializers. testsuite/ * gcc/testsuite/gcc.dg/overflow-warn-3.c: Remove XFAIL. * gcc/testsuite/gcc.dg/overflow-warn-4.c: Remove XFAIL. From-SVN: r120355
2005-02-15overflow-warn-1.c, [...]: New tests.Joseph Myers1-0/+128
* gcc.dg/overflow-warn-1.c, gcc.dg/overflow-warn-2.c, gcc.dg/overflow-warn-3.c, gcc.dg/overflow-warn-4.c: New tests. From-SVN: r95068