From d8b5ca14277e142506daed181ecff9151dfae32c Mon Sep 17 00:00:00 2001 From: Jordy Rose Date: Mon, 12 Mar 2012 17:53:02 +0000 Subject: [PATCH] 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 --- lib/AST/Expr.cpp | 2 +- lib/Sema/TreeTransform.h | 2 +- 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::TransformObjCStringLiteral(ObjCStringLiteral *E) { template ExprResult TreeTransform::TransformObjCBoolLiteralExpr(ObjCBoolLiteralExpr *E) { - return SemaRef.MaybeBindToTemporary(E); + return SemaRef.Owned(E); } template -- 2.40.0