reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

gen/tools/clang/include/clang/AST/StmtNodes.inc
   91 COROUTINEBODYSTMT(CoroutineBodyStmt, Stmt)
tools/clang/include/clang/Sema/Sema.h
  106   class CoroutineBodyStmt;

References

include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   77     return isa_impl<To, From>::doit(Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  168   using ret_type = const To &; // Normal case, return Ty&
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/TrailingObjects.h
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  162   getTrailingObjectsImpl(const BaseTy *Obj,
  177   getTrailingObjectsImpl(BaseTy *Obj,
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  257   static const BaseTy *
  258   getTrailingObjectsImpl(const BaseTy *Obj,
  259                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  263   static BaseTy *
  264   getTrailingObjectsImpl(BaseTy *Obj,
  265                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  277   callNumTrailingObjects(const BaseTy *Obj,
  278                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  283   static size_t callNumTrailingObjects(const BaseTy *Obj,
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  345     return sizeof(BaseTy) + ParentType::additionalSizeToAllocImpl(0, Counts...);
tools/clang/include/clang/AST/StmtCXX.h
  319       private llvm::TrailingObjects<CoroutineBodyStmt, Stmt *> {
  368   static CoroutineBodyStmt *Create(const ASTContext &C, CtorArgs const &Args);
  369   static CoroutineBodyStmt *Create(const ASTContext &C, EmptyShell,
tools/clang/include/clang/Sema/Sema.h
 9167   StmtResult BuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs);
tools/clang/lib/AST/StmtCXX.cpp
   86 CoroutineBodyStmt *CoroutineBodyStmt::Create(
   87     const ASTContext &C, CoroutineBodyStmt::CtorArgs const &Args) {
   89       CoroutineBodyStmt::FirstParamMove + Args.ParamMoves.size());
   91   void *Mem = C.Allocate(Size, alignof(CoroutineBodyStmt));
   92   return new (Mem) CoroutineBodyStmt(Args);
   95 CoroutineBodyStmt *CoroutineBodyStmt::Create(const ASTContext &C, EmptyShell,
   98       CoroutineBodyStmt::FirstParamMove + NumParams);
  100   void *Mem = C.Allocate(Size, alignof(CoroutineBodyStmt));
  101   auto *Result = new (Mem) CoroutineBodyStmt(CtorArgs());
  101   auto *Result = new (Mem) CoroutineBodyStmt(CtorArgs());
  109 CoroutineBodyStmt::CoroutineBodyStmt(CoroutineBodyStmt::CtorArgs const &Args)
  112   SubStmts[CoroutineBodyStmt::Body] = Args.Body;
  113   SubStmts[CoroutineBodyStmt::Promise] = Args.Promise;
  114   SubStmts[CoroutineBodyStmt::InitSuspend] = Args.InitialSuspend;
  115   SubStmts[CoroutineBodyStmt::FinalSuspend] = Args.FinalSuspend;
  116   SubStmts[CoroutineBodyStmt::OnException] = Args.OnException;
  117   SubStmts[CoroutineBodyStmt::OnFallthrough] = Args.OnFallthrough;
  118   SubStmts[CoroutineBodyStmt::Allocate] = Args.Allocate;
  119   SubStmts[CoroutineBodyStmt::Deallocate] = Args.Deallocate;
  120   SubStmts[CoroutineBodyStmt::ReturnValue] = Args.ReturnValue;
  121   SubStmts[CoroutineBodyStmt::ResultDecl] = Args.ResultDecl;
  122   SubStmts[CoroutineBodyStmt::ReturnStmt] = Args.ReturnStmt;
  123   SubStmts[CoroutineBodyStmt::ReturnStmtOnAllocFailure] =
tools/clang/lib/AST/StmtPrinter.cpp
 2262 void StmtPrinter::VisitCoroutineBodyStmt(CoroutineBodyStmt *S) {
tools/clang/lib/AST/StmtProfile.cpp
 1902 void StmtProfiler::VisitCoroutineBodyStmt(const CoroutineBodyStmt *S) {
tools/clang/lib/Analysis/AnalysisDeclContext.cpp
   97     if (auto *CoroBody = dyn_cast_or_null<CoroutineBodyStmt>(Body))
   97     if (auto *CoroBody = dyn_cast_or_null<CoroutineBodyStmt>(Body))
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCoroutine.cpp
  472   const CoroutineBodyStmt &S;
  477   GetReturnObjectManager(CodeGenFunction &CGF, const CoroutineBodyStmt &S)
  535                                    const CoroutineBodyStmt &S, Stmt *Body) {
  543 void CodeGenFunction::EmitCoroutineBody(const CoroutineBodyStmt &S) {
tools/clang/lib/CodeGen/CGStmt.cpp
  150     EmitCoroutineBody(cast<CoroutineBodyStmt>(*S));
tools/clang/lib/CodeGen/CodeGenFunction.h
 2897   void EmitCoroutineBody(const CoroutineBodyStmt &S);
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  647     if (const auto *CBody = dyn_cast<CoroutineBodyStmt>(Body))
  647     if (const auto *CBody = dyn_cast<CoroutineBodyStmt>(Body))
tools/clang/lib/Sema/CoroutineStmtBuilder.h
   24 class CoroutineStmtBuilder : public CoroutineBodyStmt::CtorArgs {
tools/clang/lib/Sema/SemaCoroutine.cpp
  970   if (isa<CoroutineBodyStmt>(Body)) {
  989   Body = CoroutineBodyStmt::Create(Context, Builder);
 1562 StmtResult Sema::BuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs Args) {
 1563   CoroutineBodyStmt *Res = CoroutineBodyStmt::Create(Context, Args);
 1563   CoroutineBodyStmt *Res = CoroutineBodyStmt::Create(Context, Args);
tools/clang/lib/Sema/SemaLambda.cpp
 1813       !isa<CoroutineBodyStmt>(CallOperator->getBody()) &&
tools/clang/lib/Sema/TreeTransform.h
 1448   StmtResult RebuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs Args) {
 7180 TreeTransform<Derived>::TransformCoroutineBodyStmt(CoroutineBodyStmt *S) {
tools/clang/lib/Serialization/ASTReaderStmt.cpp
  453 void ASTStmtReader::VisitCoroutineBodyStmt(CoroutineBodyStmt *S) {
  459        i < CoroutineBodyStmt::SubStmt::FirstParamMove + S->NumParams; ++i)
 3516       S = CoroutineBodyStmt::Create(Context, Empty, NumParams);
tools/clang/lib/Serialization/ASTWriterStmt.cpp
  347 void ASTStmtWriter::VisitCoroutineBodyStmt(CoroutineBodyStmt *CoroStmt) {
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>