Commit Graph
87 Commits
Author SHA1 Message Date
Victor Zverovich a80d668a52 Diagnose invalid precision 2024-07-27 10:41:54 -07:00
Victor Zverovich 707d7d923a Apply coding conventions 2024-07-27 09:00:25 -07:00
Victor Zverovich ba36a04811 Remove counting_iterator 2024-07-22 16:24:13 -07:00
Victor Zverovich 524ca1c715 Improve parsing 2024-07-21 09:57:18 -07:00
Victor Zverovich 3cc32fdc8b Mark more formatters nonlocking 2024-07-21 08:00:34 -07:00
Victor Zverovich e84297f255 Bump version 2024-07-20 07:00:12 -07:00
Victor Zverovich 9228f349a5 Inline visit 2024-07-14 15:34:53 -07:00
Victor Zverovich f29a7e7970 Don't use memcpy in append 2024-07-14 13:02:21 -07:00
Victor Zverovich 58d792b6d3 Apply minor optimizations 2024-07-14 07:05:18 -07:00
Victor Zverovich 25adca5666 Remove redundant overload 2024-07-13 13:07:57 -07:00
Victor Zverovich 1408f1824d Simplify iterator detection 2024-07-13 11:11:47 -07:00
Tor Shepherd 3fe4641d3a Add 2 more constexprs to fix compile error (#4065) 2024-07-13 08:23:49 -07:00
Victor Zverovich 33e7ed1eb5 Improve handling of back_insert_iterator that writes into a buffer 2024-07-13 07:56:11 -07:00
Justin Riddell 13038f37e8 Support printing (const) volatile void* (#4056)
Fixes #4049
2024-07-10 08:35:06 -07:00
Victor Zverovich 7a8b54a0ef Don't confuse Glib::ustring with std::string 2024-07-06 13:27:06 -07:00
Victor Zverovich 503e183b9e Bump version and add version validation 2024-07-04 07:49:58 -07:00
Nebojša Cvetković c4f6fa7135 fix: Make basic_format_arg::visit() const (#4043) 2024-07-01 14:43:52 -07:00
Victor Zverovich 686339f7c1 Minor cleanup 2024-06-30 10:29:50 -07:00
Victor Zverovich 53186535d5 Bump version 2024-06-29 08:54:52 -07:00
Victor Zverovich b1efe8516e Prevent silent data loss 2024-06-22 07:46:16 -07:00
Victor Zverovich 2a2048a785 Don't pass seconds as a double in examples 2024-06-15 09:26:49 -07:00
LoveSy 8687315e86 Guard more system headers by FMT_MODULE (#4006)
* Guard more system headers by `FMT_MODULE`

* Merge FMT_MODULE and FMT_IMPORT_STD
2024-06-14 10:53:51 -07:00
Victor Zverovich 1d9df9ce1c Remove a redundant comment 2024-06-13 15:41:35 -07:00
LoveSy 2bf811b1d9 Also allow compiled format for clang >= 12 (#4001) 2024-06-09 06:43:39 -07:00
LoveSy 0f6e716548 Fix missing includes in fmt.cc (#3994)
This causes duplicated std definitions in the fmt module
2024-06-08 13:50:29 -07:00
Victor Zverovich ab29ef37d9 Migrate docs and cleanup 2024-06-02 13:17:04 -07:00
Victor Zverovich 38ba3d3993 Migrate to mkdocs 2024-06-02 08:26:56 -07:00
Victor Zverovich 03d14c3beb Add support for multiple namespaces 2024-06-02 07:01:40 -07:00
Victor Zverovich febeb51bde Documentation improvements 2024-06-01 17:45:06 -07:00
Victor Zverovich 933d8ba352 Improve apidoc formatting 2024-06-01 09:24:32 -07:00
Victor Zverovich 91a859ee4a Switch to markdown 2024-06-01 08:56:26 -07:00
Victor Zverovich a4d42c44f4 Cleanup comments 2024-06-01 07:00:56 -07:00
Victor Zverovich cf9833f40b Cleanup apidoc comments 2024-05-29 20:30:19 -07:00
Matthias Moulin 1752d7fbbb Added formattable concept (#3974) 2024-05-26 07:47:56 -07:00
Edoardo Lolletti 028bffa083 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
* Rename FMT_USE_TYPEID to FMT_HAS_RTTI and use it as check to enable dynamic_cast usage

* FMT_HAS_RTTI->FMT_USE_RTTI
2024-05-19 11:21:55 -07:00
Victor Zverovich 1f436c646e Cleanup locking/buffering 2024-05-12 09:34:17 -07:00
Victor Zverovich db1ee420e0 Cleanup unicode check more 2024-05-11 20:02:22 -07:00
Victor Zverovich 7d6ae972b9 Cleanup unicode checks 2024-05-11 19:43:46 -07:00
Victor Zverovich 3460b30fd5 Improve utf-8 detection 2024-05-11 18:58:40 -07:00
Victor Zverovich b7809f91e2 Enable Unicode support by default 2024-05-11 15:11:23 -07:00
Victor Zverovich 1dc71f21ea Enable Unicode by default 2024-05-10 18:27:45 -07:00
Marlene Cota 48c908453d Fix CodeQL alert (#3945) 2024-04-30 12:41:29 -07:00
Victor Zverovich f746a59a5c Cleanup FMT_ASSERT 2024-04-19 08:36:16 -07:00
Justin Riddell 99735764ea Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
Broken in refactor f1924d3
2024-04-16 13:29:30 -07:00
Matthias Moulin 116a9ce488 Added FMT_IMPORT_STD feature macro (#3928) 2024-04-10 11:48:32 -07:00
Matthias Moulin 550437b29e Resolved warning C4127: conditional expression is constant (#3923) 2024-04-07 11:01:26 -07:00
Philippe Proulx 4e8640ed90 Fix: enable FMT_NORETURN without exception support too (#3917)
When building `format.cc` as such with GCC 13.2.1:

    $ g++ -c format.cc -DFMT_EXCEPTIONS=0 -Wmissing-noreturn -Werror

I get:

    In file included from format.cc:8:
    fmt/format-inl.h: In function ‘void fmt::v10::detail::assert_fail(const char*, int, const char*)’:
    fmt/format-inl.h:30:15: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
       30 | FMT_FUNC void assert_fail(const char* file, int line, const char* message) {
          |               ^~~~~~~~~~~
    fmt/format-inl.h: In function ‘void fmt::v10::report_error(const char*)’:
    fmt/format-inl.h:129:15: error: function might be candidate for attribute ‘noreturn’ [-Werror=suggest-attribute=noreturn]
      129 | FMT_FUNC void report_error(const char* message) {
          |               ^~~~~~~~~~~~
    cc1plus: all warnings being treated as errors

Note that, with `FMT_EXCEPTIONS` defined to 0:

‣ report_error(const char *) uses FMT_THROW() which expands to calling
  assert_fail().

‣ assert_fail() calls std::terminate() which has the `[[noreturn]]`
  attribute since C++11 [1].

Therefore, with `FMT_EXCEPTIONS` defined to 0, both assert_fail() and
report_error() need to have the `[[noreturn]]` attribute too (if
available). In other words, `FMT_NORETURN` doesn't depend on
`FMT_EXCEPTIONS`.

Also adding `FMT_NORETURN` to two on_error() functions which call
report_error(const char *).

Other report_error() overloads eventually return, therefore they don't
need `FMT_NORETURN`.

[1]: https://en.cppreference.com/w/cpp/error/terminate

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
2024-04-04 17:15:18 -07:00
Victor Zverovich 5d63e87d23 Add a formatter for float128 2024-03-22 15:41:50 +09:00
Victor Zverovich aecec01b34 Initial support for extended FP types 2024-03-22 15:08:25 +09:00
Victor Zverovich e281749c5d Simplify range formatter 2024-03-10 08:19:26 -07:00