Landing: fa4754797c29
Project / Subsystem
gcc / libstdc++
Date
2026-03-10
Author
Jonathan Wakely
Commit
fa4754797c2935e4e2be95f128e668d6499ec267
Source
github
Impact
7/10
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- libstdc++
- patch_id
- —
- commit_hash
- fa4754797c2935e4e2be95f128e668d6499ec267
- source_type
- github
- headline
- Libstdc++: Allow non-inline definition of std::print functions.
- tldr
- Introduces a macro to optionally disable inline definitions of `std::print` functions, reducing compile times.
- why_it_matters
- Inlining `std::print` can significantly increase compile times. This change gives users the option to trade some performance for faster builds.
- author
- Jonathan Wakely
- impact_score
- 7
- impact_rationale
- User-visible feature to control inlining, with significant impact on compile times in some cases.
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • libstdc++
- • std::print
- • compile time
- • inlining
- • optimization
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-03-10T00:00:00.000Z
This commit introduces the _GLIBCXX_NO_INLINE_PRINT macro. When defined, this macro prevents the std::vprint_unicode family of functions from being defined inline, instead using external definitions from libstdc++exp.a. This can drastically reduce compile times, especially in optimized builds, at the cost of potential runtime performance.