3430 Commits

Author SHA1 Message Date
Cazadorro
03cfb8645e
Workaround a CUDA issue in handing UTF-32 literals (#4719) 2026-04-10 16:28:52 -07:00
Raúl Marín
4ccf1d4faf
Fix out-of-bounds read in vprintf with trailing '%' (#4742) 2026-04-10 12:23:57 -07:00
Mike Vastola
be98ea8add
Fix bug re: return type of f(un)lockfile wrappers for Windows (#4739)
Just a tiny bugfix I spotted: The `f(un)lockfile` wrappers in
`format-inl.h` that wrap Windows's `_(un)lock_file` methods are
defined with a trailing return type derived by using decltype on a
hypothetical call to the underlying functions.

The wrappers don't contain a `return` in their bodies, however, so if
the return type of the underlying functions were to ever change from
`void`, there would be a compile error. This just adds `return` to each.
2026-04-10 08:01:13 -07:00
Victor Zverovich
d2a159fbe7 Apply clang-format 2026-04-03 17:35:28 -07:00
Victor Zverovich
602df7dab8 Simplify copy 2026-03-28 09:33:45 -07:00
user202729
7b2c4d064b
Speed up iterator_buffer (#4679) 2026-03-25 07:38:47 -07:00
Victor Zverovich
dc05bee307 Don't assume nul termination in printf
Thanks ZUENS2020 for reporting.
2026-03-23 13:28:26 -07:00
sunmy2019
ea85b81ccd
Support fmt::runtime with wchar_t in fmt::format_to_n (#4715) 2026-03-21 17:10:17 -07:00
Victor Chernyakin
ae6fd83e2e
Make fmt/fmt-c.h compile with Clang on Windows (#4712) 2026-03-13 17:51:48 -07:00
Aaron Gokaslan
c0cd0fcfec
Add missing moves to grouping std::string member (#4704) 2026-03-11 09:52:40 -07:00
Victor Zverovich
c29b64dde7 Cleanup the C API 2026-03-08 14:33:23 -07:00
Ferdinand Bachmann
eb03303099
Replace the dummy arg from compound initializers in the C API with more macro magic (#4696)
The dummy argument {fmt_int} was there as a workaround for MSVC and to
avoid needing to rely on another GCC extension for zero-size arrays. Use
macro magic similar to FMT_NARG() instead that replaces the problematic
zero-size array with NULL.

In order to avoid a quadratic number of expansions, defer creating the
mapped argument list until after selection of whether to use NULL or
the fmt_arg array.

Signed-off-by: Ferdinand Bachmann <ferdinand.bachmann@yrlf.at>
2026-03-07 07:55:51 -08:00
Victor Zverovich
c8a6fd9177 Minor cleanup 2026-03-05 16:52:21 -08:00
Victor Zverovich
d38881410a Deprecated initializer_list join 2026-03-05 16:42:07 -08:00
Yancey
8277ee6aa0
Update fmt::join to support more character types (#4686) 2026-03-04 08:14:08 -08:00
Victor Zverovich
af9bb5c075 Mark detail::named_arg as deprecated 2026-03-03 08:22:10 -08:00
TPPPP
db4bea83d6
Move named_arg to public API (#4687) 2026-02-28 15:34:39 -08:00
Bernd Petrovitsch
82553a7a5b
wrap macro arguments in parentheses for robustness (#4681)
Co-authored-by: Bernd Petrovitsch <bernd@sysprog.at>
2026-02-24 10:20:12 -08:00
Aaron Gokaslan
8d3f731763
Mark static arrays as constexpr for binary opt (#4680) 2026-02-23 17:08:35 -08:00
Victor Zverovich
60d5d0cec6 Workaround broken _Generic in MSVC 2026-02-21 15:04:38 -08:00
Victor Zverovich
9e5bb7ef77 Cleanup the C API 2026-02-21 11:46:23 -08:00
Soumik15630m
1dc644e021
Add C11 API with type-safe formatting (#4663) (#4671) 2026-02-16 07:06:32 -08:00
Stéén
b35de87ad9
std.h: Allow formatting std::unexpected type. (#4675)
In some cases, people might want to format the std::unexpected type itself,
independent of the value type, this commit makes it possible.

Co-authored-by: Robin Oger <robin.oger.work@gmail.com>
2026-02-11 15:06:59 -08:00
Ruriwo
2d7dc922c6
Suppress warning C4305 (#4668) 2026-02-06 09:37:08 -08:00
ssszcmawo
28b082cc2b
Cleanup documentation (#4667)
* Cleanup documentation

* Fix comment typo in fmt::formatter struct

* Fix formatting and grammar in api.md

Corrected formatting and grammar in the API documentation.
2026-02-04 18:47:47 -08:00
Mike Vastola
2eda43e9be
Add FMT_USE_FLOCKFILE macro to force has_flockfile trait to false (#4666)
Fixes fmtlib/fmt#4646
2026-02-03 12:45:07 -08:00
Victor Zverovich
eb99f6eba6 Move std::byte formatter to std.h 2026-02-03 10:16:20 -08:00
Victor Zverovich
b98926b73b uint128_fallback -> uint128 2026-02-02 19:13:14 -08:00
Victor Zverovich
6322cf0520 int128_opt -> native_int128 2026-02-02 18:17:30 -08:00
Victor Zverovich
8dfd23651c Cleanup 2026-02-02 17:30:46 -08:00
Victor Zverovich
3f98b54bd7 Move _BitInt next to bitref formatter 2026-02-02 17:08:10 -08:00
Victor Zverovich
27b7be63bf Remove unnecessary pragmas 2026-02-02 11:40:58 -08:00
Victor Zverovich
48967e1b6f Cleanup named args 2026-02-02 11:08:01 -08:00
Victor Zverovich
39e15aff74 Fix template argument ordering 2026-02-02 10:44:37 -08:00
Victor Zverovich
d04c9801a7 Dedup compile check enforcement 2026-02-01 20:14:07 -08:00
Victor Zverovich
8976e3245a Deprecate array vformat_to 2026-02-01 11:12:50 -08:00
Victor Zverovich
45ed657df3 Cleanup locking 2026-02-01 11:09:19 -08:00
Victor Zverovich
b9dc684649 Suppress useless conversion warnings 2026-01-31 20:46:17 -08:00
Victor Zverovich
f3d510c10c Improve compatibility with std::format 2026-01-31 20:25:18 -08:00
Victor Zverovich
76d480c6fd Cleanup handling of adaptors 2026-01-31 19:49:52 -08:00
Victor Zverovich
e55a02b39a Minor cleanup 2026-01-31 14:00:51 -08:00
Victor Zverovich
c3f0391efd Remove old diagnostic suppression 2026-01-30 18:11:48 -08:00
Victor Zverovich
88f41bbdc0 Reduce noise 2026-01-30 17:45:16 -08:00
Victor Zverovich
0007426c2d Make deprecated include an opt in 2026-01-30 12:20:54 -08:00
Soumik15630m
5cc5072aa6
Fix range suppresor formatter (#4660) 2026-01-30 06:39:00 -08:00
Victor Zverovich
cf74caae38 Simplify warning suppression 2026-01-29 22:23:50 -08:00
Victor Zverovich
71c63792dd Move _BitInt to format.h 2026-01-29 21:54:47 -08:00
Victor Zverovich
26c6b1c23d Move copy to format.h 2026-01-29 21:30:20 -08:00
Victor Zverovich
b2a96c6087 Stop doing heroics for pathological user code 2026-01-29 21:12:06 -08:00
Victor Zverovich
45f230b9b2 Remove const_check 2026-01-29 20:18:18 -08:00