From: Jordan Rose Date: Fri, 11 Nov 2016 00:23:59 +0000 (+0000) Subject: Don't require nullability on 'va_list' harder. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cb6245f77630d83c65e332fa374c3f9b5324601b;p=clang Don't require nullability on 'va_list' harder. Platform headers don't always define 'va_list' in terms of Clang's '__builtin_va_list', so in addition to checking for our own synthesized decl, also just look for typedefs literally named 'va_list'. Better to err on the side of false negatives here. Fix-up for rdar://problem/25846421. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286531 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index 0fbf97ff0e..e98737946b 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -3928,6 +3928,9 @@ static TypeSourceInfo *GetFullTypeForDeclarator(TypeProcessingState &state, do { if (typedefTy->getDecl() == vaListTypedef) return true; + if (auto *name = typedefTy->getDecl()->getIdentifier()) + if (name->isStr("va_list")) + return true; typedefTy = typedefTy->desugar()->getAs(); } while (typedefTy); return false;