diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-31 04:59:00 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-31 04:59:00 +0000 |
commit | 7dcb155c1845d3ed50a98d3d294fae0c4eb6b77d (patch) | |
tree | e3e11b11b99335259a57ad94967cc5feca9823be /clang/lib/Parse/ParseExpr.cpp | |
parent | 376597c13e5d5e405357d3d06f3c41cea3d7b29c (diff) | |
download | bcm5719-llvm-7dcb155c1845d3ed50a98d3d294fae0c4eb6b77d.tar.gz bcm5719-llvm-7dcb155c1845d3ed50a98d3d294fae0c4eb6b77d.zip |
Implement the __has_nothrow trait family, by Steven Watanabe.
llvm-svn: 112577
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r-- | clang/lib/Parse/ParseExpr.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp index 290b72c4c0d..f1abd59421e 100644 --- a/clang/lib/Parse/ParseExpr.cpp +++ b/clang/lib/Parse/ParseExpr.cpp @@ -526,9 +526,9 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression, /// '::'[opt] 'delete' '[' ']' cast-expression /// /// [GNU] unary-type-trait: -/// '__has_nothrow_assign' [TODO] -/// '__has_nothrow_copy' [TODO] -/// '__has_nothrow_constructor' [TODO] +/// '__has_nothrow_assign' +/// '__has_nothrow_copy' +/// '__has_nothrow_constructor' /// '__has_trivial_assign' [TODO] /// '__has_trivial_copy' [TODO] /// '__has_trivial_constructor' @@ -900,6 +900,9 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression, case tok::kw___has_trivial_copy: case tok::kw___has_trivial_assign: case tok::kw___has_trivial_destructor: + case tok::kw___has_nothrow_assign: + case tok::kw___has_nothrow_copy: + case tok::kw___has_nothrow_constructor: return ParseUnaryTypeTrait(); case tok::at: { |