aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r--lib/Sema/SemaDecl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 6dd9fa7c4b..76835bc3ab 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -1237,6 +1237,7 @@ bool Sema::CheckAddressConstantExpression(const Expr* Init) {
case Expr::ObjCStringLiteralClass:
return false;
case Expr::CallExprClass:
+ case Expr::CXXOperatorCallExprClass:
// __builtin___CFStringMakeConstantString is a valid constant l-value.
if (cast<CallExpr>(Init)->isBuiltinCall() ==
Builtin::BI__builtin___CFStringMakeConstantString)
@@ -1432,7 +1433,8 @@ bool Sema::CheckArithmeticConstantExpression(const Expr* Init) {
case Expr::TypesCompatibleExprClass:
case Expr::CXXBoolLiteralExprClass:
return false;
- case Expr::CallExprClass: {
+ case Expr::CallExprClass:
+ case Expr::CXXOperatorCallExprClass: {
const CallExpr *CE = cast<CallExpr>(Init);
// Allow any constant foldable calls to builtins.