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