From: Jordan Rose Date: Fri, 11 Nov 2016 00:23:59 +0000 (+0000) Subject: Don't require nullability on 'va_list' harder. X-Git-Tag: llvmorg-4.0.0-rc1~4963 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f94d97cba9d3600ca8eeb501017db9fddae44b4;p=platform%2Fupstream%2Fllvm.git 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. llvm-svn: 286531 --- diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp index 0fbf97f..e987379 100644 --- a/clang/lib/Sema/SemaType.cpp +++ b/clang/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;