diff options
Diffstat (limited to 'include/clang/AST/ExprCXX.h')
-rw-r--r-- | include/clang/AST/ExprCXX.h | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/include/clang/AST/ExprCXX.h b/include/clang/AST/ExprCXX.h index 2b3085183c..7b7ca9bf8f 100644 --- a/include/clang/AST/ExprCXX.h +++ b/include/clang/AST/ExprCXX.h @@ -220,6 +220,40 @@ public: } }; +/// Represents a call to a CUDA kernel function. +class CUDAKernelCallExpr final : public CallExpr { + friend class ASTStmtReader; + + enum { CONFIG, END_PREARG }; + + // CUDAKernelCallExpr has some trailing objects belonging + // to CallExpr. See CallExpr for the details. + + CUDAKernelCallExpr(Expr *Fn, CallExpr *Config, ArrayRef<Expr *> Args, + QualType Ty, ExprValueKind VK, SourceLocation RP, + unsigned MinNumArgs); + + CUDAKernelCallExpr(unsigned NumArgs, EmptyShell Empty); + +public: + static CUDAKernelCallExpr *Create(const ASTContext &Ctx, Expr *Fn, + CallExpr *Config, ArrayRef<Expr *> Args, + QualType Ty, ExprValueKind VK, + SourceLocation RP, unsigned MinNumArgs = 0); + + static CUDAKernelCallExpr *CreateEmpty(const ASTContext &Ctx, + unsigned NumArgs, EmptyShell Empty); + + const CallExpr *getConfig() const { + return cast_or_null<CallExpr>(getPreArg(CONFIG)); + } + CallExpr *getConfig() { return cast_or_null<CallExpr>(getPreArg(CONFIG)); } + + static bool classof(const Stmt *T) { + return T->getStmtClass() == CUDAKernelCallExprClass; + } +}; + /// A rewritten comparison expression that was originally written using /// operator syntax. /// @@ -310,40 +344,6 @@ public: } }; -/// Represents a call to a CUDA kernel function. -class CUDAKernelCallExpr final : public CallExpr { - friend class ASTStmtReader; - - enum { CONFIG, END_PREARG }; - - // CUDAKernelCallExpr has some trailing objects belonging - // to CallExpr. See CallExpr for the details. - - CUDAKernelCallExpr(Expr *Fn, CallExpr *Config, ArrayRef<Expr *> Args, - QualType Ty, ExprValueKind VK, SourceLocation RP, - unsigned MinNumArgs); - - CUDAKernelCallExpr(unsigned NumArgs, EmptyShell Empty); - -public: - static CUDAKernelCallExpr *Create(const ASTContext &Ctx, Expr *Fn, - CallExpr *Config, ArrayRef<Expr *> Args, - QualType Ty, ExprValueKind VK, - SourceLocation RP, unsigned MinNumArgs = 0); - - static CUDAKernelCallExpr *CreateEmpty(const ASTContext &Ctx, - unsigned NumArgs, EmptyShell Empty); - - const CallExpr *getConfig() const { - return cast_or_null<CallExpr>(getPreArg(CONFIG)); - } - CallExpr *getConfig() { return cast_or_null<CallExpr>(getPreArg(CONFIG)); } - - static bool classof(const Stmt *T) { - return T->getStmtClass() == CUDAKernelCallExprClass; - } -}; - /// Abstract class common to all of the C++ "named"/"keyword" casts. /// /// This abstract class is inherited by all of the classes |