summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/FormatString.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Analysis/FormatString.cpp')
-rw-r--r--clang/lib/Analysis/FormatString.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Analysis/FormatString.cpp b/clang/lib/Analysis/FormatString.cpp
index f37e4affae3..0bab50c569f 100644
--- a/clang/lib/Analysis/FormatString.cpp
+++ b/clang/lib/Analysis/FormatString.cpp
@@ -406,12 +406,14 @@ ArgType::matchesType(ASTContext &C, QualType argTy) const {
}
case WIntTy: {
+ QualType WInt = C.getCanonicalType(C.getWIntType()).getUnqualifiedType();
- QualType PromoArg =
- argTy->isPromotableIntegerType()
- ? C.getPromotedIntegerType(argTy) : argTy;
+ if (C.getCanonicalType(argTy).getUnqualifiedType() == WInt)
+ return Match;
- QualType WInt = C.getCanonicalType(C.getWIntType()).getUnqualifiedType();
+ QualType PromoArg = argTy->isPromotableIntegerType()
+ ? C.getPromotedIntegerType(argTy)
+ : argTy;
PromoArg = C.getCanonicalType(PromoArg).getUnqualifiedType();
// If the promoted argument is the corresponding signed type of the
OpenPOWER on IntegriCloud