Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 3 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,16 @@ jobs:
- ubuntu-24.04
- macos-15
compiler:
- clang-18
- clang-19
- gcc-15
- msvc
exclude:
- os: windows-2025
compiler: gcc-14
compiler: gcc-15
- os: ubuntu-24.04
compiler: msvc
- os: macos-15
compiler: msvc
- os: macos-15
compiler: clang-18
env:
os-name: ${{ contains(matrix.os, 'windows') && 'Windows' || (contains(matrix.os, 'ubuntu') && 'Linux' || 'MacOS') }}
steps:
Expand All @@ -46,22 +44,11 @@ jobs:
- name: Setup Cpp
uses: aminya/setup-cpp@v1
with:
# Skip compiler setup for macos clang
compiler: ${{ (contains(matrix.os, 'macos') && contains(matrix.compiler, 'clang')) && '' || matrix.compiler }}
compiler: ${{ matrix.compiler }}
vcvarsall: ${{ contains(matrix.os, 'windows') }}
cmake: true
ninja: true

- name: (MacOS) Install clang through brew
if: contains(matrix.os, 'macos') && contains(matrix.compiler, 'clang')
run: |
brew install llvm@18
export LLVM_DIR="$(brew --prefix llvm@18)/lib/cmake"
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
echo "$(brew --prefix llvm@18)/bin" >> $GITHUB_PATH
brew link --overwrite llvm@18

- name: Cache Build
uses: actions/cache@v4
with:
Expand Down
6 changes: 3 additions & 3 deletions Include/PipePlatform.h
Original file line number Diff line number Diff line change
Expand Up @@ -199,17 +199,17 @@ namespace p
// An 8-bit character type - In-memory only. 8-bit representation. Should
// really be char8_t but making this the generic option is easier for
// compilers which don't fully support C++11 yet (i.e. MSVC).
using Char8 = unsigned char;
using Char8 = char8_t;

// A 16-bit character type - In-memory only. 16-bit representation. Should
// really be char16_t but making this the generic option is easier for
// compilers which don't fully support C++11 yet (i.e. MSVC).
using Char16 = unsigned short int;
using Char16 = char16_t;

// A 32-bit character type - In-memory only. 32-bit representation. Should
// really be char32_t but making this the generic option is easier for
// compilers which don't fully support C++11 yet (i.e. MSVC).
using Char32 = unsigned int;
using Char32 = char32_t;

// unsigned int the same size as a pointer
using uPtr = SelectIntPointerType<std::uint32_t, std::uint64_t, sizeof(void*)>::TIntPointer;
Expand Down
4 changes: 3 additions & 1 deletion Src/Core/StringView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,16 @@

#include "Pipe/Core/StringView.h"

#include "Pipe/Extern/fast_float.h"


namespace p::Strings
{
template<typename T>
TOptional<T> InternalToNumber(StringView str)
{
T val;
if (std::from_chars(str.data(), str.data() + str.size(), val).ec == std::errc{})
if (fast_float::from_chars(str.data(), str.data() + str.size(), val).ec == std::errc{})
{
return val;
}
Expand Down
Loading
Loading