Open
Conversation
================================= Enable FastLanes to compile with both Clang (Linux/MacOS) and MSVC (Windows). (This is a first step towards vcpkg packaging, which will make including FastLanes in a project easier. We need Windows not only because it is such a modern and nice OS, but also because it is a native platform for DuckDB and we want to use the future vcpkg version in the a DuckDB extension for FastLanes.) in detail: - New compiler.hpp portability header centralizing compiler-specific macros (vectorize pragmas, __builtin_clz/ctz, diagnostic push/pop) - CMakeLists.txt: accept MSVC alongside Clang, with appropriate flag mappings - Replace ~700 #pragma clang loop vectorize(enable) with FLS_PRAGMA_VECTORIZE - Replace #pragma GCC/clang diagnostic with portable FLS_DIAG_* macros - Add Windows implementation for memory_usage.cpp (GetProcessMemoryInfo) - Add MSVC compat shims to fsst12.h (matching existing fsst.h pattern) - Guard Clang-only -Wno-macro-redefined flags in 8 subdirectory CMakeLists.txt - Add /bigobj, /MP, /Zc:__cplusplus flags for MSVC builds - Split interpreter.cpp into encoding/decoding files to reduce MSVC compile time - Fix C++20 structured binding in range-for (unsupported by MSVC)
…msvc++ compile time passable for windows CI) make format
- add newer macos 26, deprecate 13 - remove debug/true builds as they are slow and flaky - add windows-arm as a platform - add mvsc test and example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enable FastLanes to compile with both Clang (Linux/MacOS) and MSVC (Windows).
in detail:
(This is a first step towards vcpkg packaging, which will make including FastLanes
in a project easier. We need Windows not only because it is such a modern and nice
OS, but also because it is a native platform for DuckDB and we want to use the
future vcpkg version in the a DuckDB extension for FastLanes.)