Fix a silly mistake in ComplexExprEvaluator::ZeroInitialization. <rdar://problem/10691092>.

llvm-svn: 148157
This commit is contained in:
Eli Friedman 2012-01-13 23:34:56 +00:00
parent a693128778
commit 1c29e7297a
2 changed files with 3 additions and 1 deletions

View File

@ -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));

View File

@ -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();
}