From: Richard Smith Date: Sat, 15 Oct 2016 01:59:52 +0000 (+0000) Subject: Disable a silly GCC diagnostic for combining a scanf length specifier with the X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=66ffebb5e0d9a828b1ce085967f7be460fc4a016;p=clang Disable a silly GCC diagnostic for combining a scanf length specifier with the '*' specifier. Apparently the GNU folks want to discourage self-documenting code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284300 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp index 0d54278ee8..1a16746d58 100644 --- a/tools/driver/cc1_main.cpp +++ b/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);