diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-13 23:34:56 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-13 23:34:56 +0000 |
| commit | 1c29e7297ae2ccea58e251d6a840cb8206da3aa5 (patch) | |
| tree | e8b075b41f7f8da53771b93a9947613b71152f81 /clang | |
| parent | a693128778bf8cad12ac674a7d7005b32a3558e6 (diff) | |
| download | bcm5719-llvm-1c29e7297ae2ccea58e251d6a840cb8206da3aa5.tar.gz bcm5719-llvm-1c29e7297ae2ccea58e251d6a840cb8206da3aa5.zip | |
Fix a silly mistake in ComplexExprEvaluator::ZeroInitialization. <rdar://problem/10691092>.
llvm-svn: 148157
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/AST/ExprConstant.cpp | 2 | ||||
| -rw-r--r-- | clang/test/SemaCXX/constant-expression-cxx11.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 0cae13850d6..912b111d617 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -4914,7 +4914,7 @@ static bool EvaluateComplex(const Expr *E, ComplexValue &Result, } bool ComplexExprEvaluator::ZeroInitialization(const Expr *E) { - QualType ElemTy = cast<ComplexType>(E->getType())->getElementType(); + QualType ElemTy = E->getType()->getAs<ComplexType>()->getElementType(); if (ElemTy->isRealFloatingType()) { Result.makeComplexFloat(); APFloat Zero = APFloat::getZero(Info.Ctx.getFloatTypeSemantics(ElemTy)); diff --git a/clang/test/SemaCXX/constant-expression-cxx11.cpp b/clang/test/SemaCXX/constant-expression-cxx11.cpp index 71ce75887ba..d80339fe5f1 100644 --- a/clang/test/SemaCXX/constant-expression-cxx11.cpp +++ b/clang/test/SemaCXX/constant-expression-cxx11.cpp @@ -998,4 +998,6 @@ namespace ComplexConstexpr { constexpr _Complex int test4 = {4}; constexpr _Complex int test5 = 4; constexpr _Complex int test6 = {5,6}; + typedef _Complex float fcomplex; + constexpr fcomplex test7 = fcomplex(); } |

