2505 Commits

Author SHA1 Message Date
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
Shawn Zhong
dda53082be
Support fill, align & width for time point (#3260) 2023-01-09 11:25:31 -08:00
Victor Zverovich
2622cd23e6 Simplify arg_mapper 2023-01-03 16:35:21 -08:00
Victor Zverovich
9e4a54fa6e Disable remaining implicit conversions 2023-01-03 12:08:42 -08:00
Victor Zverovich
9ce6480676 Disble deprecated implicit enum conversions 2023-01-03 10:24:31 -08:00
Victor Zverovich
9121f9b1d3 Enable format_as for classes 2023-01-03 08:58:23 -08:00
Victor Zverovich
b7535365b2 Enable format_as for non-integral types 2023-01-02 13:37:13 -08:00
Victor Zverovich
0ec65d99aa Merge parse_presentation_type into parse_format_specs 2023-01-02 09:19:32 -08:00
Victor Zverovich
71e4e02722 Cleanup vprintf 2023-01-02 08:37:00 -08:00
Victor Zverovich
aad546baa5 Simplify presentation type parsing 2023-01-01 16:14:17 -08:00
Victor Zverovich
14a69fcc54 Use parse_align 2023-01-01 10:44:55 -08:00
Victor Zverovich
bf34ffd33f Refactor format string parsing 2023-01-01 10:21:47 -08:00
Victor Zverovich
6056e07125 Simplify symbols 2022-12-30 19:35:05 -08:00
Victor Zverovich
aa99b86409 Minor cleanup 2022-12-30 18:51:15 -08:00
Victor Zverovich
6ade2eb4e5 Inline all_int_set 2022-12-30 17:05:08 -08:00
Victor Zverovich
caa6974942 Simplify parse functions 2022-12-30 16:34:36 -08:00
Victor Zverovich
a73a9b6a84 Refactor format string checks 2022-12-30 16:03:41 -08:00
Victor Zverovich
72785a3aba Cleanup write 2022-12-30 13:53:55 -08:00
Victor Zverovich
0c3dd5ddd7 Remove redundant check 2022-12-30 12:55:19 -08:00
Victor Zverovich
739b600f40 Remove iterator shenanigans 2022-12-30 12:37:22 -08:00
Victor Zverovich
a05ba44df8 Simplify format string parsing 2022-12-30 11:23:42 -08:00
Victor Zverovich
ffb9b1d13c Improve handling of signed types 2022-12-30 10:31:39 -08:00
Victor Zverovich
32190859ec Fix handling of char 2022-12-30 09:11:42 -08:00
Victor Zverovich
8fe4d97d5e Reduce template instantiations 2022-12-30 08:44:23 -08:00
Orvid King
7e5a959564
Fix build with MSVC C++20 modules (#3254)
When using fmt with C++20 modules under MSVC, it can end up requiring certain things to have storage that would not otherwise have needed to. Since I didn't see anything that was already doing detection for `inline constexpr` variable support, I've just moved the entire thing into the only function where it's used.
2022-12-28 19:58:57 -08:00
Victor Zverovich
7ad48c1f65 Cleanup core.h 2022-12-26 09:14:15 -08:00
Victor Zverovich
a921a596e7 Cleanup core.h 2022-12-26 07:46:31 -08:00
Victor Zverovich
3e762fdf5c Use ignore_unused 2022-12-26 06:57:21 -08:00
Victor Zverovich
79981a2528 Cleanup ranges formatting 2022-12-25 20:05:20 -08:00
Victor Zverovich
bd12aaa98e Simplify format string parsing 2022-12-25 12:31:38 -08:00
Victor Zverovich
b8f36207c9 Simplify format string parsing 2022-12-25 11:47:43 -08:00
Victor Zverovich
32c4390704 Minor cleanup 2022-12-25 08:59:25 -08:00
Victor Zverovich
3a5e19fbf5 Minor cleanup 2022-12-25 08:42:16 -08:00
Victor Zverovich
dfb857ebef Refactor format spec parsing 2022-12-25 07:25:32 -08:00
Victor Zverovich
9ea9b6bcb1 Cleanup arg id parsing 2022-12-24 16:33:57 -08:00
Victor Zverovich
2b0ff62a7f Remove unused template arg from format_string_checker 2022-12-24 15:46:34 -08:00
Victor Zverovich
d1745084e0 Simplify parse context 2022-12-24 15:20:24 -08:00
Victor Zverovich
407e7b7b6d basic_format_specs -> format_specs 2022-12-24 14:34:50 -08:00
Victor Zverovich
3cf9794755 Cleanup format string parsing 2022-12-24 13:47:20 -08:00
Victor Zverovich
934c8e5f76 Refactor precision parsing 2022-12-24 13:29:23 -08:00
Shawn Zhong
fc96938345 Remove empty semicolon 2022-12-24 09:54:55 -08:00
Victor Zverovich
f0ab112c34 Cleanup parsing 2022-12-24 09:40:35 -08:00