diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-09-10 20:55:37 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-09-10 20:55:37 +0000 |
commit | 22e3a93586c458e2038f7380e78b3f2fb39f660c (patch) | |
tree | 60bbba86f13fda9b26f812d8232aeac2b9cce3e7 /clang/lib/Sema/SemaExprCXX.cpp | |
parent | ce354af89558c9d60d3a95453a50170d517faffa (diff) | |
download | bcm5719-llvm-22e3a93586c458e2038f7380e78b3f2fb39f660c.tar.gz bcm5719-llvm-22e3a93586c458e2038f7380e78b3f2fb39f660c.zip |
Parse the noexcept operator and stub out sema.
llvm-svn: 113622
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index d5b0afa4f61..7c9baa756b7 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -3114,6 +3114,17 @@ CXXMemberCallExpr *Sema::BuildCXXMemberCallExpr(Expr *Exp, return CE; } +ExprResult Sema::ActOnNoexceptExpr(SourceLocation KeyLoc, SourceLocation LParen, + Expr *Operand, SourceLocation RParen) { + // C++ [expr.unary.noexcept]p1: + // The noexcept operator determines whether the evaluation of its operand, + // which is an unevaluated operand, can throw an exception. + ExprEvalContexts.back().Context = Unevaluated; + +//return Owned(new (Context) CXXNoexceptExpr(KeyLoc, LParen, Operand, RParen)); + return ExprError(); +} + ExprResult Sema::ActOnFinishFullExpr(Expr *FullExpr) { if (!FullExpr) return ExprError(); return MaybeCreateCXXExprWithTemporaries(FullExpr); |