Commit Graph
3378 Commits
Author SHA1 Message Date
Victor Zverovich a2289b8593 Fix the build 2025-10-19 10:30:42 -07:00
Victor Zverovich e2aa06cd0a Workaround ABI incompatibility between clang ang gcc 2025-10-19 08:40:13 -07:00
Vladislav Shchapov 85f6ecc7a0 Add format_as support for std::variant and std::expected formatters (#4575)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2025-10-18 14:05:21 -07:00
Harry DenholmandHarry Denholm 378a5ab3c1 value-initialise the buffer array member of detail::ansi_color_escape so that it can be used in a constexpr context in MSVC; compiler rejects as non-constant due to 'uninitialized symbol' otherwise (#4581)
Co-authored-by: Harry Denholm <ishani@users.noreply.github.com>
2025-10-17 08:10:56 -07:00
Justin Riddell 31bed1bb65 Fix module fmt::join<string_view> (#4577)
FMT_USE_STRING_VIEW define was incorrectly not being defined when using
modules, so there was no appropriate formatter specialization for
std::string_view
Fixes #4379
2025-10-16 11:25:19 -07:00
LiangHu 8eebb4334b [fix] #4565 When using MSVC to compile v12.0.0, many compilation warn… (#4572) 2025-10-12 10:56:13 -07:00
Victor Zverovich 1234bc312e Apply clang-tidy 2025-10-11 07:58:17 -07:00
rohitsutreja b77a751625 Revert std::malloc/std::free to global malloc/free (#4569) (#4570) 2025-10-10 09:37:05 -07:00
rohitsutreja 8db24c0ea9 restore 'inline' for normalize_libcxx_inline_namespaces (#4571) 2025-10-10 07:49:53 -07:00
Fatih BAKIR 03c7e28965 write_demangled_name supports libc++ + clang-cl (#4560)
The current implementation assumes whenever we're on an FMT_MSC_VERSION
compiler, the standard library is MSVC's STL. However, with clang-cl we
have the possibility of using LLVM libc++ instead of MSVC STL. In that
scenario, the previous implementation produced the wrong demangled names
for RTTI types.

This patch detects the different combinations, and combines the existing
demangling implementations to produce the correct names and make all
tests pass on libc++ + clang-cl.
2025-10-08 12:23:57 -07:00
Victor Zverovich 47a18b2fe9 Minor cleanup 2025-10-07 13:52:59 -07:00
Martin Valgur b580360ab7 base.h: _BitInt is not available when Clang is used as a host compiler for NVCC (#4564) 2025-10-06 08:45:12 -07:00
Oleksandr Koval 486e7ba579 support std::optional holding cv-qualified types (#4562)
Fixes #4561
2025-10-03 04:40:44 -07:00
Victor Zverovich 27ea09836a Error on unsafe uses of join 2025-10-02 16:24:22 -04:00
Victor Zverovich b5b9317a3c Warn about unsafe use of join 2025-10-02 12:35:07 -04:00
teruyamato0731 b9ac8b225d style: Correct indentation in locale initialization (#4557) 2025-10-02 04:10:31 -07:00
Victor Zverovich 5f66e07cb0 Suppress an unused argument warning 2025-09-28 19:45:41 -04:00
Victor Zverovich 17be91c079 Fix a clang-tidy error 2025-09-26 08:28:51 -07:00
Victor Zverovich dcea616535 Fix compilation with locale disabled in header-only mode 2025-09-26 07:48:43 -07:00
SnapperTT a2fd48e039 Make FMT_USE_CONSTEVAL optional #4545 (#4546) 2025-09-24 11:00:41 -07:00
Nikita Tsarev e28c371c0f Fix ambiguous call to fprintf when compiling as a C++20 module (#4548) 2025-09-22 11:58:59 -07:00
Victor Zverovich 6b6cdd9405 Store size in a local variable while unchanged 2025-09-21 12:51:06 -07:00
Yuwei Zhao 4cce5f458d Perf: Optimize function append in include/fmt/base.h (#4541) 2025-09-21 12:40:26 -07:00
CrackedMatter b18ece7d71 Export is_compiled_string and operator""_cf (#4544) 2025-09-19 08:54:54 -07:00
Victor Zverovich ddd20d57ec Bump version 2025-09-17 09:14:47 -07:00
Victor Zverovich a3b3d7ed46 Simplify duration cast 2025-09-13 11:32:03 -07:00
Victor Zverovich 83189189a1 Remove get_dynamic_spec 2025-09-13 10:38:50 -07:00
Victor Zverovich 9bb14ffc47 Remove deprecated APIs 2025-09-13 10:07:16 -07:00
Victor Zverovich 556c4177b6 Remove deprecated localtime 2025-09-13 09:41:24 -07:00
Victor Zverovich bfdef8b15d Remove deprecated functions 2025-09-13 09:25:53 -07:00
Victor Zverovich 609188cb92 Cleanup macro definitions 2025-09-07 07:44:49 -07:00
Anas 0a94e06750 Combined emphases into a single escape sequence (#4528) 2025-09-05 09:50:56 -07:00
Victor Zverovich 619b3a5aa0 Suppress a false positive in clang-tidy 2025-09-01 11:42:00 -07:00
Victor Zverovich 79c7f8a70b Apply clang-tidy 2025-09-01 10:49:49 -07:00
Victor Zverovich 20e0d6d8dd Update docs 2025-09-01 10:15:54 -07:00
Victor Zverovich 02fb76d69b Add FMT_STATIC_FORMAT 2025-09-01 09:15:32 -07:00
Victor Zverovich a57f196cad Apply coding conventions 2025-09-01 07:24:08 -07:00
Victor Zverovich 13d4f8469e Remove deprecated vformat_to 2025-08-31 10:02:36 -07:00
Victor Zverovich e2f89e6d21 Remove deprecated aliases 2025-08-31 09:40:11 -07:00
Victor Zverovich 489fd7ca4b Simplify locale handling 2025-08-31 09:33:43 -07:00
Victor Zverovich 69324379f2 Mark detail::assert_fail as deprecated 2025-08-31 08:11:57 -07:00
Björn Schäpers ff1caa58c9 Use FMT_THROW in report_error (#4521)
With exceptions: No change (if FMT_THROW is not user provided)

Without exceptions: Now also states where it comes from (report_error)
and uses fprintf instead of fputs.

My motivation is, now that I have my own fmt::assert_failed, also to get
rid of fputs for my embedded build.
2025-08-31 08:05:54 -07:00
Björn Schäpers e181e94140 Add FMT_CUSTOM_ASSERT_FAIL (#4505)
That way one can provide ones own implementation for assert_fail, which
is moved out of the detail namespace. For binary compatibility the
detail version stays to call the outer version.
2025-08-25 09:02:00 -07:00
Victor Zverovich 8e4676e4a5 Remove deprecated template parameter 2025-08-24 09:52:17 -07:00
Victor Zverovich b5c4d25cd1 Rename is_char to is_code_unit 2025-08-24 09:30:50 -07:00
Victor Zverovich a77efa4b4a Move is_*char to detail 2025-08-24 09:16:18 -07:00
Victor Zverovich e7e71009c7 Make FP formatting compatible with exotic chars 2025-08-24 08:49:54 -07:00
Victor Zverovich b7b261977e Simplify report_error 2025-08-24 08:30:17 -07:00
Victor Zverovich 61e0503daf Merge workarounds for bogus MSVC warnings 2025-08-24 08:18:47 -07:00
Victor Zverovich 72c82296d6 Put FMT_END_* together 2025-08-17 12:25:40 -07:00