------- Comment #2 from pinskia at gcc dot gnu dot org 2009-03-24 06:54 ------- Let's look at the testcases: g++.dg/ext/align1.C: a run testcase, the printf can be removed in this case. g++.old-deja/g++.law/operators28.C: An assemble only testcase so the undefined behavior is not invoked at runtime so it does not matter. gcc.dg/matrix/matrix-2.c: Weird as it has two dg-do, I don't know which one should be used here, but those changes look correct g++.dg/opt/alias2.C: that looks obviously correct. g++.old-deja/g++.abi/vbase1.C: Likewise. g++.old-deja/g++.brendan/template8.C: Again it only assembles the testcase so the undefined behavior does not matter. g++.old-deja/g++.eh/ptr1.C: that looks obviously correct. g++.old-deja/g++.jason/access23.C: Just gets assembled so the undefined behavior does not matter. g++.old-deja/g++.law/cvt8.C: Likewise. g++.old-deja/g++.mike/net35.C: that looks obviously correct. g++.old-deja/g++.mike/offset1.C: Likewise. g++.old-deja/g++.mike/p12306.C: That code is obviously dead code, it is if(0) out so maybe it should be removed ... g++.old-deja/g++.mike/p3579.C: : that looks obviously correct. g++.old-deja/g++.mike/p3708a.C: Likewise. g++.old-deja/g++.mike/p3708b.C: Likewise. g++.old-deja/g++.mike/p3708.C: Likewise. g++.old-deja/g++.mike/p646.C: Just gets assembled so the undefined behavior does not matter. g++.old-deja/g++.mike/p710.C: Likewise. g++.old-deja/g++.mike/p789a.C: that looks obviously correct. g++.old-deja/g++.mike/pmf2.C: Likewise. g++.old-deja/g++.mike/temp.C: Likewise. g++.old-deja/g++.other/temporary1.C: Likewise. g++.old-deja/g++.other/virtual8.C: Likewise. g++.old-deja/g++.pt/memtemp23.C: This testcase just links so the undefined behavior does not matter. g++.old-deja/g++.pt/memtemp24.C: Likewise. g++.old-deja/g++.pt/memtemp25.C: Likewise. g++.old-deja/g++.pt/memtemp26.C: Likewise. g++.old-deja/g++.pt/t39.C: Looks wrong, it should use %p for even ptr[2], the printf itself does not matter. g++.old-deja/g++.robertl/eb17.: that looks obviously correct. gcc.dg/pch/inline-4.c: This does not matter as only the assembly is compared so calling printf with a non string constant is ok.
In summary some of the changes are correct, others technically don't matter and really are really changing for the better as the testcase changes itself and changes what the testcase is testing and Ubuntu is broken for enabling those warnings by default even when testing GCC. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |trivial http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39537