| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc][NFC] Remove all Linux specific code to respective linux/ directories These were all the non OS agnostic implementations I could find in general directories. Currently none of these functions are actually enabled, but for when they do it makes sense that they be in linux/ specific directories. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D119164 | 4 年前 | |
[libc][obvious] add aligned_alloc as entrypoint This patch adds aligned_alloc as an entrypoint. Previously it was being included implicitly. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D122362 | 4 年前 | |
[libc][NFC] Make all top of file comments consistent. Summary: Made all header files consistent based of this documentation: https://llvm.org/docs/CodingStandards.html#file-headers. And did the same for all source files top of file comments. Reviewers: sivachandra, abrachet Reviewed By: sivachandra, abrachet Subscribers: MaskRay, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D77533 | 6 年前 | |
[libc][NFC] Make all top of file comments consistent. Summary: Made all header files consistent based of this documentation: https://llvm.org/docs/CodingStandards.html#file-headers. And did the same for all source files top of file comments. Reviewers: sivachandra, abrachet Reviewed By: sivachandra, abrachet Subscribers: MaskRay, tschuett, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D77533 | 6 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add [l|ll]abs implementation. Implement abs, labs and llabs with template. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D92626 | 5 年前 | |
[libc] Unlock after pop_back | 4 年前 | |
[libc] Add exit and atexit Often atexit is implemented using __cxa_atexit. I have not implemented __cxa_atexit here because it potentially requires more discussion. It is unique for llvm-libc (I think) that it is an exported symbol that wouldn’t be defined in any spec file because it doesn’t have a header. Implementing it will be trivial given what is here already, but I figured it would be more contentious so it can be implemented later. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D119512 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] add atoi, atol, and atoll This is based on the work done to add strtoll and the other strto functions. The atoi functions also were added to stdc and entrypoints.txt. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D108330 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] add atoi, atol, and atoll This is based on the work done to add strtoll and the other strto functions. The atoi functions also were added to stdc and entrypoints.txt. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D108330 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] add atoi, atol, and atoll This is based on the work done to add strtoll and the other strto functions. The atoi functions also were added to stdc and entrypoints.txt. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D108330 | 4 年前 | |
[libc] Add an implementation of bsearch. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D110222 | 4 年前 | |
[libc] Add an implementation of bsearch. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D110222 | 4 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add implementations of div, ldiv, lldiv and imaxdiv. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D109952 | 4 年前 | |
[libc] Add a resizable container with constexpr constructor and destructor. The new container is used to store atexit callbacks. This way, we avoid the possibility of the destructor of the container itself getting added as an at exit callback. Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D121350 | 4 年前 | |
[libc] Add exit and atexit Often atexit is implemented using __cxa_atexit. I have not implemented __cxa_atexit here because it potentially requires more discussion. It is unique for llvm-libc (I think) that it is an exported symbol that wouldn’t be defined in any spec file because it doesn’t have a header. Implementing it will be trivial given what is here already, but I figured it would be more contentious so it can be implemented later. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D119512 | 4 年前 | |
[libc] Fix API for remove_{prefix, suffix} The API in StringView.h for remove_prefix was incorrect and was returning a new StringView rather than just altering the view. As part of this, also removed some of the safety features. The comment correctly noted that the behaviour is undefined in some cases, but the code and test cases checked for that. One caller was relying on the old behaviour, so fixed it and added some comments. Tested: check-libc llvmlibc libc-loader-tests Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D129950 | 3 年前 | |
Introduce getenv to LLVM libc Add support for getenv as defined by the Open Group's "System Interface & Header" in https://pubs.opengroup.org/onlinepubs/7908799/xsh/getenv.html getenv requires a standard way of accessing the environment, so a pointer to the environment is added to the startup in crt1. Consquently, this function is not usable on top of other libcs. Added starts_with method to StringView. getenv function uses it. Co-authored-by: Jeff Bailey <jeffbailey@google.com> Reviewed By: sivachandra, rtenneti Differential Revision: https://reviews.llvm.org/D119403 | 4 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add [l|ll]abs implementation. Implement abs, labs and llabs with template. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D92626 | 5 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add implementations of div, ldiv, lldiv and imaxdiv. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D109952 | 4 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add [l|ll]abs implementation. Implement abs, labs and llabs with template. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D92626 | 5 年前 | |
[libc] apply new lint rules This patch applies the lint rules described in the previous patch. There was also a significant amount of effort put into manually fixing things, since all of the templated functions, or structs defined in /spec, were not updated and had to be handled manually. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D114302 | 4 年前 | |
[libc] Add implementations of div, ldiv, lldiv and imaxdiv. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D109952 | 4 年前 | |
[libc] Don't call user comparator function for equal pointers The standard says two equal pointers must compare equal so there is no need to call the user comparator function in this case. Differential Revision: https://reviews.llvm.org/D130310 | 3 年前 | |
[libc] Add an implementation of qsort. A fuzzer for qsort has also been added. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D110382 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc] add atof, strtof and strtod Add the string to floating point conversion functions. Long doubles aren't supported yet, but floats and doubles are. The primary algorithm used is the Eisel-Lemire ParseNumberF64 algorithm, with the Simple Decimal Conversion algorithm as backup. Links for more information on the algorithms: Number Parsing at a Gigabyte per Second, Software: Practice and Experience 51 (8), 2021 (https://arxiv.org/abs/2101.11408) https://nigeltao.github.io/blog/2020/eisel-lemire.html https://nigeltao.github.io/blog/2020/parse-number-f64-simple.html Differential Revision: https://reviews.llvm.org/D109261 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] Add strtol, strtoul, and strtoull Updates the internal string conversion function so that it uses the new Limits.h added in a previous commit for max and min values, and has a templated type. This makes implementing the other strto* functions very simple. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107999 | 4 年前 | |
[libc] add basic strtold implementation Due to the differences between the types of long double, this function is effectively three functions in one. This patch adds basic support for the types of long double, although it's just using the fast path and the fallback for the moment. I still need to implement a version of Eisel-Lemire for performance, but the existing algorithms should be correct. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113710 | 4 年前 | |
[libc] add basic strtold implementation Due to the differences between the types of long double, this function is effectively three functions in one. This patch adds basic support for the types of long double, although it's just using the fast path and the fallback for the moment. I still need to implement a version of Eisel-Lemire for performance, but the existing algorithms should be correct. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113710 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] add strtoll function and backend This change adds the stroll function, but most of the implementation is in the new file str_conv_utils.h since many of the other integer conversion functions are implemented through what are effectively calls to strtoll. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107792 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] Add strtol, strtoul, and strtoull Updates the internal string conversion function so that it uses the new Limits.h added in a previous commit for max and min values, and has a templated type. This makes implementing the other strto* functions very simple. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107999 | 4 年前 | |
[libc][NFC] rename str_conv_utils to str_to_integer rename str_conv_utils to str_to_integer to be more in line with str_to_float. Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D113061 | 4 年前 | |
[libc] Add strtol, strtoul, and strtoull Updates the internal string conversion function so that it uses the new Limits.h added in a previous commit for max and min values, and has a templated type. This makes implementing the other strto* functions very simple. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107999 | 4 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 |