From 65aa35fbeeb837c229209daf558da74d8237dab5 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 14 Aug 2015 12:19:55 +0200 Subject: Don't trigger assert in clang::ParmVarDecl::getDefaultArg Change-Id: Ica385b513d87d639496ac470da296e871b093ab4 --- compilerplugins/clang/defaultparams.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'compilerplugins') diff --git a/compilerplugins/clang/defaultparams.cxx b/compilerplugins/clang/defaultparams.cxx index e71d89ae9753..fc63b3558242 100644 --- a/compilerplugins/clang/defaultparams.cxx +++ b/compilerplugins/clang/defaultparams.cxx @@ -52,9 +52,13 @@ bool DefaultParams::VisitCallExpr(CallExpr * callExpr) { if (isa(arg)) return true; const ParmVarDecl* parmVarDecl = functionDecl->getParamDecl(i); + if (!parmVarDecl->hasDefaultArg() + || parmVarDecl->hasUninstantiatedDefaultArg()) + { + return true; + } const Expr* defaultArgExpr = parmVarDecl->getDefaultArg(); - if (parmVarDecl->hasDefaultArg() && - defaultArgExpr && + if (defaultArgExpr && defaultArgExpr->getType()->isIntegralType(compiler.getASTContext())) { APSInt x1, x2; -- cgit pia/zeta-7-4 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff