mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-14 14:56:47 +00:00
Move one more diagnostic into the new -Wformat-pedantic group.
This was apparently overlooked in r231211. llvm-svn: 231242
This commit is contained in:
parent
b37b95ed3e
commit
ad8d849f48
@ -3768,16 +3768,18 @@ CheckPrintfHandler::checkFormatExpr(const analyze_printf::PrintfSpecifier &FS,
|
||||
CharSourceRange SpecRange = getSpecifierRange(StartSpecifier, SpecifierLen);
|
||||
|
||||
if (IntendedTy == ExprTy && !ShouldNotPrintDirectly) {
|
||||
unsigned diag = diag::warn_format_conversion_argument_type_mismatch;
|
||||
if (match == analyze_format_string::ArgType::NoMatchPedantic) {
|
||||
diag = diag::warn_format_conversion_argument_type_mismatch_pedantic;
|
||||
}
|
||||
// In this case, the specifier is wrong and should be changed to match
|
||||
// the argument.
|
||||
EmitFormatDiagnostic(
|
||||
S.PDiag(diag::warn_format_conversion_argument_type_mismatch)
|
||||
<< AT.getRepresentativeTypeName(S.Context) << IntendedTy << IsEnum
|
||||
<< E->getSourceRange(),
|
||||
E->getLocStart(),
|
||||
/*IsStringLocation*/false,
|
||||
SpecRange,
|
||||
FixItHint::CreateReplacement(SpecRange, os.str()));
|
||||
EmitFormatDiagnostic(S.PDiag(diag)
|
||||
<< AT.getRepresentativeTypeName(S.Context)
|
||||
<< IntendedTy << IsEnum << E->getSourceRange(),
|
||||
E->getLocStart(),
|
||||
/*IsStringLocation*/ false, SpecRange,
|
||||
FixItHint::CreateReplacement(SpecRange, os.str()));
|
||||
|
||||
} else {
|
||||
// The canonical type for formatting this value is different from the
|
||||
|
10
clang/test/SemaCXX/format-strings-0x-nopedantic.cpp
Normal file
10
clang/test/SemaCXX/format-strings-0x-nopedantic.cpp
Normal file
@ -0,0 +1,10 @@
|
||||
// RUN: %clang_cc1 -fsyntax-only -verify -Wformat -std=c++11 %s
|
||||
// expected-no-diagnostics
|
||||
extern "C" {
|
||||
extern int scanf(const char *restrict, ...);
|
||||
extern int printf(const char *restrict, ...);
|
||||
}
|
||||
|
||||
void f(char *c) {
|
||||
printf("%p", c);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user