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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits