2546 Commits

Author SHA1 Message Date
timsong-cpp
08ef0d0842
fix formatter<char*> (#3432) 2023-05-20 06:32:21 -07:00
Florimond Collette
d60b907f87
Replace mod_inv_25 by explicit value (#3450) 2023-05-18 11:26:19 -07:00
Florimond Collette
4ce086f731
remove code duplication (#3448)
* remove code duplication

* new interface for remove_trailing_zeros(uint32_t& n, int s = 0)

---------

Co-authored-by: Florimond Collette <4939681+florimondcollette@users.noreply.github.com>
2023-05-18 08:27:57 -07:00
Victor Zverovich
821f8cdb45 Detemplatize printf more 2023-05-17 12:34:12 -07:00
Victor Zverovich
0bf6ed7e1d Cleanup printf 2023-05-17 10:53:25 -07:00
Victor Zverovich
e40e04face Detemplatize printf_arg_formatter 2023-05-17 10:05:46 -07:00
Victor Zverovich
0a1c27281a Detemplatize basic_printf_context 2023-05-17 09:29:20 -07:00
Victor Zverovich
2f605cc896 Deprecate wide printf 2023-05-17 08:58:55 -07:00
Victor Zverovich
1d54499ac0 Apply coding conventions 2023-05-17 08:21:13 -07:00
Victor Zverovich
3c6053c535 Cleanup basic_printf_context 2023-05-17 07:57:53 -07:00
Victor Zverovich
4a392adaa7 Remove basic_printf_parse_context 2023-05-17 07:47:42 -07:00
Victor Zverovich
b14913fae5 FMT_MODULE_EXPORT -> FMT_EXPORT 2023-05-17 07:38:06 -07:00
Arnaud Desitter
2117df299c
format-inl.h: address implicit int to bool conversion (#3446) 2023-05-17 06:39:20 -07:00
Victor Zverovich
616a493786 Revert Char* formatter removal 2023-05-17 06:11:11 -07:00
Barry Revzin
9a034b0d55
Always assert in FMT_THROW (#3439) 2023-05-17 06:04:36 -07:00
Victor Zverovich
e0fc0e85e3 Remove unneeded FMT_API 2023-05-16 17:25:20 -07:00
Victor Zverovich
552c43aba9 Improve long formatters 2023-05-14 07:07:36 -07:00
Victor Zverovich
d6846f4ac8 Clarify why byte formatter is in core 2023-05-13 08:04:53 -07:00
Victor Zverovich
aeedac5884 Remove unneeded specialization 2023-05-13 07:46:47 -07:00
Victor Zverovich
697e76ba30 Don't call init_named_args unnecessarily 2023-05-12 11:53:22 -07:00
Victor Zverovich
a425e0ff3b Cleanup xchar API 2023-05-12 07:05:14 -07:00
Victor Zverovich
c36dd825ba Remove unnecessary forwarding 2023-05-12 06:45:49 -07:00
Victor Zverovich
130b8fcdb9 Reduce template instantiations 2023-05-11 20:18:34 -07:00
Victor Zverovich
a47e8419be Cleanup the core API 2023-05-11 19:07:56 -07:00
Victor Zverovich
ea49c91cd1 Cleanup argument construction 2023-05-11 18:43:39 -07:00
Patrick Geltinger
d7592ad8bf
Fix time_point formatting for durations with certain ratios (#3430)
* Fix time_point formatting

* Add timestamps_ratios tests
2023-05-11 15:25:21 -07:00
Victor Zverovich
5780269d57 Improve API safety 2023-05-11 10:19:56 -07:00
Victor Zverovich
b471192160 Fix a comment 2023-05-11 09:39:53 -07:00
Victor Zverovich
8f18e72df5 Improve API safety 2023-05-11 06:32:58 -07:00
Victor Zverovich
93d7cb12f1 Fix formatting 2023-05-10 16:29:47 -07:00
Victor Zverovich
0e4278717b Remove unused macro 2023-05-10 16:27:16 -07:00
Victor Zverovich
93a30a0746 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode 2023-05-10 16:26:02 -07:00
Victor Zverovich
5cf2342aa2 Bump version 2023-05-09 15:37:01 -07:00
Victor Zverovich
c984df9815 Remove an unused function from internal class 2023-05-08 13:35:23 -07:00
Victor Zverovich
1e0ce567ef Fix formatting of paths containing invalid Unicode 2023-05-07 10:05:15 -07:00
Vladislav Shchapov
dde8cf3bb7 Unification utf16/utf32 to utf8 conversion
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-05-06 08:32:51 -07:00
Victor Zverovich
f61f15cc5b Suppress a false positive in gcc 2023-05-06 06:54:30 -07:00
Daniela Engert
192df93d7b
modules missing pieces (#3399)
- don't export names from `detail`
- put more headers into the global module fragment
- support MSYS2 and Clang
2023-05-05 10:21:18 -07:00
Victor Zverovich
02cae7e48a Improve handling of Unicode in paths 2023-04-30 09:58:59 -07:00
Daniela Engert
f449ca0525
Name vfprintf clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. (#3400) 2023-04-23 07:10:57 -07:00
Victor Zverovich
18154cc903 Simplify print 2023-04-22 14:03:40 -07:00
Daniela Engert
c039389223
export names only once (#3392)
names declared to be exported at the point of introduction into a namespace *must not* be (re-)declared as exported later in the TU, e.g. when they are redeclared, defined, or specialized. [module.export]/6

Drive-by fix found during module testing: add a missing `detail::` name qualification
2023-04-22 06:21:06 -07:00
Louis Wilson
93e81bb5d8
Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398) 2023-04-20 17:36:05 -07:00
Daniela Engert
18e7a2532b
Remove obsolete msvc workarounds (#3388)
This bug in the modules implementation is fixed since at least msvc 19.34, possibly even earlier like 19.32.
2023-04-19 17:09:51 -07:00
Daniela Engert
0489c19dcb
fix and improve module (#3386)
* export public documented API
* don't export `namespace detail`
* add `std.h` into module
* add missing namespace qualification in `xchar.h`
* fix call to `detail::get_iterator` in `xchar.h`
* fix ambiguous overload of `detail::isfinite` in `chrono.h`
2023-04-18 06:47:01 -07:00
Victor Zverovich
d8a2698e6c Fix compilation as a C++20 module with gcc 13 2023-04-14 09:49:07 -07:00
June Liu
33f7150778
Fix error C2668 on msvc (#3378) 2023-04-11 06:27:28 -07:00
Victor Zverovich
c98e5a08a4 Fix modular build on clang 2023-04-10 12:07:25 -07:00
Victor Zverovich
77eeb71830 Remove unused headers 2023-04-10 09:08:19 -07:00
Victor Zverovich
1d0257e4c0 FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 2023-04-10 08:33:39 -07:00
Victor Zverovich
4613d48fd3 FMT_EXPORT -> FMT_LIB_EXPORT 2023-04-10 08:24:23 -07:00
Victor Zverovich
4a4a2a2bd6 Fix diagnostics 2023-04-09 09:30:20 -07:00
Victor Zverovich
fce74caa15 Disable problematic implicit conversions 2023-04-09 09:08:46 -07:00
Victor Zverovich
02bf4d1c1c Disable to_string_view ADL 2023-04-09 08:49:05 -07:00
Victor Zverovich
466e0650ec Remove problematic workaround 2023-04-09 08:04:11 -07:00
Björn Schäpers
7f46cb75b8
ranges: Fix extra semi (#3374) 2023-04-06 08:31:07 -07:00
Vladislav Shchapov
97aedeab48
Workaround a double-double hexfloat format (#3366)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-04-01 07:19:23 -07:00
Victor Zverovich
bce8d4ed08 Remove stray comment 2023-03-27 11:04:00 -07:00
Victor Zverovich
a91c7b286d Cleanup the core API 2023-03-26 21:07:26 -07:00
Victor Zverovich
19c074e477 Remove deprecated fallback formatter 2023-03-26 08:45:06 -07:00
Victor Zverovich
41cfc739fe Generalize format_as 2023-03-26 07:37:51 -07:00
Victor Zverovich
6002ddf825 Remove a deprecated option 2023-03-19 12:17:43 -07:00
Victor Zverovich
6549ffde8e Improve format_as safety 2023-03-19 12:09:54 -07:00
Alecto Irene Perez
d9bc5f1320 Fix code causing spurious Wstringop-overflow warning
See #2989, #3054, and others
2023-03-18 09:29:54 -07:00
Victor Zverovich
9c5cd998d1 Remove unused functions 2023-03-18 08:40:16 -07:00
Barry Revzin
93bfa05382
%T is %H:%M:%S (#3349) 2023-03-18 07:16:22 -07:00
TheOmegaCarrot
d8e1c4265a
fix case of variant which is valueless by exception (#3347)
Co-authored-by: theomegacarrot <theomegacarrot@gmail.com>
2023-03-18 07:07:06 -07:00
tmartin-gh
e1720c0e51
Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352) 2023-03-17 11:35:35 -07:00
Gleb Mazovetskiy
7f882918eb
write_floating_seconds: Fall back to ::round (#3343)
On some toolchains, `std::round` is not available.

Fixes #3342
2023-03-12 09:34:19 -07:00
Shawn Zhong
cbc7b8d5c1
Cleanup dead variable (#3338) 2023-03-10 09:17:43 -08:00
Vladislav Shchapov
050293646f
Path is not escaped twice in the debug mode (#3321)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-03-05 08:01:06 -08:00
Cloyce D. Spradling
3daf33837c
Enable consteval for Xcode 14.0.1 and later (#3331)
Co-authored-by: Cloyce D. Spradling <cloyce_spradling@apple.com>
2023-03-04 09:22:43 -08:00
Victor Zverovich
e0748e61dd Fix recursion check in range formatting 2023-03-04 08:20:32 -08:00
Victor Zverovich
98699719f8 Make # handling consistent with std::format 2023-02-26 10:15:16 -08:00
Vladislav Shchapov
73b7cee7fb
Fix for issue #3325 (#3326)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-02-26 06:59:41 -08:00
tom-huntington
5b8302079d
Add optional support (#3303) 2023-02-25 06:45:56 -08:00
luzpaz
3a69529e8b
Fix various typos (#3312)
Found via `codespell -q 3 -S ./test/gtest -L "fo,pres,seh,wronly"`
2023-02-21 15:14:41 -08:00
Victor Zverovich
76f520835f Call element parse in tuple parse 2023-02-20 12:54:20 -08:00
Victor Zverovich
507c3042d8 class -> typename 2023-02-18 10:23:42 -08:00
Victor Zverovich
1741e90dec Always call parse in range formatter 2023-02-18 09:58:37 -08:00
Froster
b5c2f74f45
change sopen_s to wsopen_s (fmtlib#3234) (#3293) 2023-02-16 11:17:55 -08:00
Russell Greene
6e6eb63770 [msvc] fix warning about non-inline variable 2023-02-11 09:45:13 -08:00
Victor Zverovich
655046d24f Fix container adaptor formatting 2023-02-10 09:45:37 -08:00
Shawn Zhong
581c6292c9
Add formatters for container adapters (#3279) 2023-02-08 17:25:41 -08:00
Shawn Zhong
7718eeeacc
Implement glibc ext for sec, min, and hour (#3271) 2023-02-08 09:22:58 -08:00
Victor Zverovich
44e0eea94e Use FMT_HAS_INCLUDE and apply clang-format 2023-02-08 07:19:10 -08:00
Roman-Koshelev
99070899b7
Fix errors setting of FMT_USE_FLOAT128 (#3259) 2023-02-08 07:15:02 -08:00
Barry Revzin
05e3a9233a
Allowing formatting non-copyable ranges. (#3290) 2023-01-27 12:29:57 -08:00
Ivan Shynkarenka
70db193f09
Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288) 2023-01-26 11:46:30 -08:00
Victor Zverovich
a2c05a10ec Workaround a bug in MSVC <= 19.22 2023-01-25 10:34:28 +13:00
Victor Zverovich
cae9bf45b9 Simplify apidoc comments 2023-01-25 09:32:03 +13:00
Shawn Zhong
87c066a35b
Implement println (#3267) 2023-01-24 12:30:00 -08:00
Vladislav Shchapov
9409b2e4d8
Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-01-22 11:29:34 -08:00
jk-jeon
f89cd276f7
Refactor countl_zero fallback (#3276) 2023-01-17 15:04:34 -08:00
Victor Zverovich
240b728d81 Report an error on overflow 2023-01-18 11:52:33 +13:00
Shawn Zhong
dfbb952b2c
Fix empty spec for time point (#3275) 2023-01-16 11:48:00 -08:00
Shawn Zhong
39971eb336
Fix localized format for float-point numbers (#3272) 2023-01-15 11:47:24 -08:00
jk-jeon
0f42c17d85
Implement a new formatting algorithm for small given precision (#3269)
Implement the formatting algorithm for small given precision discussed in https://github.com/fmtlib/fmt/issues/3262 and https://github.com/fmtlib/fmt/pull/2750
2023-01-14 11:30:20 -08:00
Kenny Weiss
bfc0924eac
Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256) 2023-01-13 11:36:00 -08:00
Shawn Zhong
676c2a107e
Fix negative subsec for time_point (#3261) 2023-01-11 11:36:50 -08:00