[libc-commits] [PATCH] D130760: [libc][NFC] Use STL case for functional
Guillaume Chatelet via Phabricator via libc-commits
libc-commits at lists.llvm.org
Fri Jul 29 05:12:14 PDT 2022
gchatelet created this revision.
gchatelet added a reviewer: sivachandra.
Herald added subscribers: libc-commits, ecnelises, tschuett.
Herald added projects: libc-project, All.
gchatelet requested review of this revision.
Migrating all private STL code to the standard STL case but keeping it under the CPP namespace to avoid confusion.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D130760
Files:
libc/src/__support/CPP/Functional.h
libc/src/__support/CPP/functional.h
libc/test/src/__support/OSUtil/linux/x86_64/syscall_test.cpp
Index: libc/test/src/__support/OSUtil/linux/x86_64/syscall_test.cpp
===================================================================
--- libc/test/src/__support/OSUtil/linux/x86_64/syscall_test.cpp
+++ libc/test/src/__support/OSUtil/linux/x86_64/syscall_test.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "src/__support/CPP/Functional.h"
+#include "src/__support/CPP/functional.h"
#include "src/__support/OSUtil/syscall.h"
#include "utils/UnitTest/Test.h"
@@ -14,30 +14,30 @@
// We only do a signature test here. Actual functionality tests are
// done by the unit tests of the syscall wrappers like mmap.
- using __llvm_libc::cpp::Function;
+ using __llvm_libc::cpp::function;
- Function<long(long)> f([](long n) { return __llvm_libc::syscall(n); });
- Function<long(long, long)> f1(
+ function<long(long)> f([](long n) { return __llvm_libc::syscall(n); });
+ function<long(long, long)> f1(
[](long n, long a1) { return __llvm_libc::syscall(n, a1); });
- Function<long(long, long, long)> f2(
+ function<long(long, long, long)> f2(
[](long n, long a1, long a2) { return __llvm_libc::syscall(n, a1, a2); });
- Function<long(long, long, long, long)> f3(
+ function<long(long, long, long, long)> f3(
[](long n, long a1, long a2, long a3) {
return __llvm_libc::syscall(n, a1, a2, a3);
});
- Function<long(long, long, long, long, long)> f4(
+ function<long(long, long, long, long, long)> f4(
[](long n, long a1, long a2, long a3, long a4) {
return __llvm_libc::syscall(n, a1, a2, a3, a4);
});
- Function<long(long, long, long, long, long, long)> f5(
+ function<long(long, long, long, long, long, long)> f5(
[](long n, long a1, long a2, long a3, long a4, long a5) {
return __llvm_libc::syscall(n, a1, a2, a3, a4, a5);
});
- Function<long(long, long, long, long, long, long, long)> f6(
+ function<long(long, long, long, long, long, long, long)> f6(
[](long n, long a1, long a2, long a3, long a4, long a5, long a6) {
return __llvm_libc::syscall(n, a1, a2, a3, a4, a5, a6);
});
- Function<long(long, void *)> not_long_type(
+ function<long(long, void *)> not_long_type(
[](long n, void *a1) { return __llvm_libc::syscall(n, a1); });
}
Index: libc/src/__support/CPP/functional.h
===================================================================
--- libc/src/__support/CPP/functional.h
+++ libc/src/__support/CPP/functional.h
@@ -12,16 +12,16 @@
namespace __llvm_libc {
namespace cpp {
-template <typename Func> class Function;
+template <typename F> class function;
-template <typename Ret, typename... Params> class Function<Ret(Params...)> {
- Ret (*func)(Params...) = nullptr;
+template <typename R, typename... Args> class function<R(Args...)> {
+ R (*func)(Args...) = nullptr;
public:
- constexpr Function() = default;
- template <typename Func> constexpr Function(Func &&f) : func(f) {}
+ constexpr function() = default;
+ template <typename F> constexpr function(F &&f) : func(f) {}
- constexpr Ret operator()(Params... params) { return func(params...); }
+ constexpr R operator()(Args... params) { return func(params...); }
};
} // namespace cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130760.448591.patch
Type: text/x-patch
Size: 3291 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220729/9aa7d311/attachment-0001.bin>
More information about the libc-commits
mailing list