[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
This commit is contained in:
Patrick Walton 2022-10-30 11:07:38 -07:00
parent 95eaefd0df
commit c5ea9b8a51
1 changed files with 1 additions and 2 deletions

View File

@ -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.