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 > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
