Skip to content

Commit ffdbc94

Browse files
committed
Merge branch 'master' of https://github.com/WerWolv/PatternLanguage into new_lexer
2 parents e79c143 + d5db3b2 commit ffdbc94

7 files changed

Lines changed: 41 additions & 9 deletions

File tree

.github/workflows/build.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979

8080
- name: ⬇️ Install dependencies
8181
run: |
82-
brew install llvm@20 ccache ninja
82+
brew install llvm ccache ninja
8383
8484
- name: 📜 Setup ccache
8585
uses: hendrikmuhs/ccache-action@v1
@@ -92,10 +92,10 @@ jobs:
9292
run: |
9393
mkdir -p build
9494
cd build
95-
CC=$(brew --prefix llvm@20)/bin/clang \
96-
CXX=$(brew --prefix llvm@20)/bin/clang++ \
97-
OBJC=$(brew --prefix llvm@20)/bin/clang \
98-
OBJCXX=$(brew --prefix llvm@20)/bin/clang++ \
95+
CC=$(brew --prefix llvm)/bin/clang \
96+
CXX=$(brew --prefix llvm)/bin/clang++ \
97+
OBJC=$(brew --prefix llvm)/bin/clang \
98+
OBJCXX=$(brew --prefix llvm)/bin/clang++ \
9999
cmake \
100100
-DCMAKE_BUILD_TYPE=Debug \
101101
-DCMAKE_INSTALL_PREFIX="$PWD/install" \

CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,17 @@ elseif (NOT (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC"))
3434
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-array-bounds>)
3535
endif()
3636

37+
if (APPLE)
38+
# On macOS, when using clang from Homebrew, properly setup the libc++ library path so
39+
# it's using the one from Homebrew instead of the system one.
40+
execute_process(COMMAND brew --prefix llvm OUTPUT_VARIABLE LLVM_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
41+
if (NOT LLVM_PREFIX STREQUAL "" AND ${CMAKE_CXX_COMPILER} STREQUAL "${LLVM_PREFIX}/bin/clang++")
42+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${LLVM_PREFIX}/lib/c++")
43+
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L${LLVM_PREFIX}/lib/c++")
44+
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -L${LLVM_PREFIX}/lib/c++")
45+
endif()
46+
endif()
47+
3748
if (CMAKE_CXX_COMPILER MATCHES "\\/em\\+\\+(-[a-zA-Z0-9.])?$")
3849
add_compile_definitions(OS_WEB)
3950
elseif (WIN32)

external/cli11

Submodule cli11 updated 193 files

external/libwolv

lib/include/pl/patterns/pattern.hpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,17 @@ namespace pl::ptrn {
573573
auto startHeap = this->m_evaluator->getHeap();
574574
ON_SCOPE_EXIT { this->m_evaluator->getHeap() = startHeap; };
575575

576+
// Preserve pattern variable name
577+
std::string patternName;
578+
if (value.isPattern()) {
579+
patternName = value.toPattern()->getVariableName();
580+
}
581+
ON_SCOPE_EXIT {
582+
if (!patternName.empty())
583+
value.toPattern()->setVariableName(patternName);
584+
};
585+
586+
576587
if (auto result = transformFunc->func(evaluator, { value }); result.has_value())
577588
return *result;
578589
}
@@ -593,6 +604,16 @@ namespace pl::ptrn {
593604
auto startHeap = this->m_evaluator->getHeap();
594605
ON_SCOPE_EXIT { this->m_evaluator->getHeap() = startHeap; };
595606

607+
// Preserve pattern variable name
608+
std::string patternName;
609+
if (literal.isPattern()) {
610+
patternName = literal.toPattern()->getVariableName();
611+
}
612+
ON_SCOPE_EXIT {
613+
if (!patternName.empty())
614+
literal.toPattern()->setVariableName(patternName);
615+
};
616+
596617
auto result = function->func(this->m_evaluator, { literal });
597618
if (result.has_value()) {
598619
if (fromCast && result->isPattern() && result->toPattern()->getTypeName() == this->getTypeName()) {

lib/source/pl/lib/std/string.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ namespace pl::lib::libstd::string {
6868
if constexpr (std::integral<i128>)
6969
return wolv::util::from_chars<i128>(string, base).value_or(0);
7070
else
71-
return wolv::util::from_chars<i64>(string, base).value_or(0);
71+
return i128(wolv::util::from_chars<i64>(string, base).value_or(0));
7272

7373
});
7474

0 commit comments

Comments
 (0)