Fix build using newest gcc(10/11) with new msys/mingw toolchains#333
Open
sebres wants to merge 2 commits intointel:masterfrom
Open
Fix build using newest gcc(10/11) with new msys/mingw toolchains#333sebres wants to merge 2 commits intointel:masterfrom
sebres wants to merge 2 commits intointel:masterfrom
Conversation
…ild in sub-directory (take a look into `include/boost` before `include`); otherwise `cd build/Release_x64; cmake -S ../.. -B .` may fail, because it cannot find linked boost folder.
…SVC anymore (using _MSC_VER instead)
Author
|
Just for the record (as reference), there is old PR #36 that may target similar issue. |
GerHobbelt
pushed a commit
to GerHobbelt/hyperscan
that referenced
this pull request
Aug 31, 2025
Multiple changes since last release, this will be the last 100% ABI and API compatible with Hyperscan release. Next versions will include major refactors and API extensions, it will be mostly backwards compatible however. Without particular order, platform support is now: * Linux (x86, Arm, Power) * FreeBSD 14 (x86, Arm, Power) * MacOS 14+ (x86, Arm) In total more than 200 configurations in the CI are tested for every PR. Other features: - Fat Runtime supported for Arm as well (ASIMD/SVE/SVE2). - Initial implementations for Arm SVE/SVE2 algorithms added, thanks to Yoan Picchi from Arm. - SIMDe support added, used as an alternative backend for existing platforms, but mostly interesting for allowing Vectorscan to build in new platforms without a supported SIMD engine. - Various speedups and optimizations. - Cppcheck and clang-tidy fixes throughout the code, both have been added to CI for multiple configurations, but only cppcheck triggers a build failure for now. Various bugfixes, most important listed: - Speed up truffle with 256b TBL instructions (intel#290) - Fix Clang Tidy warnings (intel#295) - Clang 17+ is more restrictive on rebind<T> on MacOS/Boost, remove warning (intel#332) - partial_load_u64 will fail if buf == NULL/c_len == 0 (intel#331) - Bugfix/fix avx512vbmi regressions (intel#335) - fix missing hs_version.h header (closes intel#198) - hs_valid_platform: Fix check for SSE4.2 (intel#310) - Fixed out of bounds read in AVX512VBMI version of fdr_exec_fat_teddy … (intel#333) - Fix noodle SVE2 off by one bug (intel#313) - Make vectorscan accept \0 starting pattern (intel#312) - Fix 5.4.11's config step regression (intel#327) - Fix double shufti's vector end false positive (intel#325)
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.
Issue
Build with newest msys/mingw toolchain using gcc/g++ compiler fails because it confuses GNU and MSVC compilers.
Option
_WIN32is defined now and so cannot be used anymore to detect gcc as opposed to msvc starting from gcc v.10.Details
The excerpts of prepro-defines declared for gcc now ...
For windows platform (
WIN32or_WIN32set), the compilers can be detected using following preprocessor defines:defined(__GNUC__)(defined(__GNUC__) && !defined(__clang__))defined(__clang__)defined(_MSC_VER)Or using related
BOOST_COMP_*defines since hyperscan already includes boost.Fix
Proposed PR fixes the issue with misdetected (msvc) compiler using
_MSC_VERinstead of_WIN32in minimalist approach, so one is able to build hyperscan with modern gcc compilers hereafter.Note
The PR including #332 at the moment, I could rebase the branch to HEAD without 8306d2f if desired.
Toolchain and platform details
Details