diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-15 01:59:52 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-15 01:59:52 +0000 |
commit | 66ffebb5e0d9a828b1ce085967f7be460fc4a016 (patch) | |
tree | c5672d1b5a1a99dfcfaba9ccf6f6617ecbe36bb2 /tools | |
parent | f34d92b55bb16ecfa6cb5808c3ca455b90c85429 (diff) |
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
Diffstat (limited to 'tools')
-rw-r--r-- | tools/driver/cc1_main.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
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); |