aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordy Rose <jediknil@belkadan.com>2012-03-12 17:53:02 +0000
committerJordy Rose <jediknil@belkadan.com>2012-03-12 17:53:02 +0000
commitd8b5ca14277e142506daed181ecff9151dfae32c (patch)
tree9949abbd2fe93c372aa31ce8c61a88bd31dd4da9
parent40a777a157c00cc7e9c9db7197017d83311c76c6 (diff)
ObjCBoolLiterals (__objc_yes/__objc_no) behave like C++ booleans (true/false). They are NOT objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152564 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AST/Expr.cpp2
-rw-r--r--lib/Sema/TreeTransform.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index e2fc120b8a..ffc8fea894 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -2131,7 +2131,6 @@ Expr::CanThrowResult Expr::CanThrow(ASTContext &C) const {
// potentially throwing unless we decide to close off that
// possibility.
case ObjCArrayLiteralClass:
- case ObjCBoolLiteralExprClass:
case ObjCDictionaryLiteralClass:
case ObjCNumericLiteralClass:
return CT_Can;
@@ -2231,6 +2230,7 @@ Expr::CanThrowResult Expr::CanThrow(ASTContext &C) const {
case IntegerLiteralClass:
case ObjCEncodeExprClass:
case ObjCStringLiteralClass:
+ case ObjCBoolLiteralExprClass:
case OpaqueValueExprClass:
case PredefinedExprClass:
case SizeOfPackExprClass:
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h
index 16cfc3b2e3..c759e7a07a 100644
--- a/lib/Sema/TreeTransform.h
+++ b/lib/Sema/TreeTransform.h
@@ -8294,7 +8294,7 @@ TreeTransform<Derived>::TransformObjCStringLiteral(ObjCStringLiteral *E) {
template<typename Derived>
ExprResult
TreeTransform<Derived>::TransformObjCBoolLiteralExpr(ObjCBoolLiteralExpr *E) {
- return SemaRef.MaybeBindToTemporary(E);
+ return SemaRef.Owned(E);
}
template<typename Derived>