diff options
-rw-r--r-- | lib/Analysis/PrintfFormatString.cpp | 2 | ||||
-rw-r--r-- | test/Sema/format-strings-int-typedefs.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/Analysis/PrintfFormatString.cpp b/lib/Analysis/PrintfFormatString.cpp index b37b23f3b1..e3d76507cd 100644 --- a/lib/Analysis/PrintfFormatString.cpp +++ b/lib/Analysis/PrintfFormatString.cpp @@ -290,7 +290,7 @@ static QualType FindTypedef(Sema &S, const char *Name, QualType Underlying) { if (TypedefDecl *TD = dyn_cast_or_null<TypedefDecl>(D)) { QualType TypedefType = Ctx.getTypedefType(TD, QualType()); - if (TD->getUnderlyingType() == Underlying) + if (Ctx.getCanonicalType(TypedefType) == Underlying) return TypedefType; } diff --git a/test/Sema/format-strings-int-typedefs.c b/test/Sema/format-strings-int-typedefs.c index 931449ccc3..2cac9a875d 100644 --- a/test/Sema/format-strings-int-typedefs.c +++ b/test/Sema/format-strings-int-typedefs.c @@ -10,7 +10,7 @@ void test(void) { printf("%zu", 42.0); // expected-warning {{conversion specifies type 'unsigned long'}} printf("%td", 42.0); // expected-warning {{conversion specifies type 'int'}} - typedef __SIZE_TYPE__ size_t; + typedef __typeof(sizeof(int)) size_t; typedef __INTMAX_TYPE__ intmax_t; typedef __UINTMAX_TYPE__ uintmax_t; typedef __PTRDIFF_TYPE__ ptrdiff_t; |