hubert.reinterpretcast added inline comments. ================ Comment at: lib/Basic/TargetInfo.cpp:231 @@ +230,3 @@ + if (hasFloat128Type() && + &getFloat128Format() == &llvm::APFloat::IEEEquad) + return Float128; ---------------- Is it necessary to check that `__float128` is IEEE quad here? Unlike the long double cases, `__float128` really better be 128 bits.
================ Comment at: lib/Sema/SemaExpr.cpp:1169 @@ +1168,3 @@ + if (LHSElemType == S.Context.Float128Ty && + RHSElemType == S.Context.LongDoubleTy) + return true; ---------------- I do not believe that the width of `long double` is sufficiently established to be the same as that of `__float128` in this context. ================ Comment at: lib/Sema/SemaExpr.cpp:1341 @@ +1340,3 @@ + // Diagnose builtin types that have the same size and different representation + // as conversions between such type currently can't be handled. + if (sameWidthDifferentRepresentation(*this, LHSType, RHSType)) ---------------- s/such type/such types; ================ Comment at: lib/Sema/SemaOverload.cpp:1655 @@ -1654,1 +1654,3 @@ } else if (FromType->isRealFloatingType() && ToType->isRealFloatingType()) { + // FIXME: disable conversions between long double and __float128 if + // their representation is different until there is back end support ---------------- Is conversion between `long double` and `__float128` the correct characterization of the missing back-end support? (as opposed to conversion between `PPCDoubleDouble` and `IEEEquad`) Repository: rL LLVM http://reviews.llvm.org/D15120 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits