summaryrefslogtreecommitdiff
path: root/libcxx/CREDITS.TXT
Commit message (Collapse)AuthorAgeFilesLines
* [libcxx] Add mdspan/extentsChristian Trott2023-05-161-0/+9
| | | | | | | | | | | | | | | | This patch adds std::extents. extents is one of the core classes used by std::mdspan. It describes a multi-dimensional index space with a mix of compile time and runtime sizes. Furthermore, it is templated on the index type used to describe the multi-dimensional index space. The class is designed to be highly optimizable in performance critical code sections, and is fully useable in constant expressions contexts. Testing of this class tends to be somewhat combinatorical, due to the large number of possible corner cases involved in situations where we have both runtime and compile time extents. To add to this, the class is designed to be interoperable (in particular constructible) from arguments which only need to be convertible to the index_type, but are otherwise arbitrary user types. For a larger discussion on the design of this class refer to: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html Co-authored-by: Damien L-G <dalg24@gmail.com> Reviewed By: ldionne, #libc Spies: libcxx-commits, H-G-Hristov, tschuett, philnik, arichardson, Mordante, crtrott Differential Revision: https://reviews.llvm.org/D148067
* Microsoft's floating-point to_chars powered by Ryu and Ryu PrintfMark de Wever2021-12-121-0/+15
| | | | | | | | | | | | | | | | | | | | | Microsoft would like to contribute its implementation of floating-point to_chars to libc++. This uses the impossibly fast Ryu and Ryu Printf algorithms invented by Ulf Adams at Google. Upstream repos: https://github.com/microsoft/STL and https://github.com/ulfjack/ryu . Licensing notes: MSVC's STL is available under the Apache License v2.0 with LLVM Exception, intentionally chosen to match libc++. We've used Ryu under the Boost Software License. This patch contains minor changes from Jorg Brown at Google, to adapt the code to libc++. He verified that it works in Google's Linux-based environment, but then I applied more changes on top of his, so any compiler errors are my fault. (I haven't tried to build and test libc++ yet.) Please tell me if we need to do anything else in order to follow https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes . Notes: * libc++'s integer charconv is unchanged (except for a small refactoring). MSVC's integer charconv hasn't been tuned for performance yet, so you're not missing anything. * Floating-point from_chars isn't part of this patch because Jorg found that MSVC's implementation (derived from our CRT's strtod) was slower than Abseil's. If you're unable to use Abseil or another implementation due to licensing or technical considerations, Microsoft would be delighted if you used MSVC's from_chars (and you can just take it, or ask us to provide a patch like this). Ulf is also working on a novel algorithm for from_chars. * This assumes that float is IEEE 32-bit, double is IEEE 64-bit, and long double is also IEEE 64-bit. * I have added MSVC's charconv tests (the whole thing: integer/floating from_chars/to_chars), but haven't adapted them to libcxx's harness at all. (These tests will be available in the microsoft/STL repo soon.) * Jorg added int128 codepaths. These were originally present in upstream Ryu, and I removed them from microsoft/STL purely for performance reasons (MSVC doesn't support int128; Clang on Windows does, but I found that x64 intrinsics were slightly faster). * The implementation is split into 3 headers. In MSVC's STL, charconv contains only Microsoft-written code. xcharconv_ryu.h contains code derived from Ryu (with significant modifications and additions). xcharconv_ryu_tables.h contains Ryu's large lookup tables (they were sufficiently large to make editing inconvenient, hence the separate file). The xmeow.h convention is MSVC's for internal headers; you may wish to rename them. * You should consider separately compiling the lookup tables (see https://github.com/microsoft/STL/issues/172 ) for compiler throughput and reduced object file size. * See https://github.com/StephanTLavavej/llvm-project/commits/charconv for fine-grained history. (If necessary, I can perform some rebase surgery to show you what Jorg changed relative to the microsoft/STL repo; currently that's all fused into the first commit.) Differential Revision: https://reviews.llvm.org/D70631
* Revert "Microsoft's floating-point to_chars powered by Ryu and Ryu Printf"Petr Hosek2021-12-071-15/+0
| | | | | This reverts commit a8025e06fc0f2fe1bbee9e1a6f15c336bfbdcb05 since it triggers PR52584 with debug info enabled.
* Microsoft's floating-point to_chars powered by Ryu and Ryu PrintfMark de Wever2021-12-051-0/+15
| | | | | | | | | | | | | | | | | | | | | Microsoft would like to contribute its implementation of floating-point to_chars to libc++. This uses the impossibly fast Ryu and Ryu Printf algorithms invented by Ulf Adams at Google. Upstream repos: https://github.com/microsoft/STL and https://github.com/ulfjack/ryu . Licensing notes: MSVC's STL is available under the Apache License v2.0 with LLVM Exception, intentionally chosen to match libc++. We've used Ryu under the Boost Software License. This patch contains minor changes from Jorg Brown at Google, to adapt the code to libc++. He verified that it works in Google's Linux-based environment, but then I applied more changes on top of his, so any compiler errors are my fault. (I haven't tried to build and test libc++ yet.) Please tell me if we need to do anything else in order to follow https://llvm.org/docs/DeveloperPolicy.html#attribution-of-changes . Notes: * libc++'s integer charconv is unchanged (except for a small refactoring). MSVC's integer charconv hasn't been tuned for performance yet, so you're not missing anything. * Floating-point from_chars isn't part of this patch because Jorg found that MSVC's implementation (derived from our CRT's strtod) was slower than Abseil's. If you're unable to use Abseil or another implementation due to licensing or technical considerations, Microsoft would be delighted if you used MSVC's from_chars (and you can just take it, or ask us to provide a patch like this). Ulf is also working on a novel algorithm for from_chars. * This assumes that float is IEEE 32-bit, double is IEEE 64-bit, and long double is also IEEE 64-bit. * I have added MSVC's charconv tests (the whole thing: integer/floating from_chars/to_chars), but haven't adapted them to libcxx's harness at all. (These tests will be available in the microsoft/STL repo soon.) * Jorg added int128 codepaths. These were originally present in upstream Ryu, and I removed them from microsoft/STL purely for performance reasons (MSVC doesn't support int128; Clang on Windows does, but I found that x64 intrinsics were slightly faster). * The implementation is split into 3 headers. In MSVC's STL, charconv contains only Microsoft-written code. xcharconv_ryu.h contains code derived from Ryu (with significant modifications and additions). xcharconv_ryu_tables.h contains Ryu's large lookup tables (they were sufficiently large to make editing inconvenient, hence the separate file). The xmeow.h convention is MSVC's for internal headers; you may wish to rename them. * You should consider separately compiling the lookup tables (see https://github.com/microsoft/STL/issues/172 ) for compiler throughput and reduced object file size. * See https://github.com/StephanTLavavej/llvm-project/commits/charconv for fine-grained history. (If necessary, I can perform some rebase surgery to show you what Jorg changed relative to the microsoft/STL repo; currently that's all fused into the first commit.) Differential Revision: https://reviews.llvm.org/D70631
* [libc++] Add myself to the credits.Mark de Wever2021-11-281-0/+4
| | | | Noticed while updating the credits for the to_chars patch.
* [NFC] Add contributor name to CREDITS.TXTMuiez Ahmed2021-09-291-0/+4
| | | | Differential Revision: https://reviews.llvm.org/D110650
* [libc++] Update credits.txt per coment on D108263Louis Dionne2021-08-201-1/+1
|
* [libc++][NFC] Update and alphabetize CREDITS.TXTKent Ross2021-08-191-12/+16
| | | | | | Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D108263
* [libcxx] Adds [concept.same]Eric Fiselier2020-04-081-0/+5
| | | | | | | | Patch from Christopher Di Bella (cjdb@google.com) Reviewed as https://reviews.llvm.org/D74291 Adds `std::same_as` to libc++. Since there aren't clang-format rules for //requires-expressions//, I'll need to disable the formatter in certain areas.
* [libcxx] Add Sergej Jaskiewicz to CREDITS.txtSergej Jaskiewicz2019-11-211-0/+4
| | | | | | | | | | | | Summary: Also, test commit access Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70526
* Try again, this time with the correct addressJonathan Roelofs2017-12-291-1/+1
| | | | llvm-svn: 321570
* Update CREDITS.txt with personal emailJonathan Roelofs2017-12-291-1/+1
| | | | llvm-svn: 321563
* Update C++2a status and add Glen to CREDITS.TXT. Reviewed as ↵Marshall Clow2017-11-231-0/+4
| | | | | | https://reviews.llvm.org/D40379 llvm-svn: 318919
* Updated email address in `CREDITS.txt`.Michael Park2017-03-061-1/+1
| | | | llvm-svn: 297065
* Added "Michael Park" to `CREDITS.TXT`.Michael Park2017-01-071-0/+4
| | | | | | | | | | Summary: Test commit + give myself credit. Reviewers: EricWF Differential Revision: https://reviews.llvm.org/D28431 llvm-svn: 291344
* Add entry to CREDITS.TXT for propagate_constJonathan Coe2016-06-191-0/+4
| | | | llvm-svn: 273123
* Add self to CREDITS.txtJonathan Roelofs2015-02-261-0/+4
| | | | llvm-svn: 230595
* Add self to CREDITS.TXTLarisse Voufo2015-02-201-0/+3
| | | | llvm-svn: 229969
* Add myself to CREDITS.TXT.Dan Albert2015-01-301-0/+4
| | | | llvm-svn: 227630
* Add self to creditsEric Fiselier2014-08-211-0/+4
| | | | llvm-svn: 216154
* Updated my roleMarshall Clow2013-09-281-1/+1
| | | | llvm-svn: 191596
* Xing Xue: port to IBM XLC++/AIX.Howard Hinnant2013-08-141-0/+4
| | | | llvm-svn: 188396
* Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant2013-08-121-0/+4
| | | | | | explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
* Update CREDITS.TXTHoward Hinnant2013-08-071-0/+4
| | | | llvm-svn: 187936
* Updated CREDITS.TXTHoward Hinnant2013-07-021-0/+4
| | | | llvm-svn: 185462
* Bill Fisher: This patch fixes a bug where the regex parser doesn't advance ↵Howard Hinnant2013-07-021-0/+4
| | | | | | | | the pointer after reading the third character of an octal escape (in awk mode). That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/. llvm-svn: 185449
* Stephan Tolksdorf: fixes the issue in the <atomic> header and adds ↵Howard Hinnant2013-05-021-4/+8
| | | | | | | | corresponding tests. I've used macros to fall back to a user-provided default constructor if _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS (though I suspect that there won't be many users defining that macro). The tests use placement new to check that atomic values get properly zero-initialized. I had to modify the atomic_is_lock_free test, because default initialization of an object of const type 'const A' (aka 'const atomic<int>') requires a user-provided default constructor. llvm-svn: 180945
* Add entry for myself.Joerg Sonnenberger2013-04-291-0/+4
| | | | llvm-svn: 180728
* Bruce Mitchener, Jr.: Port to emscripten. Fixes ↵Howard Hinnant2013-03-291-0/+4
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=15624. llvm-svn: 178354
* Add Michael van der Westhuizen to CREDITS.TXTHoward Hinnant2013-02-081-0/+3
| | | | llvm-svn: 174732
* Updating CREDITS.TXTHoward Hinnant2013-01-011-0/+4
| | | | llvm-svn: 171347
* Saleem Abdulrasool: Add entry to CREDITS.TXT.Howard Hinnant2012-12-271-43/+47
| | | | llvm-svn: 171174
* Updated CREDITS.TXTHoward Hinnant2012-12-131-0/+4
| | | | llvm-svn: 170062
* Add an entry in CREDITS.TXTArgyrios Kyrtzidis2012-10-151-0/+4
| | | | llvm-svn: 165949
* Holger Arnold: Correct the use and testing of __GNUC__ and __GNUC_MINOR__ ↵Howard Hinnant2012-10-031-0/+4
| | | | | | in <__config>. llvm-svn: 165151
* Updating email addressMarshall Clow2012-09-241-1/+1
| | | | llvm-svn: 164489
* Update CREDITS.TXTHoward Hinnant2012-09-141-0/+4
| | | | llvm-svn: 163949
* Update CREDITS.TXTHoward Hinnant2012-08-261-0/+4
| | | | llvm-svn: 162647
* Add Hyeon-bin Jeong to CREDITS.TXTHoward Hinnant2012-08-241-0/+4
| | | | llvm-svn: 162604
* Update CREDITS.TXTHoward Hinnant2012-07-261-0/+4
| | | | llvm-svn: 160812
* libc++: Add some missing #includes to atomics tests. libc++ doesn't need theseRichard Smith2012-04-191-0/+3
| | | | | | | at the moment, but they allow these tests to be used to test clang against libstdc++. Add myself to the credits file, as suggested by Howard. llvm-svn: 155085
* Update <limits> with constexpr support. Patch contributed by Jonathan Sauer.Howard Hinnant2012-04-021-0/+3
| | | | llvm-svn: 153888
* Solaris port. Currently sees around 200 test failures, mostly related toDavid Chisnall2012-02-291-1/+1
| | | | | | | | | | Solaris not providing some of the locales that the test suite uses. Note: This depends on an xlocale (partial) implementation for Solaris and a couple of fixed standard headers. These will be committed to a branch later today. llvm-svn: 151720
* Add myself to the CREDITS file.Jeffrey Yasskin2012-02-191-0/+5
| | | | llvm-svn: 150935
* Installation of CityHash by Craig SilversteinHoward Hinnant2011-12-101-0/+7
| | | | llvm-svn: 146329
* Starting on musl port by Arvid PiccianiHoward Hinnant2011-10-111-0/+4
| | | | llvm-svn: 141672
* Partial Windows port by Ruben Van BoxemHoward Hinnant2011-09-221-0/+4
| | | | llvm-svn: 140328
* Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.David Chisnall2011-09-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system: http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj Summary of tests on FreeBSD: **************************************************** Results for /root/libcxx/test: using FreeBSD clang version 3.0 (trunk 135360) 20110717 Target: x86_64-unknown-freebsd9.0 Thread model: posix with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib ---------------------------------------------------- sections without tests : 1 sections with failures : 48 sections without failures: 1015 + ---- total number of sections : 1064 ---------------------------------------------------- number of tests failed : 145 number of tests passed : 4179 + ---- total number of tests : 4324 **************************************************** (Many due to this clang version not supporting C++ atomics) More fixes to follow... llvm-svn: 140245
* Test commitDave Zarzycki2011-07-221-0/+1
| | | | llvm-svn: 135774
* Update CREDITS.TXTHoward Hinnant2011-06-091-0/+4
| | | | llvm-svn: 132780