Commit Graph

1247 Commits

Author SHA1 Message Date
Victor Zverovich
afa85e46c3 Apply clang-format 2023-12-17 07:32:22 -08:00
js324
6025bd7c37
Add localized formatting to non-decimal presentation types of ints (#3750) 2023-12-15 07:51:25 -08:00
Victor Zverovich
8f83ee2ad1 Apply coding conventions 2023-11-30 08:24:02 -08:00
Victor Zverovich
2d1e4bb35e Remove a useless comment 2023-11-25 09:05:20 -08:00
Victor Zverovich
c13753a70c Fix handling of invalid Unicode in precision 2023-11-18 08:36:11 -10:00
Ole Bøe
864a8b5f38
fix: support optional<T> with format_as(T) (#3713)
Formatting a std::optional<T> where T had a custom format_as(T) function failed to compile with clang,
due to set_debug_format being hidden by private inheritance. This fix makes the function available through a using clause.
2023-11-16 15:02:33 -08:00
Victor Zverovich
649fe0fc8b Fix handling of null strings with the s specifier 2023-11-15 17:03:01 -10:00
Carl Smedstad
e0d3e346d2
Wrap Char in array to avoid pointer arithmetic (#3695)
This resolves the following finding reported by Coverity Static Analysis
v2023.6.1 on line 1964 of fmt/include/fmt/format.h:

  ptr_arith: Using &v as an array. This might corrupt or misinterpret
             adjacent memory locations.
2023-10-31 14:05:46 -07:00
Victor Zverovich
19276d7325 Fix an inconsistentcy between to_string and format 2023-10-28 08:05:11 -07:00
Dimitrij Mijoski
2a2c6e676f
Fix flushing C++ iostreams before calling write_console() (#3689)
This change correctly implements https://wg21.link/P2539/ for both
C streams and C++ iostreams.

Fixes #3688.
2023-10-25 13:13:31 -07:00
Giel van Schijndel
f76603f21e
fix: make std::bitset formattable again (#3660)
* fix: make std::bitset formattable again

It used to be formattable via operator<<(ostream&) implicitly. Make it
formattable again, but this time via formatter specialization.

* fix: make nested_formatter constexpr default constructible
2023-10-03 09:53:47 -07:00
Victor Zverovich
06b20387ae Optimize fractional_part_rounding_thresholds 2023-09-22 13:26:57 -07:00
Victor Zverovich
649f2460db Apply clang-format 2023-09-22 09:07:43 -07:00
Greg Sjaardema
7529af8f99
Workaround intel bug (#3652)
* Workaround intel bug

Potential workaround / restructure for the intel bug that is the cause of #3645.

Make the variable in the external struct instead an embedded static constexpr variable in the only function that uses the variable.

* Finish the proposed change -- remove struct accessor

* Refactor proposed intel fix.

Moved variable out of function to avoid specialization on Float.  Made it a separate function that is called from format_float.

* Fix incorrect function name.

* Add missing inline.
2023-09-20 18:57:55 -07:00
Sascha Scandella
8ef4db4b96
Use datatype of underlying data (#3647) 2023-09-19 07:31:36 -07:00
Victor Zverovich
0e01e46c11 Implement nested formatter 2023-09-18 14:21:21 -07:00
Dana Jansens
f6ca4ea199
Avoid a space in the UDL definition (#3610)
* Avoid a space in the UDL definition except on GCC before 4.9

Clang 18 has grown a warning about the space being deprecated which
is enabled by default in their nightly binaries. However GCC before 4.9
will reject the UDL definition unless there is a space there, so we need
to keep the space conditionally for it.

* Remove UDLs on GCC before 4.9 to simplify things

GCC before 4.9 rejects the syntax that is now
rejected on more modern compilers.

* Disable compile-error-test on GCC < 4.9

This avoids the UDL tests failing as GCC < 4.9 can not parse UDLs
without a space, but the space is malformed in modern compilers.
2023-09-18 08:09:42 -07:00
Victor Zverovich
6c088be8ec Cleanup handling of visibility 2023-09-16 07:40:08 -07:00
Vladislav Shchapov
016b1faede
Fix symbol leak (#3627)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-09-16 07:26:36 -07:00
Victor Zverovich
d4987546a4 Add an experimental nested formatter 2023-09-10 11:56:55 -07:00
Victor Zverovich
84e6661517 Workaround a gcc 6.4 issue 2023-09-04 11:23:14 -07:00
Victor Zverovich
a21690bdfa Coding conventions 2023-08-25 07:46:32 -07:00
Mathew Benson
e786824053 Refactor Improvement on umul128 function
- Removal of direct access to members of uint128_fallback and instead
  create the values at the callsite and pass them via the constructor of
  uint128_fallback on the return statement.
2023-08-25 13:21:52 +03:00
Mathew Benson
2b20d7be6f Refactor To remove friend function private access
- Remove umul128 friend function from uint128_fallback class using
  non-const member access functions instead.
2023-08-24 00:55:43 +03:00
Mathew Benson
1f38ebbdb1 Add condition to include friend function in win32 2023-08-22 23:07:04 +03:00
Mathew Benson
e418179694 Fix for FMT_MODULE not compiling on GCC 2023-08-22 21:11:53 +03:00
lukester1975
cc077a5e3b
Fix FMT_NO_UNIQUE_ADDRESS warning with clang-cl. (#3600)
See https://reviews.llvm.org/D110485 for info.
2023-08-20 10:21:50 -07:00
Mathew Benson
a992b3d1fc
Fix for Compilation Error When Using FMT_MODULE (#3597)
* FMT_EXPORT reorganization to fix compile error

- When compiling with FMT_MODULE, an error was being generated due to
  use of FMT_EXPORT on a declaration within FMT_BEGIN_EXPORT and
  FMT_END_EXPORT on `include/core.h`

- On `include/format.h` had to exclude the function vformat_to by ending
  the export block just before it and beginning a new one after it.
2023-08-20 07:32:36 -07:00
YuHuanTin
bd868f3a51
Improve compatibility with GBK #3598 (#3599) 2023-08-19 08:13:20 -07:00
Ben Deane
6c845f57e5
Fix formatted_size with FMT_COMPILE and format specs (#3588)
Addresses issue #3586
2023-08-15 06:45:48 -07:00
Vladislav Shchapov
e150ea0cc2 to_string supports types with format_as
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-08-13 08:39:52 -07:00
Victor Zverovich
d424862319 Fix fixed precision handling during rounding in long double 2023-08-07 13:56:53 -07:00
Victor Zverovich
7a2f6ac210 Fix a comment 2023-08-07 09:33:45 -07:00
Jürgen Hock
f4214ae8dd
Use the U literal for unsigned integer constants. (#3549)
Fix MSVC Error C2398 Element '1': conversion from 'int' to 'const uint32_t' requires a narrowing conversion.
2023-07-27 11:43:00 -07:00
Ozomahtli
4f46cb82f3
Remove std::copy usage. (#3550) 2023-07-26 07:27:01 -07:00
Victor Zverovich
3dec65b7fd Use replacement character in path 2023-07-22 09:07:28 -07:00
Victor Zverovich
ac0ab8eff3 Improve path formatter 2023-07-20 17:49:12 -07:00
Victor Zverovich
b2728a3170 Improve path formatter 2023-07-20 15:25:35 -07:00
Victor Zverovich
388bc296b7 Fix fixed formatting of small long doubles 2023-07-20 12:06:05 -07:00
Victor Zverovich
fb97cb2318 Suppress a bogus stringop-overflow warning 2023-07-20 09:53:54 -07:00
Victor Zverovich
9bea6ec04a Don't use deprecated checked_array_iterator 2023-07-20 07:12:06 -07:00
Tobias Schlüter
a331dbfb65
Fix type in assert message. (#3508)
Reviewed all strings in the file and found no other typos.
2023-06-26 11:35:29 -07:00
Vladislav Shchapov
dd17f89a16
Fix for issue #3492 (#3493)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2023-06-16 02:20:40 -07:00
Victor Zverovich
977d887a4e Suppress a bogus warning 2023-06-13 14:01:46 +03:00
Minty-Meeo
c86fe0b8d3
Give basic_memory_buffer allocator [[no_unique_address]] (#3485)
This allows stateless allocators to take up no space while still avoiding the empty base class optimization.
2023-06-13 01:22:19 -07:00
Victor Zverovich
bd393456ed Remove FMT_*_DETAIL_NAMESPACE 2023-05-28 07:33:26 -07:00
Victor Zverovich
6be36af0d4 Remove udl_formatter 2023-05-27 17:16:36 -07:00
Victor Zverovich
2a35eeed8a Remove unused data 2023-05-27 10:47:17 -07:00
Victor Zverovich
256a826d63 Consolidate formatters 2023-05-27 09:19:50 -07:00
Victor Zverovich
6369af37d3 Simplify formatters 2023-05-27 09:19:50 -07:00