[cfe-commits] r156092 - /cfe/trunk/lib/Sema/SemaChecking.cpp
jahanian
fjahanian at apple.com
Thu May 3 12:55:42 PDT 2012
On May 3, 2012, at 12:47 PM, Bob Wilson wrote:
> Author: bwilson
> Date: Thu May 3 14:47:19 2012
> New Revision: 156092
>
> URL: http://llvm.org/viewvc/llvm-project?rev=156092&view=rev
> Log:
> Disable -Wformat-extra-args for arguments defined in system headers.
>
> Some of the NSAssert macros in OS X 10.7 are implemented in a way that
> adds extra arguments that trigger the -Wformat-extra-args warning.
> Earlier versions of clang failed to detect those -Wformat issues, but now
> that clang is reporting those problems, we need to quiet them since there's
> nothing to be done to fix them. <rdar://problem/11317765>
>
> I don't know how to write a testcase for this. Suggestions welcome.
> Patch by Ted Kremenek!
You can do something like:
# 1 "<command line>"
# 1 "/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h" 1 3
…
- fariborz
>
> Modified:
> cfe/trunk/lib/Sema/SemaChecking.cpp
>
> Modified: cfe/trunk/lib/Sema/SemaChecking.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaChecking.cpp?rev=156092&r1=156091&r2=156092&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaChecking.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaChecking.cpp Thu May 3 14:47:19 2012
> @@ -1975,9 +1975,12 @@
> signed notCoveredArg = CoveredArgs.find_first();
> if (notCoveredArg >= 0) {
> assert((unsigned)notCoveredArg < NumDataArgs);
> - EmitFormatDiagnostic(S.PDiag(diag::warn_printf_data_arg_not_used),
> - getDataArg((unsigned) notCoveredArg)->getLocStart(),
> - /*IsStringLocation*/false, getFormatStringRange());
> + SourceLocation Loc = getDataArg((unsigned) notCoveredArg)->getLocStart();
> + if (!S.getSourceManager().isInSystemMacro(Loc)) {
> + EmitFormatDiagnostic(S.PDiag(diag::warn_printf_data_arg_not_used),
> + Loc,
> + /*IsStringLocation*/false, getFormatStringRange());
> + }
> }
> }
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list