diff --git a/src/Context/context.hpp b/src/Context/context.hpp index d149eb2..92c0cdb 100644 --- a/src/Context/context.hpp +++ b/src/Context/context.hpp @@ -366,6 +366,7 @@ namespace Fig } assert(false); + return Function(); // ignore warning } const Function &getImplementedMethod(const TypeInfo &structType, @@ -385,6 +386,7 @@ namespace Fig return parent->getImplementedMethod(structType, functionName); assert(false); // not found + throw ""; // ignore warning } void printStackTrace(std::ostream &os = std::cerr, int indent = 0) const diff --git a/src/Evaluator/evaluator.cpp b/src/Evaluator/evaluator.cpp index 1e05514..79d1e87 100644 --- a/src/Evaluator/evaluator.cpp +++ b/src/Evaluator/evaluator.cpp @@ -984,6 +984,7 @@ namespace Fig } default: assert(false); + return Object::getNullInstance(); // ignore warning } } StatementResult Evaluator::evalBlockStatement(Ast::BlockStatement block, ContextPtr ctx) diff --git a/src/Value/value.cpp b/src/Value/value.cpp index 491e8db..110535c 100644 --- a/src/Value/value.cpp +++ b/src/Value/value.cpp @@ -76,6 +76,7 @@ namespace Fig return std::hash{}(si.parentType) + std::hash{}(reinterpret_cast(std::addressof(*si.localContext))); } assert(false); + throw ""; // ignore warning } } diff --git a/xmake.lua b/xmake.lua index 61522ab..d910984 100644 --- a/xmake.lua +++ b/xmake.lua @@ -8,17 +8,20 @@ target("Fig") set_languages("c++23") if is_plat("linux") then + -- Linux: clang + libc++ set_toolchains("clang") add_cxxflags("-stdlib=libc++") add_ldflags("-stdlib=libc++") - elseif is_plat("windows") then - set_toolchains("mingw") - add_cxxflags("-stdlib=libc++") - add_ldflags("-static") elseif is_plat("mingw") then - set_toolchains("mingw") - add_cxxflags("-static") - add_ldflags("-static") + -- 1. CI cross (Linux -> Windows) + -- 2. local dev (Windows + llvm-mingw) + set_toolchains("clang") + -- static lib + add_cxxflags("-target x86_64-w64-mingw32", "-static") + + -- add_ldflags("-target x86_64-w64-mingw32", "-static") + -- add_cxxflags("-stdlib=libc++") + -- add_ldflags("-stdlib=libc++") end add_ldflags("-Wl,--stack,268435456")