steven_wu added a subscriber: steven_wu. steven_wu added a comment. This commit seems to cause miscompile in LNT testsuite with -O0 and -O3 http://lab.llvm.org:8080/green/job/perf_o0g_run/7070/warnings2Result/new/ http://lab.llvm.org:8080/green/job/perf_o3lto_run/15591/warnings2Result/new/
Looks like there is an undefined in LNT testsuite, here is the relevant code for consumer-lame: typedef struct { int used; int valid; char title[31]; char artist[31]; char album[31]; char year[5]; char comment[31]; char tagtext[128]; char genre[1]; unsigned char track; } ID3TAGDATA; void id3_inittag(ID3TAGDATA *tag) { ... strcpy( tag->genre, "ΓΏ"); /* unset genre */ ... } Here is the suggested change: diff --git a/MultiSource/Benchmarks/MiBench/consumer-lame/id3tag.c b/MultiSource/Benchmarks/MiBench/consumer-lame/id3tag.c index e24a966..23f2b86 100644 --- a/MultiSource/Benchmarks/MiBench/consumer-lame/id3tag.c +++ b/MultiSource/Benchmarks/MiBench/consumer-lame/id3tag.c @@ -34,7 +34,7 @@ void id3_inittag(ID3TAGDATA *tag) { strcpy( tag->album, ""); strcpy( tag->year, ""); strcpy( tag->comment, ""); - strcpy( tag->genre, "<FF>"); /* unset genre */ + tag->genre[0] = '<FF>'; /* unset genre */ tag->track = 0; tag->valid = 0; /* not ready for writing*/ However, I have trouble understand the code in consumer-typeset. It crashes in z07.c:138 By the looks of it, the code is trying to copy the include path (specified on command line), which is setup to be "$PATH_TO_TEST_SUITE/MultiSource/Benchmarks/MiBench/consumer-typeset/data/include" into unsigned char ostring[4]. From the look of the code, it is trying to utilize all the size in OBJECT to store the entire string. I don't know if that is fixable. Let me know if you have any better idea of how to fix that. http://reviews.llvm.org/D12169 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits