Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/TheNumbat/rpp
Browse files Browse the repository at this point in the history
  • Loading branch information
TheNumbat committed Jan 29, 2024
2 parents bf7cbf1 + 10aa0a4 commit 8a53eeb
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,11 @@ The following configurations are supported:
| OS | Compiler | Arch |
|---------|-------------|--------------|
| Windows | MSVC 19.37+ | x64 |
| Linux | Clang 17+ | Any |
| Linux | Clang 17+ | x64, aarch64 |
| macOS | Clang 17+ | x64, aarch64 |

Note that aside from MSVC on Windows, the [gcc vector extensions](https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html) (which are [implemented by clang](https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors)) are used to implement the SIMD operations. See `rpp/rpp/impl/simd.cpp`.
Except for MSVC on Windows, the [gcc vector extensions](https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html) (also [implemented by clang](https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors)) are used to emit SIMD operations.
On Linux, other architectures should therefore work, but they have not been tested.

Other configurations (GCC, etc.) may be added in the future.

Expand Down Expand Up @@ -278,6 +279,7 @@ For faster parallel builds, you can instead generate [ninja](https://ninja-build
- [ ] scheduler work stealing
- [ ] io_uring for Linux file IO
- [ ] sockets
- [ ] use relaxed atomics on aarch64
- Types
- [ ] Result<T,E>
- [ ] Map: don't store hashes of integer keys
Expand Down
1 change: 1 addition & 0 deletions rpp/base.h
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ void* memcpy(void* dest, const void* src, u64 bytes) noexcept;
[[nodiscard]] i32 snprintf(u8* buffer, u64 buffer_size, const char* fmt, ...) noexcept;
[[nodiscard]] i64 strtoll(const char* str, char** endptr, i32 base) noexcept;
[[nodiscard]] f32 strtof(const char* str, char** endptr) noexcept;
void free(void* ptr) noexcept;
void keep_alive() noexcept;

} // namespace Libc
Expand Down
4 changes: 4 additions & 0 deletions rpp/impl/base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ namespace rpp::Libc {
void keep_alive() noexcept {
}

void free(void* ptr) noexcept {
::free(ptr);
}

void exit(i32 code) noexcept {
::exit(code);
}
Expand Down

0 comments on commit 8a53eeb

Please sign in to comment.