From 49db68d59b34351907f7f45d822919af099ed291 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Sat, 15 Oct 2016 01:59:52 +0000 Subject: [PATCH] Disable a silly GCC diagnostic for combining a scanf length specifier with the '*' specifier. Apparently the GNU folks want to discourage self-documenting code. llvm-svn: 284300 --- clang/tools/driver/cc1_main.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/clang/tools/driver/cc1_main.cpp b/clang/tools/driver/cc1_main.cpp index 0d54278..1a16746 100644 --- a/clang/tools/driver/cc1_main.cpp +++ b/clang/tools/driver/cc1_main.cpp @@ -90,12 +90,22 @@ static size_t getCurrentStackAllocation() { // program name) after the environment, but this is close enough (we only // need to be within 100K or so). unsigned long StackPtr, EnvEnd; + // Disable silly GCC -Wformat warning that complains about length + // modifiers on ignored format specifiers. We want to retain these + // for documentation purposes even though they have no effect. +#if defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat" +#endif if (fscanf(StatFile, "%*d %*s %*c %*d %*d %*d %*d %*d %*u %*lu %*lu %*lu %*lu %*lu " "%*lu %*ld %*ld %*ld %*ld %*ld %*ld %*llu %*lu %*ld %*lu %*lu " "%*lu %*lu %lu %*lu %*lu %*lu %*lu %*lu %*llu %*lu %*lu %*d %*d " "%*u %*u %*llu %*lu %*ld %*lu %*lu %*lu %*lu %*lu %*lu %lu %*d", &StackPtr, &EnvEnd) == 2) { +#if defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#endif Usage = StackPtr < EnvEnd ? EnvEnd - StackPtr : StackPtr - EnvEnd; } fclose(StatFile); -- 2.7.4