Home | History | Annotate | Download | only in Sema

Lines Matching refs:Arg

139     bool TraverseTemplateArgument(const TemplateArgument &Arg) {
140 if (Arg.isPackExpansion())
143 return inherited::TraverseTemplateArgument(Arg);
296 bool Sema::DiagnoseUnexpandedParameterPack(TemplateArgumentLoc Arg,
298 if (Arg.getArgument().isNull() ||
299 !Arg.getArgument().containsUnexpandedParameterPack())
304 .TraverseTemplateArgumentLoc(Arg);
306 DiagnoseUnexpandedParameterPacks(*this, Arg.getLocation(), UPPC, Unexpanded);
310 void Sema::collectUnexpandedParameterPacks(TemplateArgument Arg,
313 .TraverseTemplateArgument(Arg);
316 void Sema::collectUnexpandedParameterPacks(TemplateArgumentLoc Arg,
319 .TraverseTemplateArgumentLoc(Arg);
333 Sema::ActOnPackExpansion(const ParsedTemplateArgument &Arg,
335 if (Arg.isInvalid())
336 return Arg;
338 switch (Arg.getKind()) {
340 TypeResult Result = ActOnPackExpansion(Arg.getAsType(), EllipsisLoc);
344 return ParsedTemplateArgument(Arg.getKind(), Result.get().getAsOpaquePtr(),
345 Arg.getLocation());
349 ExprResult Result = ActOnPackExpansion(Arg.getAsExpr(), EllipsisLoc);
353 return ParsedTemplateArgument(Arg.getKind(), Result.get(),
354 Arg.getLocation());
358 if (!Arg.getAsTemplate().get().containsUnexpandedParameterPack()) {
359 SourceRange R(Arg.getLocation());
360 if (Arg.getScopeSpec().isValid())
361 R.setBegin(Arg.getScopeSpec().getBeginLoc());
367 return Arg.getTemplatePackExpansion(EllipsisLoc);
530 // C++0x [temp.arg.explicit]p9: