ddcc added inline comments.

================
Comment at: lib/Basic/TargetInfo.cpp:229
   switch (BitWidth) {
-  case 96:
+  case 80:
     if (&getLongDoubleFormat() == &llvm::APFloat::x87DoubleExtended)
----------------
bruno wrote:
> The change makes sense but I believe there's some historical reason why this 
> is 96 instead of 80? What problem have you found in practice? Do you have a 
> testcase or unittest that exercise the issue (and that could be added to the 
> patch)?
I'd be curious why it was historically set to 96; I dug up rL190044 as the 
original commit, but it doesn't mention 80 vs 96 for this at all.

I've been implementing an alternative symbolic constraint solver backend for 
the static analyzer, including floating-point support, which performs some type 
conversion and needs to reason about bitwidth. I'm still working on those 
patches, since they touch a lot of code and currently break some tests. I can 
write up a testcase for this issue, though I've only written IR testcases 
before and I'm not sure how I'd directly call a clang internal function?


https://reviews.llvm.org/D26955



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to