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
diff --git a/clang/lib/Analysis/FormatString.cpp b/clang/lib/Analysis/FormatString.cpp
index 45c722a..c6ba6fa 100644
--- a/clang/lib/Analysis/FormatString.cpp
+++ b/clang/lib/Analysis/FormatString.cpp
@@ -723,21 +723,13 @@
 
 llvm::Optional<LengthModifier>
 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<LengthModifier>();