diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-01-17 21:17:26 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-01-17 21:17:26 +0000 |
commit | 4ef685becf2bca9db12e31ace0e79ffd428a5e64 (patch) | |
tree | cb46feaf42de2371a57e64873f7634a471ed3493 /clang/lib/AST/ExprConstant.cpp | |
parent | a6607fa84e0a2d7fc5cce307b8f26236ffc385fa (diff) | |
download | bcm5719-llvm-4ef685becf2bca9db12e31ace0e79ffd428a5e64.tar.gz bcm5719-llvm-4ef685becf2bca9db12e31ace0e79ffd428a5e64.zip |
Enable constant evaluation of implicit calls to constexpr conversion operators.
llvm-svn: 148333
Diffstat (limited to 'clang/lib/AST/ExprConstant.cpp')
-rw-r--r-- | clang/lib/AST/ExprConstant.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 89e8ab768bd..1ad0bc5474b 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -2280,6 +2280,7 @@ public: case CK_AtomicToNonAtomic: case CK_NonAtomicToAtomic: case CK_NoOp: + case CK_UserDefinedConversion: return StmtVisitorTy::Visit(E->getSubExpr()); case CK_LValueToRValue: { @@ -4525,13 +4526,13 @@ bool IntExprEvaluator::VisitCastExpr(const CastExpr *E) { case CK_BitCast: case CK_Dependent: case CK_LValueBitCast: - case CK_UserDefinedConversion: case CK_ARCProduceObject: case CK_ARCConsumeObject: case CK_ARCReclaimReturnedObject: case CK_ARCExtendBlockObject: return Error(E); + case CK_UserDefinedConversion: case CK_LValueToRValue: case CK_AtomicToNonAtomic: case CK_NonAtomicToAtomic: |