Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always initialize fields in MatcherBase constructors #3797

Merged
merged 1 commit into from
Apr 26, 2022

Conversation

glandium
Copy link
Contributor

This fixes -Wuninitialized warnings with GCC.

Fixes #3514.

@google-cla
Copy link

google-cla bot commented Apr 20, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

For more information, open the CLA check for this pull request.

@glandium glandium marked this pull request as draft April 20, 2022 01:35
This fixes -Wuninitialized warnings with GCC.

Fixes google#3514.
@glandium glandium changed the title Initialize MatcherBase.buffer_ in the default constructor Always initialize fields in MatcherBase constructors Apr 20, 2022
@glandium glandium marked this pull request as ready for review April 20, 2022 02:37
@derekmauro derekmauro self-assigned this Apr 25, 2022
@glandium
Copy link
Contributor Author

It doesn't look like the Windows failure is caused by this change.

@copybara-service copybara-service bot merged commit b53547b into google:main Apr 26, 2022
phprus added a commit to phprus/fmt that referenced this pull request Sep 5, 2024
vitaut pushed a commit to fmtlib/fmt that referenced this pull request Sep 5, 2024
SimoneN64 added a commit to SimoneN64/Kaizen that referenced this pull request Sep 22, 2024
3b70966df5b Add width and alignment support to error_code
05226c4bd9e Remove type_identity
c283b458a51 Cleanup format.h
fe79932c267 Fix conversion warning on chrono.h (#4170)
23fcf1942a6 Apply clang-format
3f296e3d4ad Workaround clang-format nonsense
a197a994c5a Add member format_as for std
6d43c755bc2 Fix a typo
1f87b1c58d2 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
ed8f8be70d8 More chrono padding (#4161)
55a0a9cd627 Cleanup pragma detection
5c926d9ff9a Remove FMT_UNCHECKED_ITERATOR
8b024662d4a Remove unnecessary inheritance
2f1424be90b Simplify handling of arrays
239aa6911bf Remove unwrap_named_arg
497df6db618 Remove formattable
a25e594f6ac Remove range_mapper
503dff93ecc Simplify has_formatter
3374a95b50b Simplify has_formatter
0e62e5dc7cd Simplify has_formatter
7ce013971bc Sync value ctors and type mapper
07e70151d57 format std::reference_wrapper
41977277125 Improve handling of unformattable args
527e98e3f87 Remove unformattable
8a19b2db779 arg_mapper -> type_mapper
e97df46ae1b Cleanup type mapping
39f1e0903ad Remove FMT_MAP_API
d832830f60b Cleanup type mapping
b329ff194ff Always detect encoding on Windows
2af403ce641 Simplify type mapping
b7513b1d002 Simplify type mapping
761d35f7632 Cleanup format_as handling
545dc4148a4 Add value ctor taking name_arg
3f5e45dd338 Simplify handling of _BitInt
2e3b6fbd9fe Remove redundant check
a0328e1f9fd Improve error reporting
de28ef5f867 Remove make_arg
2d5e561a6b2 Cleanup argument handling
6537fb439cb Update changelog
50aac2ac92c Add reference to iterator_traits
538d8777e56 Workaround a bug in libstdc++
0335312320e Demacrify UTF-8 check
463fe65f173 Cleanup FMT_COMPILE_STRING
1782a6eac0f Rename pragma macros
b52fb988463 Fix no locale build
b6a6ec7f1cb FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
89999f16722 Simplify pragma
b90b4bc981e Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
a1d6f9a9736 Minor cleanup
689ec7a087c Cleanup
28143dc99d3 Cleanup chrono
1bde49e545e Remove FMT_USE_USER_LITERALS
f924d16e478 fix: pass /utf-8 only if the compiler is MSVC at build time
ab8f9d5b080 Cleanup format API
6f62db098a3 Cleanup format API
ab44ee7521f Avoid shadowing
0d4e7e3feec Remove old workaround
8ee89546ffc Remove old workaround
a5deb96bf51 Update gcc version
61a241f03f7 Cleanup
ff82d8d2b58 Cleanup visit
0cc20f56398 Remove iterator_t
2ba6785d8fc Remove unused type
5644e7507ca Remove unnecessary forwarding
5345cfe6b32 Adjust clang-format
3e9fdb3a1fd Cleanup
3ada4aed203 Optionally exclude Unicode data
b37be85bf1e Optionally disable named arguments
70643b25111 Don't use format_error if exceptions disabled
967e2d177d6 Cleanup
02c5d637c5c Cleanup
047bf75c245 Cleanup
2d3ba32e795 Improve debug codegen
6c90b31fbd1 Improve debug codegen
9408c2ae8c2 Readd support for FMT_BUILTIN_TYPES
cc3ff1529d2 Cleanup
158893b384a Cleanup
f5a16a484bd Cleanup
cad876be4c8 Switch to vargs
debf6f82855 Switch to vargs
35f4fab4c42 Simplify value ctor
ff8f3247869 Minor cleanup
bd48715d812 Simplify make_format_args
57d6df62f7a Simplify make_format_args
8ed4a9dcc1c Improve debug codegen
f288f45e46a Prepare for arg_store unification
5bf577ca58f Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (google/googletest@0320f51)
b6de66819e1 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (google/googletest#3797)
6870e4b06bb Workaround for GCC regression: false positive null-dereference in vector.resize
5cdef760349 Switch to gcc-13 for C++23 tests
a2c290bc34d Suppress a bogus MSVC warning
f1e3016c13a Optimize debug codegen
106dc8fd642 Reduce usage of type_identity
c3344e21e27 Cleanup base API
5f438c967e0 Remove make_arg
2a257798d41 Reenable FMT_BUILTIN_TYPES
22d50c1a9c2 Add support formatting std::expected<void, E>
1cc10ab68f4 Make is_formattable work with const/volatile void
6aaf7f4b79e Suppress a gcc 13 warning
b4d1d7f8e67 Improve debug codegen
1e0771c70a5 Fix broken CI for shared library on macos and linux (#4151)
3df47a46771 Make is_formattable work with void
b4aea98b550 Small fixes for some issues with modules builds (#4152)
565461a0d3a Update MSVC workaround in compile-test
e2b72387078 Cleanup format string API
1e0c6cdc3ba Make symbol sizes shorter
a8bcf81f72f Minor cleanup
15694c9a84f Workaround an MSVC bug
4cae2da0d06 Workaround a clang 17 bug
79e5ae919c3 Fix locale tests on FreeBSD
894b71da853 Fix handling of _BitInt
7a6a2a79ed8 Improve debug codegen
387395fc7c6 Cleanup base API
6a88415499d Add FMT_APPLY_VARIADIC
9a2aae37d45 Cleanup base API
88037683630 Cleanup base API
4fa533c70e7 Cleanup base API
d980dd71713 Cleanup base API
4eed488c663 Cleanup base API
a6ecd25b808 Improve debug codegen
9f29345ea09 Simplify mapped_type_constant
4986b4c0efd Simplify arg_mapper
a5f4d9820ca Simplify arg_mapper
bc3af512720 Reduce the number of instantiations
60740b7c240 Cleanup base API
9ef160d3094 Cleanup base API
0b80978c271 Cleanup base API
4f39d886503 Cleanup base API
a86b1acf6af Add mapped_t
c9ef07bc4e0 Minor cleanup
8c4cfab57ad Detemplatize parse
7e3aa6d9821 Minor cleanup
7c66216008b Minor cleanup
1416edabbb0 Cleanup base API
d4aeca9922d Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
eee93ddffa8 Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
b310a0d48bc Simplify parse_format_string
985c3399d13 Make map static
4a55b0d5fdf Remove duplicate error in compile-time checks
64a6c845928 basic_format_parse_context -> parse_context
66920feeee6 Improve compile-time checks
f4dad85c3aa Improve handling of named arguments in compile-time checks
db4becabedb Reduce template instantiations
fec2cc7af10 Improve handling of named arguments
621e9c17c58 Clarify why we have TYPE in native_formatter
bca70405569 Simplify compile-time checks
8c4b17fe648 Simplify compile-time checks
516a2e20492 Cleanup FMT_STRING
6797f0c39a4 Cleanup compile-time checks
db496b47c1c Remove old gcc hack
8eda3c8e900 Cleanup compile-time check
53316903e64 Move string_literal to format.h
8a484ad5771 Minor cleanup
b446cc9e67c fwrite_fully -> fwrite_all
0204dd359d9 Fix _BitInt formatter
d8876b7787c Minor cleanup
c0fab5e2f7c Reject modernity, embrace tradition
64313e915c4 Move redundant initialization to compile time
8e3da9da2c7 Improve binary size
2a2f73f7c19 Improve binary size
6dd9194abd5 Simplify format_to_result
a017bba0624 Minor cleanup
5eb023cd568 Improve binary size
f213d83306a Disable locale more
b3ccc2d2100 Disable locale more
7477dda28dd Simplify is_utf8_enabled
e582d377c25 Simplify locale handling
cd8d01d8cd9 Minor cleanup
377cf203e34 Add opt out for built-in types
5a0a37340c0 Add support for _BitInt on clang (#4072)
bbf8b3bd017 insert else branch to avoid unreachable code warning (#4130)
a3f3f2ec9a2 Fix gcc 8.1 - 8.3 bug and compilation (#4131)
e3676ca309f Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
0379bf3a5d5 Workaround -Wstringop-overflow
c59ee969f3d Improve compile-time formatting (#4127)
1a79bbfa83b Cleanup chrono formatting
89af1ad77df Cleanup chrono formatting
0e741e0daa5 Minor cleanup
d1acc667c1b Minor cleanup
4fb7008c900 Cleanup duration cast
589898e28bb Fix %S doc
62382e3650b Test full exponent range
94b8bc8eae1 Add an experimental writer API
020af729ddf Simplify ostream
fb07b37c5b1 Prioritize using the header files of self (#4116)
3135421257e Minor cleanup
993f56cff6f Make sign a proper enum class
c6c830e2034 Make align a proper enum class
b906c321f06 Get rid of bit fields
f8c0c8ee783 Cleanup public API
c71d03fcb0d Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
50a8c3e9bfa Reduce format specs size
98314319ad7 Fix ambiguous overload
0ce49aeb4a5 Add a test case
bf870ae3d15 Fix back_inserter lookup for non-std containers
c98518351ef Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
9f0c0c468be Add 'n' specifier for tuple and pair (#4107)
9f269062a7b Simplify default formatter
15f939c3de4 Improve handling of dynamic specs
928a07bb045 Simplify handling of dynamic specs
7891699737d Simplify handling of dynamic specs
58aba5a3def Deprecate append instantiation
5ee14d35087 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
b9c0e4dd828 Improve spec parsing
8445327c84d Simplify spec handling
8a06cee8262 Optimize shortest float formatting
1db22749667 Use us if Unicode is disabled
34ead4b39e4 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
3bf26009e4d Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
d326c7298ac Fix conversion a surrogate pair (#4095)
6e462b89aa2 Get rid of std::copy
aff640c32f9 Make fmt::appender implement std::output_iterator concept (#4093)
e23fb6a8b48 Apply clang-format
16b3542f7ea Remove float_specs
29d7e580598 Remove float_format
919f7c5e7fc Reduce float_specs usage
a80d668a52a Diagnose invalid precision
707d7d923a1 Apply coding conventions
de6ed8df8b2 Test alignment
ffdc3fdbd90 Align digits table
0c028137917 Fix doc build
f8581bcecf3 Add redirect page
31b3c325f69 Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
52b32081f95 Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
0b0b09f4017 Constrain format_uint
4173a6315a8 Improve format_decimal
4239dfe081e Simplify format_decimal
ba36a04811c Remove counting_iterator
f6b4a23b83b Unbloat chrono
42d3d703b58 Remove the commenting attempt
9fcd9c4c120 Remove all warning suppressions
7f157dca0a7 Workaround gcc stringop-overflow bug
524ca1c7154 Improve parsing
bdc45eef76c Simplify on_text
439b6d7212d Reenable print optimization
3cc32fdc8b0 Mark more formatters nonlocking
0c9fce2ffef Update version
b47d662e716 Update changelog
e84297f255d Bump version
0ad234ad131 Update changelog
de684ef776c Make appender compatible with fill
447c6cbf444 Update changelog
bc8d32e9643 Update changelog
0f87d6ffa69 Improve sign processing
808ea0191a6 Cleanup test
55e76e6c20e Update check-commits script
8757f1f8d62 Add a script to test multiple commits
9228f349a51 Inline visit
e10643add21 Add a perf-sanity test
f29a7e79703 Don't use memcpy in append
f97deb0d7de Minor cleanup
3541353512a Apply minor optimization
5ef93a9f805 Expand FMT_FORMAT_AS to include implicit conversions (#4055)
c9102619da7 Avoid extra reserve
58d792b6d33 Apply minor optimizations
25adca5666a Remove redundant overload
1408f1824d6 Simplify iterator detection
3fe4641d3a3 Add 2 more constexprs to fix compile error (#4065)
33e7ed1eb5b Improve handling of back_insert_iterator that writes into a buffer
6a192f8d34c Fix broken links in README.md (#4066)
92cdbbae06f Update api.md
13038f37e87 Support printing (const) volatile void* (#4056)
67252257504 Update changelog
e60ff504ea0 Fix usage with std::generator (#4057)
ccea338070c Update lint.yml
92227c77a4e Improve support for non-POSIX platforms more
486838f26fd Improve support for non-POSIX platforms
a43391199f7 Update changelog
7a8b54a0ef7 Don't confuse Glib::ustring with std::string
b50e685db99 Update version
e314776c2ea Fix version check
2208143accf Update changelog
a96259701e1 Improve std::complex formatter (#4050)
232c6bc4815 Update changelog
503e183b9e3 Bump version and add version validation
e50c8b6bd87 Fix disabling Unicode support
9d946a2fc42 Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
c4f6fa71357 fix: Make basic_format_arg::visit() const (#4043)
10f12fd3d27 Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
24c1f886afc Remove double has_value check (#4040)
0041a40c135 Update version
686339f7c12 Minor cleanup
e355c116f94 Tweak wording in the changelog
707bb5b369b Fix grammar
6f68c62cb5d Ignore doxygen files
d059fe42a87 Ignore vagrant files
43c5b34749d Fix package build
e89568e6cba Update vagrant config
f5bf6f77812 Update build script
bd9af9a9f14 Update changelog
16521089054 Fix typo
84f61318259 Fix formatting of release notes
dedc17c1c95 Fix handling of tables, take 3
5d0adb6d74d Fix handling of tables, take 2
3f251fc9c98 Fix handling of tables
1930ed4bfac Fix release script
26d07e49b22 Fix formatting
949d5d17955 Fix build script
53186535d58 Bump version
602e3c3d11c Update build script
2952130cbcb Fix doc build
1e94a463edc Create build dir
a34120329a3 Update doc script
0fae326c42e Update site dir
8b1fcf5cc10 Update doc dir
ec46c3de972 Update build script
2d9d32c62b1 Update build script
4703ade76dc Update build script
52e7b25f953 Update changelog
b61c8c3d23b Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
bbf44cc0005 Defines are still needed for FMT_MODULE as well (#4027)
06948fa710a Pin deps
d9899492c14 Simplify deps
ff72f553e3c Update changelog
7f951f25020 Optimize range formatter
7ae102bd664 make format_int constexpr (#4032)
edde9731260 Update test names
b1efe8516e2 Prevent silent data loss
2c0d9e9409f Add a define to force the use of fallback_file
18a9676d958 Add an experimental path
af8cd4e4042 Module purview can only contain direct preprocessor code (#4029)
514b6955d22 Suppress a bogus warning in MSVC (#4023)
ac967732305 Added missing std::declval for non-default-constructible types (#4024)
c00149f5e29 Fix a typo
71244e07deb Cleanup includes
a57b0194a60 Correct comments
febd8ed5fee Cleanup includes
0434026a954 Remove build-docs.py
0882bfef2a2 Don't deploy docs from a PR
2a2048a7855 Don't pass seconds as a double in examples
ea1187f4c8f Generate doxyxml in build
1334eedaf52 Improve docs
709169a4d8d Set the anchors
2bf1b3004ef Update changelog
8687315e86e Guard more system headers by `FMT_MODULE` (#4006)
98dd673cf82 Cleanup cmake
a245a8d4b9f Update changelog
e0b66e8f83b Remove dependency on <ranges>
794df69c8c5 Added range_format::(debug_)string formatter (#3973)
1d9df9ce1cd Remove a redundant comment
c4ea903250e Only install `FILE_SET` when needed (#4013)
3e3062c13ba Update msys2/setup-msys2 to v2.23.0 (#4012)
b998b471160 Update changelog
bff1de15e74 Fix deploy docs (#4010)
90932dd20d8 Update doc.yml
232c5e8547a Update doc.yml
26cdd1cb309 Update doc.yml
ad34d4df95f Update doc.yml
f796264449d Fix doc workflow
28673d96999 Update api.md
a5c1b5d4407 Update changelog
cc4d1245b86 README.md: update to remove "not yet release" remarks on clang-tidy
18a325f370f Disable footer
a1337aa8aad Merge literal-based API doc into the parent section
51a690ab153 Check if `.cc` exists in `fmt.cc` (#4005)
f332a81b722 Remove unnecessary build step
33a1de57af3 Deploy docs, take 3
c7252b33447 Deploy docs, take 2
3f71b606680 Deploy docs
215ce4d9795 Fix error getting config 'user.email'
89f3a810ec9 Fix error getting config 'user.name'
1f170d3fe01 Install mike
d175db8f5b5 Fix doc CI and clean workflows
a8cfc0cc2c7 Deploy dev docs
65e278b2867 Don't pollute the source directory
3620c174a61 Fix doc build
702b6f3788c Update docs
ed21034a10d Implement deployment
76d57f93db3 Remove old script
6ceef04dfe9 Merge branch 'master' of github.com:fmtlib/fmt
ab6b257a390 Implement doc building
077e4ae746c Added generator expression to /utf-8 compile option (#3995)
d4a8d26c557 Temporarily disable doc build in CI
b5c8fd783ce Fix doc build
735a613821b Build docs
a6e6e9c3c9a Fix a link
e6d4f927cc7 Improve docs
8de3e87da1f Add a CMake option to control Unicode support
46d2acb3ba3 Don't add `os.cc` to sources with FMT_MODULE (#4004)
fad0222a0c8 Export `compiled_string` so that user can customize one (#3999)
d1cab6a9aee Drop parentheses
fcb6a452d6e Improve docs
72928661edd Improve docs
d6ec6b7e273 Update docs
e845fc572e9 Ignore old changelog
2bf811b1d96 Also allow compiled format for clang >= 12 (#4001)
9653eed8e71 Don't hide the navbar
9b5d1826d42 Update changelog
fe741daaab9 Mention namespace `fmt::literals` in the document (#4002)
0f6e7165489 Fix missing includes in fmt.cc (#3994)
a3d95971be0 Update changelog
7bd11b5cdfd Remove a redundant extension to reduce divergence from std::format
21372bc0b2c Update cmake config
a0495e3eb5a Update changelog
cba5e8615a0 Update changelog
e9609dec1a4 Update changelog
6ebbaf4b4d1 Split changelog
4e31d2dc61d Update changelog
fcc0b499781 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
0560c334fb2 Fix build with `FMT_MODULE=OFF` (#3997)
db9365a11b0 Update lint.yml
5c445bc42cb Reverting check to make shorter branch comes first
94f96d112db Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
6abc1204f3c Check if the generator is ninja
a9b85176385 Use native c++ module support from CMake
fba06f0ee12 Update changelog
598e5180857 Remove redundant tests
0a555818d7b Usage -> Get Started
966a1b3d441 Update docs
adb8e27db0a Fix rendering of template parameters
2c84fa9ac9c Update docs
8da0240dbc4 Improve docs
83bf1423780 Update changelog
595e54919b5 Cleanup docs
c636967c5ca Improve docs
2392367efc3 Set primary color
06f8e02fb3a Remove rtd compat
c71d08fc225 github: update lint.yml to post details on formatting issue (#3988)
d9b90029bf7 Update docs
c0029b9847b Update docs
1ac9b317f2e New landing page
f68dee5351d Fix syntax highlighting
fb9ee2ed657 Simplify doxygen config
d29ceaf9155 Update .gitignore
9b12491c190 Migrate docs
ab29ef37d9b Migrate docs and cleanup
97117cbb51c Migrate to mkdocs
886237ae7b2 Emit anchors
904f2a5c207 Remove a non-pinned dependency
dab1a65d2c3 Sort out directory URI config
509d0181016 Fix a link
75ab3bc2a09 Add a script to invoke mkdocs
871538d3abc Fix install dir
250456d5a3a Migrate to mkdocs
38ba3d3993a Migrate to mkdocs
07141139742 Add macro support to api doc extraction
dd3b3f937b4 Merge branch 'master' of github.com:fmtlib/fmt
03d14c3beb4 Add support for multiple namespaces
416ac0fc7b6 Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
596add89930 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
a10e0321488 Improve docs
febeb51bde0 Documentation improvements
f18c2b65c46 Fix rendering of aliases
e3910b8a9cd Improve apidoc rendering
34b85678f9a Render members
e5c07c8356f Improve apidoc formatting
933d8ba3527 Improve apidoc formatting
e7ba467e9b1 Improve apidoc formatting
91a859ee4a2 Switch to markdown
6180442ed8c Render template parameters
418c5d09494 Render template params
aafdde7ef8e Switch to JavaScript syntax highlighter
d2ecfcfc450 Fix rendering on github
26b249435ee Improve doc presentation
4f330567e16 Improve apidoc generation
19927462497 Convert API doc to Markdown
a4d42c44f40 Cleanup comments
ddd8a54230e Add mkdocs config
fcd3e1e19c8 is_convertible_v -> is_convertible::value (#3983)
dc401b1c285 Move handlers outside of the docs
f7c5588c46d Cleanup syntax doc
a4e40677af5 Fix markdown
3479828e1d2 Fix markdown
191b0cb486a Fix markdown
e80f4a9b724 Cleanup syntax doc
022d8efec96 Update doc.yml
ca8eeb09eed Add glibc ext for day of month and week of year (#3976)
cddb41f6332 Fix markdown
0b0a05770fa Remove old contents
caa97da1f5c Add a word joiner to prevent line break
cf9833f40b7 Cleanup apidoc comments
b6638f9c297 Convert usage to Markdown
d9034601378 Fix markdown
ba2fbf6e1f3 Fix markdown
6e49bb887ad Remove CSS
e0f3e85076b Fix markdown
4fc3fce9cbf Improve syntax markdown
d6427ae7b21 Improve syntax markdown
3d6869065b6 Improve syntax markdown
551aa8d510c Add CSS
9e07045f500 Fix links
5735048b2da Improve mkdocstrings handler
33eba1049db Minor comment fix
43ab964c47b MSVC 17.10.0 + modules cannot find definition (#3972)
728f9bc388b Added std::type_info formatter (#3978)
e721046e274 Convert index to Markdown
552842c4ffd Convert syntax to Markdown
2c38766fd56 Add a mkdocsstrings handler
c8f1b4e7442 ci: Remove macos-11 runners, add macos-14 (#3980)
529dcd11feb Fix workflow, take 2
1441c660bfe Fix workflow
ecd1559732f Improve styles
a57a63dc0f7 Fix styles
8691f21b457 Fix styles
7e4fac3f4fe Improve styles
4a368625e88 Replace less with sass
f4e1ec81e25 Cleanup html
89c0d101055 Update description
12ef9e09d1d Fix class conflict
5afa6813883 Remove redundant github button
cc13102031e Fix navbar style
8ee6c940147 Reintroduce GCC-11 C++20 into CI (#3979)
766300b3c6f Update html
4115219ede7 Fix CSS path
95076981f78 Update documentation deps
1752d7fbbbe Added formattable concept (#3974)
1768bf97140 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
fc723fd6c70 Fix regression in #3710 (#3968)
b81761068b5 Check range_begin is dereferenceable (#3964)
706eabd5e58 Resolved warning C4127: conditional expression is constant (#3967)
028bffa0830 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
86741b3e1cf Bazel support: Add missing platform dependency (#3965)
75e892420ed Minor cleanup
0b5287f8b7d Remove unused function
a4715c48b42 Bazel support: Add utf-8 to Windows build (#3962)
8e728044f67 Fix format_as for non-const begin/end views (#3955)
1f436c646ed Cleanup locking/buffering
db1ee420e09 Cleanup unicode check more
7d6ae972b98 Cleanup unicode checks
3460b30fd5c Improve utf-8 detection
b7809f91e2c Enable Unicode support by default
1dc71f21ead Enable Unicode by default
8db8f224902 Optimize join_view
d2473b7b73c Simplify join_view formatter
328d256c605 Apply coding conventions
57593a123be Simplify map formatter
10508a30ecd Enable fmt::join for uncopyable iterators (#3946)
16cec4f5913 Make the map formatter correctly handle elements with custom formatters
77bfd8499af Split range and map formatters
3af8ac7a068 Privatize write_debug_string
ceb406d06c7 Remove range_default_formatter
19afc9c3bb1 Update README.md
6ff593b027b Update README.md
78420bedddb Update README.md
a21bc7b8694 Update doc.yml
97d0613ba99 Update doc.yml
04b0ae418b6 Update doc.yml
27dd1dcf082 Update lint.yml
3649c3954fd Update lint.yml
7650ed04a3d Fix to_nonnegative_int
9234fe83f94 Add tests to check that isnan doesn't cause FP errors
8a8f4825a3e Fix: isnan() shouldn't cause FP exceptions
17062a0c9b4 Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
88d3997f5e3 Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
48c908453d8 Fix CodeQL alert (#3945)
cf1f55f7985 Specialize `formatter` for all `std::basic_string` types (#3943)
400f6a8ee28 Dedup ADL begin/end lookup
a3e0931ea22 Update signature in the doc
51eeccd0fbf const void* is neither a fundamental nor string type
f30f1fd5141 Document formatter specializations provided by base.h
f4b256c6676 Fix warning C26439
f746a59a5c4 Cleanup FMT_ASSERT
ee0c3351a4d Fix format_to + FMT_STRING for wide character type (#3931)
99735764ea7 Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
aa52eb765de Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
116a9ce4880 Added FMT_IMPORT_STD feature macro (#3928)
5eb68c0ef25 Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
550437b29ec Resolved warning C4127: conditional expression is constant (#3923)
4e8640ed90a Fix: enable `FMT_NORETURN` without exception support too (#3917)
c70e7b74737 Coding conventions and minor fixes
71144eeaff2 implement year_month_day (#3913)
843e2935641 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
f5ec5ada2bc Update syntax.rst
3b5f3de3b57 Make CMake version message less confusing (#3907)
ca9193983bd Replace std::fill_n with fmt::detail::fill_n (#3909)
74a187288bb Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
88620e53a4f Range formatting documentation  (#3905)
5d63e87d235 Add a formatter for float128
aecec01b34a Initial support for extended FP types
5af88653eb9 Cleanup
45b772f85c0 Improve std::complex formatter to be compatible with P2197R0 (#3900)
53347891cf6 Make line buffering test less flaky
38881e5acfb Fix handling of the fileno macro
6c7cc6a06fe Fix group_digits for negative integers (#3901)
365c3fbd258 Bump timeout
c0dac839828 Use p2197 format for complex by default
bb882c03bc1 Simplify path formatting
12acd7988b5 Fix ambiguous call
c710bfa10ca Apply clang-format
73f2b344b20 Add std::complex formatter
9f3fc6e38b1 Add XChar support into nested_formatter
c17816cb4ab Fix invalid fmt::formatter<>::format return type (#3895)
df6e7b22f7f Fix relative path for cmake in usage doc (#3890)
c816fa67519 Fix a warning
e281749c5de Simplify range formatter
11f2f30f0b9 Simplify range formatter
13cfaa2ab03 Guard against usage of _isatty when header was not included (#3880)
0861db500f8 Support character range formatting  (#3863)
dfe5b12c08d Update os-test.cc (#3883)
09935d82390 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
3bc6cc1e63a Protect against locking formatters
4fcc317dc98 Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
ae1e93d34de Fix warning C4702 emitted from format.h (MSVC) (#3866)
f68f452deaa Workaround an ld warning on macOS
ebea5736a26 Fix chrono locale format bug for RHEL gcc (#3859)
ddf0b7d2b54 Fix warning C4365 emitted from printf.h (#3865)
0166f455f66 std.h c++23 build fix (#3856)
8e42eef4950 Don't error on min time_point
91b30e5b4ed More API details
7a63e233d28 Readd core.h to headers
44c3fe1ebb4 Fix handling of static separator
ae181cc93d0 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
3a6fb2fcafc Fix some typos. (#3843)
0879504796d Fix typo in typename. `containter_type` -> `container_type`. (#3844)
34f415b56ea Fix %S formatting for chrono durations with leading zeroes  (#3814)
e17bc67547a Make scan variadic
06311ed1ced Fix fixed rounding around zero in Dragon
e5bab8dab42 added formatter for std::expected (#3834)
9f5f39cb507 Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
ea581437e57 Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
6321a97d6bd Simplify color formatting
4b6b32f3884 Deprecate wide stream function
1b54ba4b9d9 Fix UB in format_arg_store implementation. (#3833)
71a4a8d4799 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
8e62172ab67 Fix a warning
28afff363c8 Improve buffering
af44c29744e Separate buffer initialization from flush
a1e1eedbb5c Minor cleanup
ffce3632b7a Add glibc stream support
b5669512b1a Don't hang on test failure
6435b169ec7 Add support for line buffering
6f260455aa5 Add scan_data::make_args

git-subtree-dir: external/fmt
git-subtree-split: 3b70966df5b88fb9c7c6a4c620ab663723802c31
nishinji added a commit to nishinji/dynarmic that referenced this pull request Oct 23, 2024
e9eaa27e5 Add std::exception to the docs
2b6a786e3 Use standard context in print
a16ff5787 Add support for code units > 0xFFFF in fill
601be1cbe Add support for code units > 0xFFFF in fill
58c185b63 Changing type of data_ to size_t to avoid compilation warnings (#4200)
a0a9ba2af Fix hashes
cc2ba8f9e Cleanup cifuzz action
a18d42b20 Simplify lint (#4197)
4046f9727 Fix -Wmissing-noreturn warning (#4194)
6bdc12a19 detail_exported -> detail
786a4b096 Cleanup fixed_string
2cb3b7c64 Update README.md
e9cba6905 Update README.md
02537548f Cleanup an example
c68c5fa7c Test FMT_BUILTIN_TYPES
22701d5f6 Address build failures when using Tip-of-Tree clang. (#4187)
e62c41ffb Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)
18792893d Silencing Wextra-semi warning (#4188)
c90bc9186 Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
c95722ad6 Improve naming consistency
db06b0df8 Use countl_zero in bigint
b9ec48d9c Cleanup bigint
3faf6f181 Add min_of/max_of
d64b100a3 Relax constexpr
ff9ee0461 Fix handling FMT_BUILTIN_TYPES
1c5883bef Test nondeterministic conversion to format string
cacc3108c Don't assume repeated evaluation of string literal produce the same pointer
fade652ad Require clang >=15 for _BitInt support (#4176)
96dca569a Module linkage fixes for shared build (#4169)
891c9a73a Cleanup format API
9282222b7 Export more
e5b20ff0d Deprecate detail::locale_ref
ff9222354 Simplify locale handling
80c4d42c6 Cleanup format.h
3b70966df Add width and alignment support to error_code
05226c4bd Remove type_identity
c283b458a Cleanup format.h
fe79932c2 Fix conversion warning on chrono.h (#4170)
23fcf1942 Apply clang-format
3f296e3d4 Workaround clang-format nonsense
a197a994c Add member format_as for std
6d43c755b Fix a typo
1f87b1c58 Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
ed8f8be70 More chrono padding (#4161)
55a0a9cd6 Cleanup pragma detection
5c926d9ff Remove FMT_UNCHECKED_ITERATOR
8b024662d Remove unnecessary inheritance
2f1424be9 Simplify handling of arrays
239aa6911 Remove unwrap_named_arg
497df6db6 Remove formattable
a25e594f6 Remove range_mapper
503dff93e Simplify has_formatter
3374a95b5 Simplify has_formatter
0e62e5dc7 Simplify has_formatter
7ce013971 Sync value ctors and type mapper
07e70151d format std::reference_wrapper
419772771 Improve handling of unformattable args
527e98e3f Remove unformattable
8a19b2db7 arg_mapper -> type_mapper
e97df46ae Cleanup type mapping
39f1e0903 Remove FMT_MAP_API
d832830f6 Cleanup type mapping
b329ff194 Always detect encoding on Windows
2af403ce6 Simplify type mapping
b7513b1d0 Simplify type mapping
761d35f76 Cleanup format_as handling
545dc4148 Add value ctor taking name_arg
3f5e45dd3 Simplify handling of _BitInt
2e3b6fbd9 Remove redundant check
a0328e1f9 Improve error reporting
de28ef5f8 Remove make_arg
2d5e561a6 Cleanup argument handling
6537fb439 Update changelog
50aac2ac9 Add reference to iterator_traits
538d8777e Workaround a bug in libstdc++
033531232 Demacrify UTF-8 check
463fe65f1 Cleanup FMT_COMPILE_STRING
1782a6eac Rename pragma macros
b52fb9884 Fix no locale build
b6a6ec7f1 FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
89999f167 Simplify pragma
b90b4bc98 Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
a1d6f9a97 Minor cleanup
689ec7a08 Cleanup
28143dc99 Cleanup chrono
1bde49e54 Remove FMT_USE_USER_LITERALS
f924d16e4 fix: pass /utf-8 only if the compiler is MSVC at build time
ab8f9d5b0 Cleanup format API
6f62db098 Cleanup format API
ab44ee752 Avoid shadowing
0d4e7e3fe Remove old workaround
8ee89546f Remove old workaround
a5deb96bf Update gcc version
61a241f03 Cleanup
ff82d8d2b Cleanup visit
0cc20f563 Remove iterator_t
2ba6785d8 Remove unused type
5644e7507 Remove unnecessary forwarding
5345cfe6b Adjust clang-format
3e9fdb3a1 Cleanup
3ada4aed2 Optionally exclude Unicode data
b37be85bf Optionally disable named arguments
70643b251 Don't use format_error if exceptions disabled
967e2d177 Cleanup
02c5d637c Cleanup
047bf75c2 Cleanup
2d3ba32e7 Improve debug codegen
6c90b31fb Improve debug codegen
9408c2ae8 Readd support for FMT_BUILTIN_TYPES
cc3ff1529 Cleanup
158893b38 Cleanup
f5a16a484 Cleanup
cad876be4 Switch to vargs
debf6f828 Switch to vargs
35f4fab4c Simplify value ctor
ff8f32478 Minor cleanup
bd48715d8 Simplify make_format_args
57d6df62f Simplify make_format_args
8ed4a9dcc Improve debug codegen
f288f45e4 Prepare for arg_store unification
5bf577ca5 Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (google/googletest@0320f51)
b6de66819 Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (google/googletest#3797)
6870e4b06 Workaround for GCC regression: false positive null-dereference in vector.resize
5cdef7603 Switch to gcc-13 for C++23 tests
a2c290bc3 Suppress a bogus MSVC warning
f1e3016c1 Optimize debug codegen
106dc8fd6 Reduce usage of type_identity
c3344e21e Cleanup base API
5f438c967 Remove make_arg
2a257798d Reenable FMT_BUILTIN_TYPES
22d50c1a9 Add support formatting std::expected<void, E>
1cc10ab68 Make is_formattable work with const/volatile void
6aaf7f4b7 Suppress a gcc 13 warning
b4d1d7f8e Improve debug codegen
1e0771c70 Fix broken CI for shared library on macos and linux (#4151)
3df47a467 Make is_formattable work with void
b4aea98b5 Small fixes for some issues with modules builds (#4152)
565461a0d Update MSVC workaround in compile-test
e2b723870 Cleanup format string API
1e0c6cdc3 Make symbol sizes shorter
a8bcf81f7 Minor cleanup
15694c9a8 Workaround an MSVC bug
4cae2da0d Workaround a clang 17 bug
79e5ae919 Fix locale tests on FreeBSD
894b71da8 Fix handling of _BitInt
7a6a2a79e Improve debug codegen
387395fc7 Cleanup base API
6a8841549 Add FMT_APPLY_VARIADIC
9a2aae37d Cleanup base API
880376836 Cleanup base API
4fa533c70 Cleanup base API
d980dd717 Cleanup base API
4eed488c6 Cleanup base API
a6ecd25b8 Improve debug codegen
9f29345ea Simplify mapped_type_constant
4986b4c0e Simplify arg_mapper
a5f4d9820 Simplify arg_mapper
bc3af5127 Reduce the number of instantiations
60740b7c2 Cleanup base API
9ef160d30 Cleanup base API
0b80978c2 Cleanup base API
4f39d8865 Cleanup base API
a86b1acf6 Add mapped_t
c9ef07bc4 Minor cleanup
8c4cfab57 Detemplatize parse
7e3aa6d98 Minor cleanup
7c6621600 Minor cleanup
1416edabb Cleanup base API
d4aeca992 Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
eee93ddff Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
b310a0d48 Simplify parse_format_string
985c3399d Make map static
4a55b0d5f Remove duplicate error in compile-time checks
64a6c8459 basic_format_parse_context -> parse_context
66920feee Improve compile-time checks
f4dad85c3 Improve handling of named arguments in compile-time checks
db4becabe Reduce template instantiations
fec2cc7af Improve handling of named arguments
621e9c17c Clarify why we have TYPE in native_formatter
bca704055 Simplify compile-time checks
8c4b17fe6 Simplify compile-time checks
516a2e204 Cleanup FMT_STRING
6797f0c39 Cleanup compile-time checks
db496b47c Remove old gcc hack
8eda3c8e9 Cleanup compile-time check
53316903e Move string_literal to format.h
8a484ad57 Minor cleanup
b446cc9e6 fwrite_fully -> fwrite_all
0204dd359 Fix _BitInt formatter
d8876b778 Minor cleanup
c0fab5e2f Reject modernity, embrace tradition
64313e915 Move redundant initialization to compile time
8e3da9da2 Improve binary size
2a2f73f7c Improve binary size
6dd9194ab Simplify format_to_result
a017bba06 Minor cleanup
5eb023cd5 Improve binary size
f213d8330 Disable locale more
b3ccc2d21 Disable locale more
7477dda28 Simplify is_utf8_enabled
e582d377c Simplify locale handling
cd8d01d8c Minor cleanup
377cf203e Add opt out for built-in types
5a0a37340 Add support for _BitInt on clang (#4072)
bbf8b3bd0 insert else branch to avoid unreachable code warning (#4130)
a3f3f2ec9 Fix gcc 8.1 - 8.3 bug and compilation (#4131)
e3676ca30 Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)
0379bf3a5 Workaround -Wstringop-overflow
c59ee969f Improve compile-time formatting (#4127)
1a79bbfa8 Cleanup chrono formatting
89af1ad77 Cleanup chrono formatting
0e741e0da Minor cleanup
d1acc667c Minor cleanup
4fb7008c9 Cleanup duration cast
589898e28 Fix %S doc
62382e365 Test full exponent range
94b8bc8ea Add an experimental writer API
020af729d Simplify ostream
fb07b37c5 Prioritize using the header files of self (#4116)
313542125 Minor cleanup
993f56cff Make sign a proper enum class
c6c830e20 Make align a proper enum class
b906c321f Get rid of bit fields
f8c0c8ee7 Cleanup public API
c71d03fcb Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)
50a8c3e9b Reduce format specs size
98314319a Fix ambiguous overload
0ce49aeb4 Add a test case
bf870ae3d Fix back_inserter lookup for non-std containers
c98518351 Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
9f0c0c468 Add 'n' specifier for tuple and pair (#4107)
9f269062a Simplify default formatter
15f939c3d Improve handling of dynamic specs
928a07bb0 Simplify handling of dynamic specs
789169973 Simplify handling of dynamic specs
58aba5a3d Deprecate append instantiation
5ee14d350 Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
b9c0e4dd8 Improve spec parsing
8445327c8 Simplify spec handling
8a06cee82 Optimize shortest float formatting
1db227496 Use us if Unicode is disabled
34ead4b39 Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
3bf26009e Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
d326c7298 Fix conversion a surrogate pair (#4095)
6e462b89a Get rid of std::copy
aff640c32 Make fmt::appender implement std::output_iterator concept (#4093)
e23fb6a8b Apply clang-format
16b3542f7 Remove float_specs
29d7e5805 Remove float_format
919f7c5e7 Reduce float_specs usage
a80d668a5 Diagnose invalid precision
707d7d923 Apply coding conventions
de6ed8df8 Test alignment
ffdc3fdbd Align digits table
0c0281379 Fix doc build
f8581bcec Add redirect page
31b3c325f Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
52b32081f Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
0b0b09f40 Constrain format_uint
4173a6315 Improve format_decimal
4239dfe08 Simplify format_decimal
ba36a0481 Remove counting_iterator
f6b4a23b8 Unbloat chrono
42d3d703b Remove the commenting attempt
9fcd9c4c1 Remove all warning suppressions
7f157dca0 Workaround gcc stringop-overflow bug
524ca1c71 Improve parsing
bdc45eef7 Simplify on_text
439b6d721 Reenable print optimization
3cc32fdc8 Mark more formatters nonlocking
0c9fce2ff Update version
b47d662e7 Update changelog
e84297f25 Bump version
0ad234ad1 Update changelog
de684ef77 Make appender compatible with fill
447c6cbf4 Update changelog
bc8d32e96 Update changelog
0f87d6ffa Improve sign processing
808ea0191 Cleanup test
55e76e6c2 Update check-commits script
8757f1f8d Add a script to test multiple commits
9228f349a Inline visit
e10643add Add a perf-sanity test
f29a7e797 Don't use memcpy in append
f97deb0d7 Minor cleanup
354135351 Apply minor optimization
5ef93a9f8 Expand FMT_FORMAT_AS to include implicit conversions (#4055)
c9102619d Avoid extra reserve
58d792b6d Apply minor optimizations
25adca566 Remove redundant overload
1408f1824 Simplify iterator detection
3fe4641d3 Add 2 more constexprs to fix compile error (#4065)
33e7ed1eb Improve handling of back_insert_iterator that writes into a buffer
6a192f8d3 Fix broken links in README.md (#4066)
92cdbbae0 Update api.md
13038f37e Support printing (const) volatile void* (#4056)
672522575 Update changelog
e60ff504e Fix usage with std::generator (#4057)
ccea33807 Update lint.yml
92227c77a Improve support for non-POSIX platforms more
486838f26 Improve support for non-POSIX platforms
a43391199 Update changelog
7a8b54a0e Don't confuse Glib::ustring with std::string
b50e685db Update version
e314776c2 Fix version check
2208143ac Update changelog
a96259701 Improve std::complex formatter (#4050)
232c6bc48 Update changelog
503e183b9 Bump version and add version validation
e50c8b6bd Fix disabling Unicode support
9d946a2fc Fix compilation errors due to `make_format_args` in gcc 14.1.1 with c++20 (#4042)
c4f6fa713 fix: Make basic_format_arg::visit() const (#4043)
10f12fd3d Bump github/codeql-action from 3.25.3 to 3.25.11 (#4041)
24c1f886a Remove double has_value check (#4040)
0041a40c1 Update version
686339f7c Minor cleanup
e355c116f Tweak wording in the changelog
707bb5b36 Fix grammar
6f68c62cb Ignore doxygen files
d059fe42a Ignore vagrant files
43c5b3474 Fix package build
e89568e6c Update vagrant config
f5bf6f778 Update build script
bd9af9a9f Update changelog
165210890 Fix typo
84f613182 Fix formatting of release notes
dedc17c1c Fix handling of tables, take 3
5d0adb6d7 Fix handling of tables, take 2
3f251fc9c Fix handling of tables
1930ed4bf Fix release script
26d07e49b Fix formatting
949d5d179 Fix build script
53186535d Bump version
602e3c3d1 Update build script
2952130cb Fix doc build
1e94a463e Create build dir
a34120329 Update doc script
0fae326c4 Update site dir
8b1fcf5cc Update doc dir
ec46c3de9 Update build script
2d9d32c62 Update build script
4703ade76 Update build script
52e7b25f9 Update changelog
b61c8c3d2 Change actions/github-script from e69ef54 -> 60a0d83 (#4038)
bbf44cc00 Defines are still needed for FMT_MODULE as well (#4027)
06948fa71 Pin deps
d9899492c Simplify deps
ff72f553e Update changelog
7f951f250 Optimize range formatter
7ae102bd6 make format_int constexpr (#4032)
edde97312 Update test names
b1efe8516 Prevent silent data loss
2c0d9e940 Add a define to force the use of fallback_file
18a9676d9 Add an experimental path
af8cd4e40 Module purview can only contain direct preprocessor code (#4029)
514b6955d Suppress a bogus warning in MSVC (#4023)
ac9677323 Added missing std::declval for non-default-constructible types (#4024)
c00149f5e Fix a typo
71244e07d Cleanup includes
a57b0194a Correct comments
febd8ed5f Cleanup includes
0434026a9 Remove build-docs.py
0882bfef2 Don't deploy docs from a PR
2a2048a78 Don't pass seconds as a double in examples
ea1187f4c Generate doxyxml in build
1334eedaf Improve docs
709169a4d Set the anchors
2bf1b3004 Update changelog
8687315e8 Guard more system headers by `FMT_MODULE` (#4006)
98dd673cf Cleanup cmake
a245a8d4b Update changelog
e0b66e8f8 Remove dependency on <ranges>
794df69c8 Added range_format::(debug_)string formatter (#3973)
1d9df9ce1 Remove a redundant comment
c4ea90325 Only install `FILE_SET` when needed (#4013)
3e3062c13 Update msys2/setup-msys2 to v2.23.0 (#4012)
b998b4711 Update changelog
bff1de15e Fix deploy docs (#4010)
90932dd20 Update doc.yml
232c5e854 Update doc.yml
26cdd1cb3 Update doc.yml
ad34d4df9 Update doc.yml
f79626444 Fix doc workflow
28673d969 Update api.md
a5c1b5d44 Update changelog
cc4d1245b README.md: update to remove "not yet release" remarks on clang-tidy
18a325f37 Disable footer
a1337aa8a Merge literal-based API doc into the parent section
51a690ab1 Check if `.cc` exists in `fmt.cc` (#4005)
f332a81b7 Remove unnecessary build step
33a1de57a Deploy docs, take 3
c7252b334 Deploy docs, take 2
3f71b6066 Deploy docs
215ce4d97 Fix error getting config 'user.email'
89f3a810e Fix error getting config 'user.name'
1f170d3fe Install mike
d175db8f5 Fix doc CI and clean workflows
a8cfc0cc2 Deploy dev docs
65e278b28 Don't pollute the source directory
3620c174a Fix doc build
702b6f378 Update docs
ed21034a1 Implement deployment
76d57f93d Remove old script
6ceef04df Merge branch 'master' of github.com:fmtlib/fmt
ab6b257a3 Implement doc building
077e4ae74 Added generator expression to /utf-8 compile option (#3995)
d4a8d26c5 Temporarily disable doc build in CI
b5c8fd783 Fix doc build
735a61382 Build docs
a6e6e9c3c Fix a link
e6d4f927c Improve docs
8de3e87da Add a CMake option to control Unicode support
46d2acb3b Don't add `os.cc` to sources with FMT_MODULE (#4004)
fad0222a0 Export `compiled_string` so that user can customize one (#3999)
d1cab6a9a Drop parentheses
fcb6a452d Improve docs
72928661e Improve docs
d6ec6b7e2 Update docs
e845fc572 Ignore old changelog
2bf811b1d Also allow compiled format for clang >= 12 (#4001)
9653eed8e Don't hide the navbar
9b5d1826d Update changelog
fe741daaa Mention namespace `fmt::literals` in the document (#4002)
0f6e71654 Fix missing includes in fmt.cc (#3994)
a3d95971b Update changelog
7bd11b5cd Remove a redundant extension to reduce divergence from std::format
21372bc0b Update cmake config
a0495e3eb Update changelog
cba5e8615 Update changelog
e9609dec1 Update changelog
6ebbaf4b4 Split changelog
4e31d2dc6 Update changelog
fcc0b4997 Fix `FMT_INSTALL` with `FMT_MODULE` (#3998)
0560c334f Fix build with `FMT_MODULE=OFF` (#3997)
db9365a11 Update lint.yml
5c445bc42 Reverting check to make shorter branch comes first
94f96d112 Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
6abc1204f Check if the generator is ninja
a9b851763 Use native c++ module support from CMake
fba06f0ee Update changelog
598e51808 Remove redundant tests
0a555818d Usage -> Get Started
966a1b3d4 Update docs
adb8e27db Fix rendering of template parameters
2c84fa9ac Update docs
8da0240db Improve docs
83bf14237 Update changelog
595e54919 Cleanup docs
c636967c5 Improve docs
2392367ef Set primary color
06f8e02fb Remove rtd compat
c71d08fc2 github: update lint.yml to post details on formatting issue (#3988)
d9b90029b Update docs
c0029b984 Update docs
1ac9b317f New landing page
f68dee535 Fix syntax highlighting
fb9ee2ed6 Simplify doxygen config
d29ceaf91 Update .gitignore
9b12491c1 Migrate docs
ab29ef37d Migrate docs and cleanup
97117cbb5 Migrate to mkdocs
886237ae7 Emit anchors
904f2a5c2 Remove a non-pinned dependency
dab1a65d2 Sort out directory URI config
509d01810 Fix a link
75ab3bc2a Add a script to invoke mkdocs
871538d3a Fix install dir
250456d5a Migrate to mkdocs
38ba3d399 Migrate to mkdocs
071411397 Add macro support to api doc extraction
dd3b3f937 Merge branch 'master' of github.com:fmtlib/fmt
03d14c3be Add support for multiple namespaces
416ac0fc7 Bump actions/checkout from 4.1.0 to 4.1.6 (#3986)
596add899 Bump ossf/scorecard-action from 2.3.1 to 2.3.3 (#3984)
a10e03214 Improve docs
febeb51bd Documentation improvements
f18c2b65c Fix rendering of aliases
e3910b8a9 Improve apidoc rendering
34b85678f Render members
e5c07c835 Improve apidoc formatting
933d8ba35 Improve apidoc formatting
e7ba467e9 Improve apidoc formatting
91a859ee4 Switch to markdown
6180442ed Render template parameters
418c5d094 Render template params
aafdde7ef Switch to JavaScript syntax highlighter
d2ecfcfc4 Fix rendering on github
26b249435 Improve doc presentation
4f330567e Improve apidoc generation
199274624 Convert API doc to Markdown
a4d42c44f Cleanup comments
ddd8a5423 Add mkdocs config
fcd3e1e19 is_convertible_v -> is_convertible::value (#3983)
dc401b1c2 Move handlers outside of the docs
f7c5588c4 Cleanup syntax doc
a4e40677a Fix markdown
3479828e1 Fix markdown
191b0cb48 Fix markdown
e80f4a9b7 Cleanup syntax doc
022d8efec Update doc.yml
ca8eeb09e Add glibc ext for day of month and week of year (#3976)
cddb41f63 Fix markdown
0b0a05770 Remove old contents
caa97da1f Add a word joiner to prevent line break
cf9833f40 Cleanup apidoc comments
b6638f9c2 Convert usage to Markdown
d90346013 Fix markdown
ba2fbf6e1 Fix markdown
6e49bb887 Remove CSS
e0f3e8507 Fix markdown
4fc3fce9c Improve syntax markdown
d6427ae7b Improve syntax markdown
3d6869065 Improve syntax markdown
551aa8d51 Add CSS
9e07045f5 Fix links
5735048b2 Improve mkdocstrings handler
33eba1049 Minor comment fix
43ab964c4 MSVC 17.10.0 + modules cannot find definition (#3972)
728f9bc38 Added std::type_info formatter (#3978)
e721046e2 Convert index to Markdown
552842c4f Convert syntax to Markdown
2c38766fd Add a mkdocsstrings handler
c8f1b4e74 ci: Remove macos-11 runners, add macos-14 (#3980)
529dcd11f Fix workflow, take 2
1441c660b Fix workflow
ecd155973 Improve styles
a57a63dc0 Fix styles
8691f21b4 Fix styles
7e4fac3f4 Improve styles
4a368625e Replace less with sass
f4e1ec81e Cleanup html
89c0d1010 Update description
12ef9e09d Fix class conflict
5afa68138 Remove redundant github button
cc1310203 Fix navbar style
8ee6c9401 Reintroduce GCC-11 C++20 into CI (#3979)
766300b3c Update html
4115219ed Fix CSS path
95076981f Update documentation deps
1752d7fbb Added formattable concept (#3974)
1768bf971 Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind (#3970)
fc723fd6c Fix regression in #3710 (#3968)
b81761068 Check range_begin is dereferenceable (#3964)
706eabd5e Resolved warning C4127: conditional expression is constant (#3967)
028bffa08 Update checks for dynamic_cast usage when compiled with no rtti (#3963)
86741b3e1 Bazel support: Add missing platform dependency (#3965)
75e892420 Minor cleanup
0b5287f8b Remove unused function
a4715c48b Bazel support: Add utf-8 to Windows build (#3962)
8e728044f Fix format_as for non-const begin/end views (#3955)
1f436c646 Cleanup locking/buffering
db1ee420e Cleanup unicode check more
7d6ae972b Cleanup unicode checks
3460b30fd Improve utf-8 detection
b7809f91e Enable Unicode support by default
1dc71f21e Enable Unicode by default
8db8f2249 Optimize join_view
d2473b7b7 Simplify join_view formatter
328d256c6 Apply coding conventions
57593a123 Simplify map formatter
10508a30e Enable fmt::join for uncopyable iterators (#3946)
16cec4f59 Make the map formatter correctly handle elements with custom formatters
77bfd8499 Split range and map formatters
3af8ac7a0 Privatize write_debug_string
ceb406d06 Remove range_default_formatter
19afc9c3b Update README.md
6ff593b02 Update README.md
78420bedd Update README.md
a21bc7b86 Update doc.yml
97d0613ba Update doc.yml
04b0ae418 Update doc.yml
27dd1dcf0 Update lint.yml
3649c3954 Update lint.yml
7650ed04a Fix to_nonnegative_int
9234fe83f Add tests to check that isnan doesn't cause FP errors
8a8f4825a Fix: isnan() shouldn't cause FP exceptions
17062a0c9 Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#3950)
88d3997f5 Bump github/codeql-action from 3.24.9 to 3.25.3 (#3949)
48c908453 Fix CodeQL alert (#3945)
cf1f55f79 Specialize `formatter` for all `std::basic_string` types (#3943)
400f6a8ee Dedup ADL begin/end lookup
a3e0931ea Update signature in the doc
51eeccd0f const void* is neither a fundamental nor string type
f30f1fd51 Document formatter specializations provided by base.h
f4b256c66 Fix warning C26439
f746a59a5 Cleanup FMT_ASSERT
ee0c3351a Fix format_to + FMT_STRING for wide character type (#3931)
99735764e Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back (#3937)
aa52eb765 Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. (#3930)
116a9ce48 Added FMT_IMPORT_STD feature macro (#3928)
5eb68c0ef Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. (#3924)
550437b29 Resolved warning C4127: conditional expression is constant (#3923)
4e8640ed9 Fix: enable `FMT_NORETURN` without exception support too (#3917)
c70e7b747 Coding conventions and minor fixes
71144eeaf implement year_month_day (#3913)
843e29356 Bump github/codeql-action from 3.24.6 to 3.24.9 (#3915)
f5ec5ada2 Update syntax.rst
3b5f3de3b Make CMake version message less confusing (#3907)
ca9193983 Replace std::fill_n with fmt::detail::fill_n (#3909)
74a187288 Implemented fmt::day, fmt::month, fmt::year and related unit tests (#3906)
88620e53a Range formatting documentation  (#3905)
5d63e87d2 Add a formatter for float128
aecec01b3 Initial support for extended FP types
5af88653e Cleanup
45b772f85 Improve std::complex formatter to be compatible with P2197R0 (#3900)
53347891c Make line buffering test less flaky
38881e5ac Fix handling of the fileno macro
6c7cc6a06 Fix group_digits for negative integers (#3901)
365c3fbd2 Bump timeout
c0dac8398 Use p2197 format for complex by default
bb882c03b Simplify path formatting
12acd7988 Fix ambiguous call
c710bfa10 Apply clang-format
73f2b344b Add std::complex formatter
9f3fc6e38 Add XChar support into nested_formatter
c17816cb4 Fix invalid fmt::formatter<>::format return type (#3895)
df6e7b22f Fix relative path for cmake in usage doc (#3890)
c816fa675 Fix a warning
e281749c5 Simplify range formatter
11f2f30f0 Simplify range formatter
13cfaa2ab Guard against usage of _isatty when header was not included (#3880)
0861db500 Support character range formatting  (#3863)
dfe5b12c0 Update os-test.cc (#3883)
09935d823 Bump github/codeql-action from 3.23.2 to 3.24.6 (#3876)
3bc6cc1e6 Protect against locking formatters
4fcc317dc Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#3875)
ae1e93d34 Fix warning C4702 emitted from format.h (MSVC) (#3866)
f68f452de Workaround an ld warning on macOS
ebea5736a Fix chrono locale format bug for RHEL gcc (#3859)
ddf0b7d2b Fix warning C4365 emitted from printf.h (#3865)
0166f455f std.h c++23 build fix (#3856)
8e42eef49 Don't error on min time_point
91b30e5b4 More API details
7a63e233d Readd core.h to headers
44c3fe1eb Fix handling of static separator
ae181cc93 C++23 compatibility: basic_string_view cannot be constructed from nullptr (#3846)
3a6fb2fca Fix some typos. (#3843)
087950479 Fix typo in typename. `containter_type` -> `container_type`. (#3844)
34f415b56 Fix %S formatting for chrono durations with leading zeroes  (#3814)
e17bc6754 Make scan variadic
06311ed1c Fix fixed rounding around zero in Dragon
e5bab8dab added formatter for std::expected (#3834)
9f5f39cb5 Bump actions/upload-artifact from 4.0.0 to 4.3.0 (#3837)
ea581437e Bump github/codeql-action from 2.22.5 to 3.23.2 (#3836)
6321a97d6 Simplify color formatting
4b6b32f38 Deprecate wide stream function
1b54ba4b9 Fix UB in format_arg_store implementation. (#3833)
71a4a8d47 Really fix MSVC warning about <bit> only being available in C++20. (#3832)
8e62172ab Fix a warning
28afff363 Improve buffering
af44c2974 Separate buffer initialization from flush
a1e1eedbb Minor cleanup
ffce3632b Add glibc stream support
b5669512b Don't hang on test failure
6435b169e Add support for line buffering
6f260455a Add scan_data::make_args
e1832bcf0 Consider ADL begin() and end() when joining ranges (#3824)
2caf1b3b9 scan more
668fe2653 doc: fix the chrono %C example value (#3822)
06fc25f26 Don't always enable typeid usage under msvc (#3821)
11ba1270a Fix flush
4c5b4af04 Improve name argument validation
2eb363297 Fix custom formatter example (#3820)
0147e0822 Document println
6b68dff90 Write directly to a stream buffer
b2cde48de Reduce usage of float_specs
8510838db Make format_specs not depend on code unit type
090ee1359 Pass char type to write
470c4e6ca Fix scope for glibc ext for sec, min, and hour (#3812)
13ec66bf7 🛠 Add basic array safety functions and backwards-compatible result type (#3805)
64091b7a2 Fix naming
e95482353 Make fill independent on code unit type
f80a2bee1 Update README.md
83652dfee Restrict always inlining to the top-level API
d249fd9f8 Workaround for gcc 6 (#3810)
73d91351b Mark `iterator_buffer` move constructors as `noexcept`. (#3808)
fe0d910a7 Replace multiple error reporting mechanisms with report_error
f9294f0e6 Improve handling of format specs
c98a5a599 Remove unnecessary checks
5f30d3710 Update README.md
3647feaad Improve scan
e420a58f2 Improve scan prototype
ca37503f9 scan -> scan_to
123e058eb Improve scan prototype
f924d20db core-test -> base-test
d70729215 Fix constness
362b40c1a Fix docs
56fa4d61f Fix docs
cacdf1439 Remove nonstandard alias
4d766b167 Invert dependencies
c10859f15 Remove deprecated options
d0963d482 Make ranges only depend on fmt/base.h
da0f84c42 Cleanup copy functions and move to base.h
59baac522 Remove unused functions
21b045829 Use std::allocator_traits (#3804)
df6a3564b Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." (#3807)
7c163acfd Fix conversion warning in filesystem::path formatter (#3806)
1b55d1030 Update api.rst
5d9d376d4 Update api.rst
6064b85c1 Update api.rst
deb584c0e Update build.py
297b22f58 Remove <memory> dependency
3c9608416 Remove redundant detection of experimental string_view
0cdee904a Add a missing num_bits specialization
7e58af4ea Fix an ICE on clang <= 15
f1924d326 Cleanup macros
52174953b Cleanup conseval detection
b71d98774 Reduce usage of FMT_COSTEXPR20
810d1750f Cleanup constexpr detection
170ffb1ff Simplify constexpr checks
e470ba8b7 Simplify exception detection
bf98e3e4c Cleanup macros
fd87a23d3 Reduce memory dependency
b71ef65b6 Remove iterator dependency
c5340539f Remove unnecessary trait specialization
971f7ae76 Minor cleanup
6159e2b0a Bazel support: Switch to globbing to collect header files
da7a232b9 Cleanup contexts
2595bf57b Fix formatting of ranges with begin()&/end()&
6f5d53ce0 Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
961df829b Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
401f08739 Fix write_uintptr_fallback
725992928 Update build.py
3d84b45a2 Update core.h
4331abed2 Move fmt::format to fmt/format.h
fc8f6ba93 Separate compilation for println
58a6bd48a Add core.h for compatibility
79f1506fe Add base.h
4d616479b Simplify make_format_args
cf8426cf8 Sort links on fmt/std.h section
e915d5216 Update api.rst with support provided by std.h
7ba642054 Optimize debug codegen
97867e279 Extend Bazel build support to bzlmod (#3792)
8875cf96c Fix spelling: othewise ==> otherwise (#3791)
f7ed65fa4 Simplify format_arg_store
f34f31b32 Move format_arg_store to detail
fb66131ef Improve arg storage
6af30d8f7 Remove legacy workaround
c177324ba Simplify basic_format_args
545d37a8b Remove extra level of indirection when building args
9f73e45ca Update README.md
a5ae9ae19 Split standard context into a separate class and optimize
23e8109d8 Remove buffer_appender
679af1f5c Remove redundant get_container
48d7fb265 Merge back_insert_iterator and appender
f348d1a21 Reintroduce back_insert_iterator detection
df67df7b4 Add is_back_insert_iterator
17f79ac6c Minor cleanup
dbdfc99fa Don't crash if flush fails during unwinding
c1d9e8840 Remove unnecessary final and apply clang-format
7d73ef85f Cleanup ranges
ae9b0b521 Disable transitive includes
f73388f1a Update README.md
08878044c Update readme
1b7d9db0c Remove string dependency
0641b844a Cleanup string traits
1e938dda2 Simplify char_t
2e5b14bf6 Add compile-time checks to color formatting
e0b604beb Remove a redundant function
6c617c967 Update documentation (#3789)
bee495c97 Remove dead code
794e1b614 Remove redundant overload
c7061776a Bump version
dc52d176d Cleanup dependencies
0e3e61cc0 Remove limits dependency
800a0bb23 Remove dependency on string_view
f2e43f967 Remove char_traits dependency
c9287eb9f Reduce char_traits usage
61f144bd6 Move copy_str for format.h
4687f8e37 Remove dependency on <iterator>
f2c55f6bb Remove dependency on back_insert_iterator
c9d233c0a Decouple appender from back_insert_iterator
242bcaec0 Update README.md (#3784)
4e43a4699 Clarify why we can't have nice things
c36ed77ff Get rid of addressof
e2ab9ab22 Add FMT_GLIBCXX_RELEASE
0378d171f Replace remove_cvref_t with remove_const_t
baea8f690 Update docs
eedfdb4c5 Fix docs
5dbd7fd77 Switch to bootstrap 4 because 5 breaks menus
7fd180268 Fix FMT_OS definition (#3783)
63ce17085 Replace virtual dispatch with normal functions in buffers
74ffea0dc Simplify to_ascii
6c3b2d491 Fix constness
4ec9c2906 Apply coding conventions
f4a7d40dc Dedup throw_format_error
9659f22d3 Don't include os.cc in the module if it is disabled via FMT_OS
068bf9bad Make visitation compatible with std::format
50565f985 Move misplaced join overloads to fmt/ranges.h
0b39d6710 Remove detail::error_handler
c14238503 Improve the pipe API
398ddb8fe Don't include fmt/os.h in the module if it is disabled via FMT_OS
583729493 Remove duplicate version
6c5bcca81 Fix the release script
67c0c0c09 Update version
051b31531 Fix changelog update
b0569451a Bump version
ce3161887 Add overflow check
1a95e5d1b Update changelog
e1aac4266 Implement hex specifier
1705600be Remove optional
0c345dccd Bump actions/upload-artifact from 3.1.2 to 4.0.0 (#3782)
d33731d20 Implement empty format specs
c068c7c62 Add sentinel support
13fa26745 Update changelog
ebd5c8f99 Consistently use `fmt::` when invoking `format_to`. (#3779)
f5ca178c1 Complete scan_handler
138a64bfb Privatization
a5bacf3fe Remove custom_formatter
4aa24f54c Implement visitor for scan
e33c1568c Implement scan argument access
23826669c Cleanup error handling
8e6b2541a Apply coding conventions
4939d67a8 Cleanup scripts
bd3273021 Update release script
5f9058dbd Improve scripts
28576b060 Workaround github markdown mess
5ddd0cad1 Add a visitor for scan arguments
41d31512b Remove unused import
44b76d88f Fix docs
3324152db Update the release script
55190dadb Cleanup chrono test
63e4b93cf Update changelog
c64edcd32 Fix grammar
8c520b4fd Fix comment
2e6bb706b Update changelog
a13d1b12e Update changelog and docs
47a0eec2e Remove unnecessary alias
a8bed3895 Update changelog
e206043d2 Update changelog
4a6f0be5b Improve scan test
662d78415 Fix scan test
d5823aae3 Ceci n'est pas une pipe
d83c1b8d4 Add initial specifier support to scan
bfba2f9e9 Improve iterator handling in scan
a3bf40838 Initial range support in scan
ea1066bbe Cleanup test
be57ec7ec Fix chrono-test on platforms with 32-bit time_t
305747d44 Update changelog
47c8f63d0 Remove redundant specifier
76e8f1040 Update changelog
18ca2248d Document '?'
3a25a5848 Update README.md
4cbf6182e Remove peek
88d19f5de Cleanup scan
62529aad1 Apply coding conventions
df62c8678 Mark grow as deprecated
eef6dbafb Refactor file layer in scan
41c243335 clang-format
0a9d08fef Simplify fallback
e450b7aeb Implement locking
c5a85f8d7 Handle end of input in scan
1fd093add Update changelog
c4f2de493 Improve scan
d06921d8d Update changelog
fc0f84d29 Move formatbuf to ostream.h
86f2ec5de Fix a warning
a537c39fd Move conjunction to where it is used
7c240d52c Remove unused symbol
f64a6a2ec Update changelog
6f9a81678 Enable test
e7875ae0f Fix formatting of some nested ranges
3eb3aef57 Fix handling of set_debug_format
56d7a8c15 Simplify test
968fb9d16 Update changelog
b5f6b36b0 Update changelog
44dd6c0e0 Add glibc support to scan
3a0f4af4e Refactor file layer
1ca1a4a7a Update scan test
dbd9c89b3 Fix URI
9cd2b87e1 Fix wchar_t to char conversion warnings (#3764)
d5da9cc40 Apply clang-tidy
3a2c50d4a Cleanup test
18c43a214 Cleanup test
6b07fff0d Make hex float test more stable on different libc (#3762)
9165434e5 Enable consteval in MSVC VS2019 version 16.10 (#3757)
b8f81dede [StepSecurity] ci: Harden GitHub Actions (#3759)
923005bd4 Add stdlib version check for C++20 (#3754)
afa85e46c Apply clang-format
6025bd7c3 Add localized formatting to non-decimal presentation types of ints (#3750)
5471a2426 Update README.md
7d757cba5 CI: add lint github workflow for running clang-format (#3749)
6855bd532 Apply clang-format
bbee75357 Make clang-format happy
89860eb90 Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode (#3751)
274ba2645 allow format_as() to format reference (#3739)
9048add99 Report out-of-range errors in chrono
640e0c02d Update README.md
6392dba21 Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated (#3748)
9a6fd11a5 Fix typo in gmock-gtest-all.cc (#3747)
dee0dbf07 Update README.md
2fabb43b9 Fix README file table (#3744)
9c3c107c8 Fix compile with GCC 6.3.0 (bug #3738) (#3743)
4497a2d09 fix cmake build
81629e425 Convert README to Markdown
6f95000b7 Update README.rst (#3737)
573d74395 error on bool arg w/ char pres_type (#3734)
5d55375a8 Experiment with scan buffering
71bd51e6c Implement `%j` specifier for `std::chrono::duration` (#3732)
f57508924 Simplify test
99b9fbf8e Add formatter for std::source_location (#3730)
8f83ee2ad Apply coding conventions
2a8a69446 Clarify that mixing code unit types is deprecated
04718008a Minor cleanup
b87ea22e2 Add native and generic representation for filesystem::path format spec (#3729)
5cfd28d47 Experiment with FILE in scan
73fae91e6 Cleanup .gitignore
6988be387 Bump version
2d1e4bb35 Remove a useless comment
7f8d41911 Fix overflow in time_point formatting with large dates (#3727)
ccc9ab7bf Include correct header
c4283ec47 Fix a libc++ warning and move the test to the right place
c3f9a7344 Apply coding conventions
06f1c0d72 Clarify that calling non-const format is deprecated
ffa5b14fe Make gtest-extra-test more portable
bea7ecc71 Disable locale-specific tests on OpenBSD
8a3938851 Fix the default locale in ostream_formatter
dd6f657a7 Remove this-> from decltype (#3723)
c13753a70 Fix handling of invalid Unicode in precision
864a8b5f3 fix: support optional<T> with format_as(T) (#3713)
649fe0fc8 Fix handling of null strings with the s specifier
45e124ee4 Added workaround for old xcode compiler bug (#3716)
045b05d79 Revert CMake changes
ec628561c Fix formatting
cbb18c237 Add support for CMake 3.28 C++  modules (#3679)
6b0082e6c Improve OpenBSD workaround
52a99a67f Set PDB path for Visual Studio (#3702)
4548d1eae Make write_escaped_path more portable
050d41e85 Make get_path_string more portable
1c023c008 Update bootstrap
b35d4e40f fix: use FMT_HAS_INCLUDE instead of __has_include
acaf83f40 feat: enable building with gcc 4.8
05aa78377 feat: include xlocale.h only if exists
05dda9490 Bump ossf/scorecard-action from 2.2.0 to 2.3.1 (#3697)
caf4fcb20 Bump github/codeql-action from 2.21.5 to 2.22.5 (#3696)
e0d3e346d Wrap Char in array to avoid pointer arithmetic (#3695)
19276d732 Fix an inconsistentcy between to_string and format
2a2c6e676 Fix flushing C++ iostreams before calling write_console() (#3689)
3b7f58a8b add buffer flush before direct write
e9bbd4069 Update README.rst
857cce7a8 Update README.rst
081d5b0d8 Update README.rst
baae1ed65 add meson instructions to usage docs (#3677)
2ac6c5ca8 Fix error C2668 on Windows with option /std:c++latest (#3680)
d9063baf2 Fix perf regression in ostream::print
f7542c576 Apply clang-format
130cf54cb Use a more sensible locale in tests
8e0ca0589 Use a more sensible locale in tests
bf497ac06 Cleanup test
bb8d50f04 add a suffix for days and fix the one for minutes (#3664)
f76603f21 fix: make std::bitset formattable again (#3660)
f91828936 Bump actions/checkout from 4.0.0 to 4.1.0 (#3666)
72e883e16 Diagnose unsupported code unit types
b3bf23f3c Remove leftover usage of the __std_stream header (#3663)
349e1c48d Update README.rst (#3661)
79dbd3f19 feat: add security policy to readme (#3655)
2dd4fa874 Remove an ostream hack incompatible with libc++ 17
44f3d8a77 README.rst: fix broken LICENSE link (#3653)
06b20387a Optimize fractional_part_rounding_thresholds
649f2460d Apply clang-format
7529af8f9 Workaround intel bug (#3652)
a3a74fa7f fix: mark fmt::streamed() as constexpr (#3650)
8ef4db4b9 Use datatype of underlying data (#3647)
492a99c96 Fix error: 'char_traits<custom_char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Werror,-Wdeprecated-declarations] (#3634)
3baaa8d89 Update docs
0e01e46c1 Implement nested formatter
f6ca4ea19 Avoid a space in the UDL definition (#3610)
a8a73da7e Add an option to avoid wchar APIs on Windows (#3636)
aa3c5a412 Clarify I/O error handling
bfdf50d18 Minor cleanup
571a9b7b2 Replace usage of C++17 library feature with C++11 (#3638)
6c088be8e Cleanup handling of visibility
016b1faed Fix symbol leak (#3627)
e25370093 Remove unnecessary spaces (#3642)
d4987546a Add an experimental nested formatter
5bdce181f Mark styled_arg as a view to prevent lifetime issues
a4b7b24b7 fix redundant redeclaration of ‘constexpr’ static data member (#3630)
fac60bd4f Remove type cast as mxe(mingw32) compiler complains about useless-cast (#3624)
f5be4a8a9 Bump actions/checkout from 3.5.3 to 4.0.0 (#3623)
84e666151 Workaround a gcc 6.4 issue
ac3240439 Update dependabot.yml
8894ae87f Bump github/codeql-action from 2.21.4 to 2.21.5 (#3622)
ca608547e Workaround a C++11 issue
23cf4055a Simplify URLs
46c8301ee Remove rst2md
a79a97982 Cleanup ranges test
457bb6a98 Merge the copyright comment since there are many contributors
61aef4111 Cleanup changelog
2a45fd30f Drop the rst suffix from the license file
24296cff1 Update ChangeLog.md
3d1d20a6a Update ChangeLog.md
0302c527c Update ChangeLog.md
154eccfeb Convert changelog to markdown for compatibility with release notes
35dc5def3 Revert "Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)"
e1fc481d6 Merge the copyright comment since there are many contributors
e8259c529 Bump actions/checkout from 3.5.3 to 3.6.0 (#3615)
637925155 Update version
951fd9e66 Update changelog
be89b9a41 Merge branch 'release' of github.com:fmtlib/fmt
28e2d3b64 Bump version

git-subtree-dir: externals/fmt
git-subtree-split: e9eaa27e5a4f30d96b4d5f174115cae1b78bd24d
clrpackages pushed a commit to clearlinux-pkgs/fmt that referenced this pull request Jan 16, 2025
Alex Hirsch (1):
      Include <filesystem> only if FMT_CPP_LIB_FILESYSTEM is set (#4258)

Amin Yahyaabadi (1):
      fix: pass /utf-8 only if the compiler is MSVC at build time

Anthony VH (1):
      Improve compile-time formatting (#4127)

Cameron Angus (4):
      Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083)
      Mark namespace scope constexpr variable 'buffer_size' inline. (#4084)
      Small fixes for some issues with modules builds (#4152)
      Module linkage fixes for shared build (#4169)

Carl Smedstad (1):
      Define CMake components to allow docs to be installed separately (#4276)

Casey Carter (1):
      Conform `std::iterator_traits<fmt::appender>` to [iterator.traits]/1 (#4185)

Francesco Cavaliere (1):
      Silencing Wextra-semi warning (#4188)

Hannes Harnisch (1):
      Allow getting size of dynamic format arg store (#4270)

Haowei (1):
      Address build failures when using Tip-of-Tree clang. (#4187)

Hugo Sales (1):
      Add 'n' specifier for tuple and pair (#4107)

Justin Riddell (5):
      Fix gcc 8.1 - 8.3 bug and compilation (#4131)
      Add support for _BitInt on clang (#4072)
      Require clang >=15 for _BitInt support (#4176)
      Replace std::forward for clang-tidy (#4236)
      Export all range join overloads (#4239)

Khanh H (1):
      More chrono padding (#4161)

Maxwell (1):
      Change std::copy to detail::copy in chrono to fix MSVC compile errors (#4132)

Paulo Assis (1):
      Fix conversion warning on chrono.h (#4170)

Roberto Turrado Camblor (2):
      Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (1 of 2) (#4110)
      Make `support/python/mkdocstrings_handlers/cxx/__init__.py` PEP 8 compliant (2 of 2) (#4115)

Sascha Hestermann (1):
      Make parameter basic_memory_buffer<char, SIZE>& buf of to_string const

Sergey (2):
      Fix error: cannot use 'try' with exceptions disabled in Win LLVM Clang (#4208)
      Fix narrowing conversion warning in struct fstring (#4210)

Victor Zverovich (279):
      Mark more formatters nonlocking
      Reenable print optimization
      Simplify on_text
      Improve parsing
      Workaround gcc stringop-overflow bug
      Remove all warning suppressions
      Remove the commenting attempt
      Unbloat chrono
      Remove counting_iterator
      Simplify format_decimal
      Improve format_decimal
      Constrain format_uint
      Add redirect page
      Fix doc build
      Align digits table
      Test alignment
      Apply coding conventions
      Diagnose invalid precision
      Reduce float_specs usage
      Remove float_format
      Remove float_specs
      Apply clang-format
      Get rid of std::copy
      Use us if Unicode is disabled
      Optimize shortest float formatting
      Simplify spec handling
      Improve spec parsing
      Deprecate append instantiation
      Simplify handling of dynamic specs
      Simplify handling of dynamic specs
      Improve handling of dynamic specs
      Simplify default formatter
      Fix back_inserter lookup for non-std containers
      Add a test case
      Fix ambiguous overload
      Reduce format specs size
      Cleanup public API
      Get rid of bit fields
      Make align a proper enum class
      Make sign a proper enum class
      Minor cleanup
      Simplify ostream
      Add an experimental writer API
      Test full exponent range
      Fix %S doc
      Cleanup duration cast
      Minor cleanup
      Minor cleanup
      Cleanup chrono formatting
      Cleanup chrono formatting
      Workaround -Wstringop-overflow
      Add opt out for built-in types
      Minor cleanup
      Simplify locale handling
      Simplify is_utf8_enabled
      Disable locale more
      Disable locale more
      Improve binary size
      Minor cleanup
      Simplify format_to_result
      Improve binary size
      Improve binary size
      Move redundant initialization to compile time
      Reject modernity, embrace tradition
      Minor cleanup
      Fix _BitInt formatter
      fwrite_fully -> fwrite_all
      Minor cleanup
      Move string_literal to format.h
      Cleanup compile-time check
      Remove old gcc hack
      Cleanup compile-time checks
      Cleanup FMT_STRING
      Simplify compile-time checks
      Simplify compile-time checks
      Clarify why we have TYPE in native_formatter
      Improve handling of named arguments
      Reduce template instantiations
      Improve handling of named arguments in compile-time checks
      Improve compile-time checks
      basic_format_parse_context -> parse_context
      Remove duplicate error in compile-time checks
      Make map static
      Simplify parse_format_string
      Cleanup base API
      Minor cleanup
      Minor cleanup
      Detemplatize parse
      Minor cleanup
      Add mapped_t
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Reduce the number of instantiations
      Simplify arg_mapper
      Simplify arg_mapper
      Simplify mapped_type_constant
      Improve debug codegen
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Cleanup base API
      Add FMT_APPLY_VARIADIC
      Cleanup base API
      Improve debug codegen
      Fix handling of _BitInt
      Fix locale tests on FreeBSD
      Workaround a clang 17 bug
      Workaround an MSVC bug
      Minor cleanup
      Make symbol sizes shorter
      Cleanup format string API
      Update MSVC workaround in compile-test
      Make is_formattable work with void
      Improve debug codegen
      Suppress a gcc 13 warning
      Reenable FMT_BUILTIN_TYPES
      Remove make_arg
      Cleanup base API
      Reduce usage of type_identity
      Optimize debug codegen
      Suppress a bogus MSVC warning
      Prepare for arg_store unification
      Improve debug codegen
      Simplify make_format_args
      Simplify make_format_args
      Minor cleanup
      Simplify value ctor
      Switch to vargs
      Switch to vargs
      Cleanup
      Cleanup
      Cleanup
      Readd support for FMT_BUILTIN_TYPES
      Improve debug codegen
      Improve debug codegen
      Cleanup
      Cleanup
      Cleanup
      Don't use format_error if exceptions disabled
      Optionally disable named arguments
      Optionally exclude Unicode data
      Cleanup
      Adjust clang-format
      Remove unnecessary forwarding
      Remove unused type
      Remove iterator_t
      Cleanup visit
      Cleanup
      Update gcc version
      Remove old workaround
      Remove old workaround
      Avoid shadowing
      Cleanup format API
      Cleanup format API
      Remove FMT_USE_USER_LITERALS
      Cleanup chrono
      Cleanup
      Minor cleanup
      Remove FMT_STATIC_THOUSANDS_SEPARATOR in favor of FMT_USE_LOCALE
      Simplify pragma
      FMT_EXCEPTIONS -> FMT_USE_EXCEPTIONS
      Fix no locale build
      Rename pragma macros
      Cleanup FMT_COMPILE_STRING
      Demacrify UTF-8 check
      Workaround a bug in libstdc++
      Add reference to iterator_traits
      Update changelog
      Cleanup argument handling
      Remove make_arg
      Improve error reporting
      Remove redundant check
      Simplify handling of _BitInt
      Add value ctor taking name_arg
      Cleanup format_as handling
      Simplify type mapping
      Simplify type mapping
      Always detect encoding on Windows
      Cleanup type mapping
      Remove FMT_MAP_API
      Cleanup type mapping
      arg_mapper -> type_mapper
      Remove unformattable
      Improve handling of unformattable args
      Sync value ctors and type mapper
      Simplify has_formatter
      Simplify has_formatter
      Simplify has_formatter
      Remove range_mapper
      Remove formattable
      Remove unwrap_named_arg
      Simplify handling of arrays
      Remove unnecessary inheritance
      Remove FMT_UNCHECKED_ITERATOR
      Cleanup pragma detection
      Fix a typo
      Add member format_as for std
      Workaround clang-format nonsense
      Apply clang-format
      Cleanup format.h
      Remove type_identity
      Add width and alignment support to error_code
      Cleanup format.h
      Simplify locale handling
      Deprecate detail::locale_ref
      Export more
      Cleanup format API
      Don't assume repeated evaluation of string literal produce the same pointer
      Test nondeterministic conversion to format string
      Fix handling FMT_BUILTIN_TYPES
      Relax constexpr
      Add min_of/max_of
      Cleanup bigint
      Use countl_zero in bigint
      Improve naming consistency
      Test FMT_BUILTIN_TYPES
      Cleanup an example
      Update README.md
      Update README.md
      Cleanup fixed_string
      detail_exported -> detail
      Simplify lint (#4197)
      Cleanup cifuzz action
      Fix hashes
      Add support for code units > 0xFFFF in fill
      Add support for code units > 0xFFFF in fill
      Use standard context in print
      Add std::exception to the docs
      Minor cleanup
      Remove FMT_BUILTIN_CTZ
      More cleanup
      Use consistent types for argument count
      Minor cleanup
      Make constexpr precede explicit consistently
      Minor cleanup
      Cleanup the format API
      Fix const[expr] in context API
      Remove initializer_list dependency
      Explicitly export symbols from detail
      Remove reference to unused intrinsic
      Corrently handle buffer flush
      Fix modular build
      Sort specifiers
      Remove MSVC 2015 workaround
      Remove more MSVC 2015 workarounds and fix string_view checks
      Remove an old workaround
      Remove an old workaround
      Update changelog
      Update changelog
      Update changelog
      Document formatting of bit-fields and fields of packed structs
      Update changelog
      Update changelog
      Always inline const_check to improve debug codegen in clang
      Update changelog
      Update changelog
      Update changelog
      Update changelog
      Update changelog
      Replace requests with urllib
      Bump version
      Update changelog
      Fix github API call
      Update changelog
      Update changelog
      Update version
      Update the release script
      Document fstring
      Clarify that format_string should be used instead of fstring
      Mention compile-time formatting
      Restore ABI compatibility with 11.0.2
      Update changelog
      Update changelog
      Readd FMT_NO_UNIQUE_ADDRESS
      Bump version
      Update version

Vinay Yadav (1):
      Changing type of data_ to size_t to avoid compilation warnings (#4200)

Vladislav Shchapov (15):
      Make fmt::appender implement std::output_iterator concept (#4093)
      Fix conversion a surrogate pair (#4095)
      Reintroduce constexpr fmt::formatted_size for C++20 (#4103)
      Fix broken CI for shared library on macos and linux (#4151)
      Make is_formattable work with const/volatile void
      Add support formatting std::expected<void, E>
      Switch to gcc-13 for C++23 tests
      Workaround for GCC regression: false positive null-dereference in vector.resize
      Backport from GoogleTest: "Always initialize fields in MatcherBase constructors" (google/googletest#3797)
      Backport from GoogleTest: "Work around a maybe-uninitialized warning under GCC 12" (google/googletest@0320f51)
      Use fmt::formatter specialization for std::reference_wrapper to avoid undefined behavior (#4164)
      Implement fmt::format_to into std::vector<char> (#4211)
      Suppress MSVC warnings "C4127: conditional expression is constant" by used const_check (#4233)
      Implement fmt::join for tuple-like objects (#4230)
      Allow disabling <filesystem> by define FMT_CPP_LIB_FILESYSTEM=0 (#4259)

Yedidya Feldblum (1):
      format std::reference_wrapper

YexuanXiao (2):
      Use the _MSVC_STL_UPDATE macro to detect STL (#4267)
      Fix compatibility with older versions of VS (#4271)

Yi Kong (1):
      Fix -Wmissing-noreturn warning (#4194)

cdzhan (1):
      Prioritize using the header files of self (#4116)

dependabot[bot] (7):
      Bump ossf/scorecard-action from 2.3.3 to 2.4.0 (#4099)
      Bump msys2/setup-msys2 from 2.23.0 to 2.24.0 (#4098)
      Bump github/codeql-action from 3.25.11 to 3.26.6 (#4142)
      Bump actions/upload-artifact from 4.3.3 to 4.4.0 (#4141)
      Bump actions/checkout from 4.1.6 to 4.2.0 (#4182)
      Bump github/codeql-action from 3.26.6 to 3.27.0 (#4223)
      Bump msys2/setup-msys2 from 2.24.0 to 2.25.0 (#4250)

jsirpoma (1):
      Allow bit_cast to work for 80bit long double (#4246)

nikola-sh (1):
      Fix chrono formatting syntax doc (#4235)

torsten48 (1):
      insert else branch to avoid unreachable code warning (#4130)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1.11.0: build fails
4 participants