[libc] Make the errno macro resolve to the thread local variable directly.With modern architectures having a thread pointer and language supportingthread locals, there is no reason to use a functi
[libc] Make the errno macro resolve to the thread local variable directly.With modern architectures having a thread pointer and language supportingthread locals, there is no reason to use a function intermediary to accessthe thread local errno value.The entrypoint corresponding to errno has been replaced with an objectlibrary as there is no formal entrypoint for errno anymore.Reviewed By: jeffbailey, michaelrjDifferential Revision: https://reviews.llvm.org/D120920
show more ...
[libc][NFC] Move sys/mman entrypoints to the default build configs.Specifically, mmap and munmap have been moved to the default build listof entrypoints. To support this, certain deps and includes
[libc][NFC] Move sys/mman entrypoints to the default build configs.Specifically, mmap and munmap have been moved to the default build listof entrypoints. To support this, certain deps and includes have beenadjusted. The use of errno in some cases has been updated.
[libc][NFC] add "LlvmLibc" as a prefix to all test namesSummary:Having a consistent prefix makes selecting all of the llvm libc testseasier on any platform that is also using the gtest framework.
[libc][NFC] add "LlvmLibc" as a prefix to all test namesSummary:Having a consistent prefix makes selecting all of the llvm libc testseasier on any platform that is also using the gtest framework.This also modifies the TEST and TEST_F macros to enforce this changemoving forward.Reviewers: sivachandraSubscribers:
[libc][obvious] Move ErrnoSetterMatcher to test/ErrnoSetterMetcher.h.
[libc] Add fully-qualified target names.Only targets setup by the special LLVM libc rules now have fullyqualified names. The naming style is similar to fully qualified names inPython.Reviewers:
[libc] Add fully-qualified target names.Only targets setup by the special LLVM libc rules now have fullyqualified names. The naming style is similar to fully qualified names inPython.Reviewers: abrachet, PaulkaToast, phosekDifferential Revision: https://reviews.llvm.org/D77340
[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
[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, abrachetReviewed By: sivachandra, abrachetSubscribers: MaskRay, tschuett, libc-commitsTags: #libc-projectDifferential Revision: https://reviews.llvm.org/D77533
[libc] [NFC] Use matchers in testsSummary:Use `EXPECT_THAT` where possible in tests NFC intended.Added a `void *` template instantiation of `StreamWrapper::operator<<`Reviewers: sivachandra, P
[libc] [NFC] Use matchers in testsSummary:Use `EXPECT_THAT` where possible in tests NFC intended.Added a `void *` template instantiation of `StreamWrapper::operator<<`Reviewers: sivachandra, PaulkaToastReviewed By: sivachandraSubscribers: MaskRay, tschuett, libc-commitsDifferential Revision: https://reviews.llvm.org/D75717
[libc] Move the implementation of mmap and munmap into a linux specific area.This allows us to get rid of the PAGE_SIZE macro and use EXEC_PAGESIZEfrom linux/param.h.Few other points about this
[libc] Move the implementation of mmap and munmap into a linux specific area.This allows us to get rid of the PAGE_SIZE macro and use EXEC_PAGESIZEfrom linux/param.h.Few other points about this change:1. The linux syscall functions have been moved into a linux specific areainstead of src/unistd/syscall.h. The Linux syscall function from unistd.his a public vararg function. What we have currently are linux speciif internaloverloaded C++ functions. So, moving them to a Linux only area is moremeaningful.2. The implementations of mmap and munmap are now in a 'linux' directorywithin src/sys/mman. The idea here is that platform specificimplementations will live in a platform specific subdirectories like these.Infrastructure common to a platform will live in the platform's configdirectory. For example, the linux syscall implementations live inconfig/linux.Reviewers: abrachetTags: #libc-projectDifferential Revision: https://reviews.llvm.org/D73302