[libcxx-commits] [PATCH] D142806: [libc++] Implement P0226R1 (Mathematical Special Functions)

Chris Lattner via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 8 05:09:07 PST 2023


lattner requested changes to this revision.
lattner added a comment.
This revision now requires changes to proceed.

I'm sorry, but accepting this patch will be very difficult for the project.  I have several technical concerns with this patch:

1. This is a very large block of code which does not follow LLVM conventions and has a lot of boost support functionality that seems redundant with stuff elsewhere in LLVM.
2. This seems to overlap a lot with the llvm libc work, particularly for the simple numeric operations.
3. This appears to add code with new dependencies, e.g. gmpfrxx? and has internal abstractions that aren't necessary for libcxx

Furthermore, the use of the boost license is a big issue.  While I am not a lawyer, it appears that it could be "compatible" with the LLVM license, but this is not enough.

There are two major issues here:

1. Different licenses like this add burden to people adopting/using LLVM to vet the code.  We'd need a supermajority of the entire LLVM community to approve this before doing this.

2. Worse yet, it prevents refactoring of the code across boundaries.  We want libcxx to be able to evolve freely over time, e.g. when new standards come out.  Taking this would mean that we have a split world where some code is in third_party land and some is in libcxx itself, and these future changes would be split across them.  Also, the license would prevent moving code form thirdparty to libcxx directly, adversely affecting the architecture of libcxx.

I understand that this is a bunch of fiddly code, I'd recommend reaching out to John Maddock and other contributors.  Maybe there is a new path where they are willing to relicense their work and integrate it more piece meal into libcxx, following the conventions of the project.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D142806/new/

https://reviews.llvm.org/D142806



More information about the libcxx-commits mailing list