From: Patrick Walton Date: Sun, 30 Oct 2022 18:07:38 +0000 (-0700) Subject: [test][asan] Make the printf-5.c test case actually emit a volatile memcpy. X-Git-Tag: upstream/17.0.6~29044 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5ea9b8a51ddcd5121ec1bcad7b034c8aa692f52;p=platform%2Fupstream%2Fllvm.git [test][asan] Make the printf-5.c test case actually emit a volatile memcpy. The current test in printf-5.c appears to try to emit a volatile memcpy for the format string, but it doesn't because the volatile qualifier is implicitly casted away. Using a string literal instead preserves the volatile qualifier. This is a follow-up to D137031 and is a prerequisite for D136822, which elides memcpys in more instances and would otherwise break this test. Differential Revision: https://reviews.llvm.org/D137042 --- diff --git a/compiler-rt/test/asan/TestCases/printf-5.c b/compiler-rt/test/asan/TestCases/printf-5.c index 2257bb4..89d3a33 100644 --- a/compiler-rt/test/asan/TestCases/printf-5.c +++ b/compiler-rt/test/asan/TestCases/printf-5.c @@ -14,8 +14,7 @@ int main() { volatile int x = 12; volatile float f = 1.239; volatile char s[] = "34"; - volatile char fmt[2]; - memcpy((char *)fmt, "%c %d %f %s\n", sizeof(fmt)); + volatile char fmt[2] = "%c %d %f %s\n"; printf((char *)fmt, c, x, f, s); return 0; // Check that format string is sanitized.