mirror of
https://github.com/fmtlib/fmt.git
synced 2026-07-30 16:26:27 +08:00
Merge 841a3c37f0edd2a2b15c146489b665a226a08ae5 into 17500e457b198c37c4374d142fa7a1d36e4651fe
This commit is contained in:
commit
c038937ddd
21
.github/workflows/linux.yml
vendored
21
.github/workflows/linux.yml
vendored
@ -179,6 +179,13 @@ jobs:
|
||||
sudo apt install locales-all
|
||||
cmake -E make_directory ${{runner.workspace}}/build
|
||||
|
||||
- name: Select matching C compiler
|
||||
run: |
|
||||
cc=${{matrix.cxx}}
|
||||
cc=${cc/clang++/clang}
|
||||
cc=${cc/g++/gcc}
|
||||
echo "CC=$cc" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Configure
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
env:
|
||||
@ -204,6 +211,18 @@ jobs:
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{runner.workspace}}/build
|
||||
run: ctest -C ${{matrix.build_type}}
|
||||
# clang++-3.6 predates the fix for LLVM PR16340 (the controlling
|
||||
# expression of _Generic wasn't decayed/qualifier-stripped before
|
||||
# type matching, fixed upstream in clang 3.8). That makes
|
||||
# FMT_MAKE_ARG's _Generic dispatch in fmt-c.h fail to match string
|
||||
# literals (e.g. "foo", of type char[4]) against the char*/const
|
||||
# char* cases, so they fall through to the 0-arg default case and
|
||||
# the call is passed too many arguments. This is a real, long-fixed
|
||||
# upstream compiler bug rather than a bug in fmt's macro, so only
|
||||
# c-test is skipped here for this one job; see the discussion on
|
||||
# https://github.com/fmtlib/fmt/pull/4863 for the full analysis.
|
||||
run: |
|
||||
exclude="${{ matrix.cxx == 'clang++-3.6' && '-E ^c-test$' || '' }}"
|
||||
ctest -C ${{matrix.build_type}} $exclude
|
||||
env:
|
||||
CTEST_OUTPUT_ON_FAILURE: True
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user