mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-05-16 02:46:31 +00:00

Found while running libc++'s test suite with MSVC's STL. `ADDITIONAL_COMPILE_FLAGS` is a `ParserKind.LIST`:3c23ed156f/libcxx/utils/libcxx/test/format.py (L104-L108)
With a comma-separated example:3c23ed156f/libcxx/utils/libcxx/test/format.py (L223-L228)
And comma-separated test coverage:dd3184c30f/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp (L12-L15)
Because the machinery splits on commas:dd09221a29/llvm/utils/lit/lit/TestRunner.py (L1882-L1883)
dd09221a29/llvm/utils/lit/lit/TestRunner.py (L1951-L1956)
However, most (although not all) usage of `ADDITIONAL_COMPILE_FLAGS` is treating it as space-separated. That apparently works in the normal Clang environment, but in my exotic configuration it causes `"-DMEOW -DWOOF"` to be passed as a single argument to MSVC, which then emits "warning C5102: ignoring invalid command-line macro definition `'_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT'`", causing test failures due to warnings-as-errors. This PR changes `ADDITIONAL_COMPILE_FLAGS` to actually be parsed as a space-separated list, and changes the few uses/examples that had commas.