diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-01-18 18:49:33 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-01-18 18:49:33 +0000 |
| commit | e84389bf68105d8b03447ad94dad8bee2b577ec8 (patch) | |
| tree | e33b14e5f07b61df0686d2acf60bac50f0c985ca /clang/lib | |
| parent | d763b3e014a1c0deabedbd0aedfeee8b7714ab44 (diff) | |
| download | bcm5719-llvm-e84389bf68105d8b03447ad94dad8bee2b577ec8.tar.gz bcm5719-llvm-e84389bf68105d8b03447ad94dad8bee2b577ec8.zip | |
Properly do a float -> _Complex double conversion, fixes rdar://8875946.
llvm-svn: 123759
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 45e0c3377b8..e2e802c7901 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -528,7 +528,8 @@ QualType Sema::UsualArithmeticConversions(Expr *&lhsExpr, Expr *&rhsExpr, if (order < 0) { // RHS is wider // float -> _Complex double if (!isCompAssign) { - ImpCastExprToType(lhsExpr, rhs, CK_FloatingCast); + QualType fp = cast<ComplexType>(rhs)->getElementType(); + ImpCastExprToType(lhsExpr, fp, CK_FloatingCast); ImpCastExprToType(lhsExpr, rhs, CK_FloatingRealToComplex); } return rhs; |

