86 cling::Interpreter::PushTransactionRAII
RAII(
fInterp);
89 if (
pvd->hasUninstantiatedDefaultArg()) {
91 fInterp->getSema().BuildCXXDefaultArgExpr(clang::SourceLocation(),
92 const_cast<clang::FunctionDecl*
>(fd),
93 const_cast<clang::ParmVarDecl*
>(
pvd));
95 const clang::Expr *
expr =
nullptr;
96 if (
pvd->hasUninstantiatedDefaultArg()) {
98 expr =
pvd->getUninstantiatedDefaultArg();
102 clang::ASTContext &context =
pvd->getASTContext();
103 clang::PrintingPolicy
policy(context.getPrintingPolicy());
106 llvm::raw_string_ostream out(buf);
112 if (
const clang::CXXConstructExpr *construct =
113 llvm::dyn_cast<clang::CXXConstructExpr>(
expr)) {
115 (construct->getNumArgs() == 0) &&
116 !construct->isListInitialization();
119 if (
pvd->getInitStyle() == clang::VarDecl::CallInit) {
122 else if (
pvd->getInitStyle() == clang::VarDecl::CInit) {
126 if (
pvd->getInitStyle() == clang::VarDecl::CallInit) {