hubert.reinterpretcast added inline comments. ================ Comment at: lib/Sema/SemaOverload.cpp:1658 @@ -1657,1 +1657,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 ---------------- nemanjai wrote: > hubert.reinterpretcast wrote: > > The update to check the case where the representation of `long double` is > > the same as that of `double` is missing. > Yes, I missed this. Thanks for noticing. I'll update the comment and change > the body of the if to: > > if (&S.Context.getFloatTypeSemantics(FromType) != > &S.Context.getFloatTypeSemantics(ToType)) { > bool Float128AndLongDouble = ((FromType == S.Context.Float128Ty && > ToType == S.Context.LongDoubleTy) || > (FromType == S.Context.LongDoubleTy && > ToType == S.Context.Float128Ty)); > if (Float128AndLongDouble && > (&S.Context.getFloatTypeSemantics(S.Context.LongDoubleTy) != > &llvm::APFloat::IEEEdouble)) > return false; > } I'm not a fan of redundant parentheses, but that looks okay.
================ Comment at: lib/Sema/SemaOverload.cpp:1966-1967 @@ -1955,4 +1965,4 @@ // C99 6.3.1.5p1: // When a float is promoted to double or long double, or a // double is promoted to long double [...]. if (!getLangOpts().CPlusPlus && ---------------- nemanjai wrote: > hubert.reinterpretcast wrote: > > @rsmith; this is the discussion on floating-point "promotions" in "C" that > > I was asking you about. > I can certainly remove this if the agreement is that I should do so. Richard had requested to allow "promoting" `long double` to `__float128`, and at the time, implicitly converting from `long double` to `__float128` was something I was not convinced we should do at the time. At this time, I believe that adding this "promotion" is consistent with the rest of the patch; however, I am still not sure what this code is meant to implement (again, C11 does not have floating-point promotions). 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