@@ -575,6 +575,9 @@ std::string GetQualifiedCompleteName(TCppType_t klass) {
575575 PrintingPolicy PP = C.getPrintingPolicy ();
576576 PP.FullyQualifiedName = true ;
577577 PP.SuppressUnwrittenScope = true ;
578+ // PP.SuppressTemplateArgsInCXXConstructors = false;
579+ // PP.SuppressDefaultTemplateArgs = false;
580+ // PP.AlwaysIncludeTypeForTemplateArgument = true;
578581 PP.SuppressElaboration = true ;
579582 QT.getAsStringInternal (type_name, PP);
580583
@@ -1165,7 +1168,7 @@ BestOverloadFunctionMatch(const std::vector<TCppFunction_t>& candidates,
11651168 size_t idx = 0 ;
11661169 for (auto i : arg_types) {
11671170 QualType Type = QualType::getFromOpaquePtr (i.m_Type );
1168- ExprValueKind ExprKind = ExprValueKind::VK_PRValue ;
1171+ ExprValueKind ExprKind = ExprValueKind::VK_XValue ;
11691172 if (Type->isLValueReferenceType ())
11701173 ExprKind = ExprValueKind::VK_LValue;
11711174
@@ -3214,18 +3217,16 @@ TInterp_t CreateInterpreter(const std::vector<const char*>& Args /*={}*/,
32143217 llvm::cl::ParseCommandLineOptions (NumArgs + 1 , Args.get ());
32153218 }
32163219
3217- if (GpuArgs.empty ()) {
3218- I->declare (R"(
3219- namespace __internal_CppInterOp {
3220- template <typename Signature>
3221- struct function;
3222- template <typename Res, typename... ArgTypes>
3223- struct function<Res(ArgTypes...)> {
3224- typedef Res result_type;
3225- };
3226- } // namespace __internal_CppInterOp
3227- )" );
3228- }
3220+ I->declare (R"(
3221+ namespace __internal_CppInterOp {
3222+ template <typename Signature>
3223+ struct function;
3224+ template <typename Res, typename... ArgTypes>
3225+ struct function<Res(ArgTypes...)> {
3226+ typedef Res result_type;
3227+ };
3228+ } // namespace __internal_CppInterOp
3229+ )" );
32293230
32303231 sInterpreters ->emplace_back (I, /* Owned=*/ true );
32313232
0 commit comments