efriedma added inline comments.
================ Comment at: lib/Basic/TargetInfo.cpp:229 switch (BitWidth) { - case 96: + case 80: if (&getLongDoubleFormat() == &llvm::APFloat::x87DoubleExtended) ---------------- ddcc wrote: > 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? It was set to 96 because that's what the only caller (handleModeAttr) expects; see https://reviews.llvm.org/rL65935 and https://reviews.llvm.org/rL190926. It's arbitrary as far as I know. https://reviews.llvm.org/D26955 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits