зеркало из https://github.com/microsoft/clang-1.git
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! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156092 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
3bb2994a7d
Коммит
c03f2df2a2
|
@ -1975,9 +1975,12 @@ void CheckFormatHandler::DoneProcessing() {
|
|||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче