From 2f9cc0425101db67c73c4f2f4b63eb79aacc89ee Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Sat, 8 Sep 2012 04:00:12 +0000 Subject: Format strings: suggest %lld instead of %qd and %Ld with -Wformat-non-iso. As a corollary to the previous commit, even when an extension is available, we can still offer a fixit to the standard modifier. llvm-svn: 163453 --- clang/lib/Analysis/FormatString.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'clang/lib/Analysis') diff --git a/clang/lib/Analysis/FormatString.cpp b/clang/lib/Analysis/FormatString.cpp index 45c722a5d54..c6ba6fab070 100644 --- a/clang/lib/Analysis/FormatString.cpp +++ b/clang/lib/Analysis/FormatString.cpp @@ -723,21 +723,13 @@ bool FormatSpecifier::hasStandardLengthConversionCombination() const { llvm::Optional FormatSpecifier::getCorrectedLengthModifier() const { - if (LM.getKind() == LengthModifier::AsLongDouble) { - switch (CS.getKind()) { - case ConversionSpecifier::dArg: - case ConversionSpecifier::iArg: - case ConversionSpecifier::oArg: - case ConversionSpecifier::uArg: - case ConversionSpecifier::xArg: - case ConversionSpecifier::XArg: { + if (CS.isAnyIntArg() || CS.getKind() == ConversionSpecifier::nArg) { + if (LM.getKind() == LengthModifier::AsLongDouble || + LM.getKind() == LengthModifier::AsQuad) { LengthModifier FixedLM(LM); FixedLM.setKind(LengthModifier::AsLongLong); return FixedLM; } - default: - break; - } } return llvm::Optional(); -- cgit v1.2.3