Repository navigation
Conversation
…18 baseline) <print> needs libstdc++ 14 and was the only reason numsim-core required GCC 14. print.h provides print/println with the same compile-time checked format strings on top of <format>, which libstdc++ 13 has. CI: gcc-13 and clang-18 (default libstdc++-13) join gcc-14 and clang-19.
petlenz
force-pushed
the
fix/gcc13-no-print
branch
from
October 1, 2026 20:17
412d640 to
dc9c08c
Compare
Member
Author
|
Replaced by the single simplified PR. |
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.
Why
<print>needs libstdc++ 14, which made GCC 14 the minimum for numsim-core and everything that depends on it (numsim-materials, numsim-fft-homogenization). The rest of the stack (numsim-fft, tmech) builds with GCC 13 and Clang 18. This aligns numsim-core with that baseline while keeping C++23.What
numsim-core/print.h:numsim_core::print/println(optionally to aFILE*) on top of<format>, with compile-time checked format strings likestd::print.input_parameter_controller.huses it instead ofstd::println.tests/print.Verified locally
Full test suite (66 tests) with g++-13, g++-14 and clang++-18; the header also compiles with clang++-18 against libstdc++-13.