0041a40c13
Update version
2024-07-01 06:02:59 -07:00
686339f7c1
Minor cleanup
2024-06-30 10:29:50 -07:00
e355c116f9
Tweak wording in the changelog
2024-06-30 09:22:44 -07:00
707bb5b369
Fix grammar
2024-06-30 08:54:56 -07:00
6f68c62cb5
Ignore doxygen files
2024-06-30 08:42:34 -07:00
d059fe42a8
Ignore vagrant files
2024-06-30 08:33:37 -07:00
43c5b34749
Fix package build
2024-06-30 08:23:25 -07:00
e89568e6cb
Update vagrant config
2024-06-30 07:56:35 -07:00
f5bf6f7781
Update build script
2024-06-30 07:55:57 -07:00
bd9af9a9f1
Update changelog
2024-06-30 07:49:55 -07:00
1652108905
Fix typo
2024-06-29 09:38:40 -07:00
84f6131825
Fix formatting of release notes
2024-06-29 09:36:35 -07:00
dedc17c1c9
Fix handling of tables, take 3
2024-06-29 09:31:32 -07:00
5d0adb6d74
Fix handling of tables, take 2
2024-06-29 09:29:06 -07:00
3f251fc9c9
Fix handling of tables
2024-06-29 09:23:02 -07:00
1930ed4bfa
Fix release script
2024-06-29 09:09:55 -07:00
26d07e49b2
Fix formatting
2024-06-29 09:06:49 -07:00
949d5d1795
Fix build script
2024-06-29 08:59:54 -07:00
53186535d5
Bump version
2024-06-29 08:54:52 -07:00
602e3c3d11
Update build script
2024-06-29 08:54:03 -07:00
2952130cbc
Fix doc build
2024-06-29 08:50:16 -07:00
1e94a463ed
Create build dir
2024-06-29 08:49:01 -07:00
a34120329a
Update doc script
2024-06-29 08:38:16 -07:00
0fae326c42
Update site dir
2024-06-29 08:32:24 -07:00
8b1fcf5cc1
Update doc dir
2024-06-29 08:18:24 -07:00
ec46c3de97
Update build script
2024-06-29 08:05:52 -07:00
2d9d32c62b
Update build script
2024-06-29 07:25:35 -07:00
4703ade76d
Update build script
2024-06-29 07:22:57 -07:00
52e7b25f95
Update changelog
2024-06-29 07:07:39 -07:00
b61c8c3d23
Change actions/github-script from e69ef54 -> 60a0d83 ( #4038 )
...
* Change actions/github-script from e69ef54 -> 60a0d83
* Change google/oss-fuzz action from 32f1d4d to 9218255
2024-06-27 12:34:07 -07:00
bbf44cc000
Defines are still needed for FMT_MODULE as well ( #4027 )
2024-06-24 07:11:35 -07:00
06948fa710
Pin deps
2024-06-23 07:27:58 -07:00
d9899492c1
Simplify deps
2024-06-23 07:22:45 -07:00
ff72f553e3
Update changelog
2024-06-23 06:58:05 -07:00
7f951f2502
Optimize range formatter
2024-06-23 06:51:46 -07:00
7ae102bd66
make format_int constexpr ( #4032 )
...
* make format_int constexpr
* format_int can only be constexpr in C++20
* apply clang-format
* drop constexpr for str()
2024-06-23 06:28:39 -07:00
edde973126
Update test names
2024-06-22 11:10:54 -07:00
b1efe8516e
Prevent silent data loss
2024-06-22 07:46:16 -07:00
2c0d9e9409
Add a define to force the use of fallback_file
2024-06-21 09:42:02 -07:00
18a9676d95
Add an experimental path
2024-06-21 08:14:20 -07:00
af8cd4e404
Module purview can only contain direct preprocessor code ( #4029 )
...
Resolved MSVC Warning C5202: a global module fragment can only contain preprocessor directives
2024-06-19 13:00:29 -07:00
514b6955d2
Suppress a bogus warning in MSVC ( #4023 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-06-19 08:49:43 -07:00
ac96773230
Added missing std::declval for non-default-constructible types ( #4024 )
2024-06-18 11:27:40 -07:00
c00149f5e2
Fix a typo
2024-06-17 06:58:33 -07:00
71244e07de
Cleanup includes
2024-06-16 11:10:38 -07:00
a57b0194a6
Correct comments
2024-06-16 11:05:38 -07:00
febd8ed5fe
Cleanup includes
2024-06-16 10:59:06 -07:00
0434026a95
Remove build-docs.py
2024-06-16 08:28:23 -07:00
0882bfef2a
Don't deploy docs from a PR
2024-06-15 09:58:01 -07:00
2a2048a785
Don't pass seconds as a double in examples
2024-06-15 09:26:49 -07:00
ea1187f4c8
Generate doxyxml in build
2024-06-15 09:15:30 -07:00
1334eedaf5
Improve docs
2024-06-15 09:07:04 -07:00
709169a4d8
Set the anchors
2024-06-15 08:55:22 -07:00
2bf1b3004e
Update changelog
2024-06-15 08:16:42 -07:00
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
98dd673cf8
Cleanup cmake
2024-06-14 08:04:11 -07:00
a245a8d4b9
Update changelog
2024-06-13 21:14:31 -07:00
e0b66e8f83
Remove dependency on <ranges>
2024-06-13 15:57:01 -07:00
794df69c8c
Added range_format::(debug_)string formatter ( #3973 )
2024-06-13 15:43:29 -07:00
1d9df9ce1c
Remove a redundant comment
2024-06-13 15:41:35 -07:00
c4ea903250
Only install FILE_SET
when needed ( #4013 )
2024-06-13 12:17:46 -07:00
3e3062c13b
Update msys2/setup-msys2 to v2.23.0 ( #4012 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-06-13 06:14:27 -07:00
b998b47116
Update changelog
2024-06-12 20:27:27 -07:00
bff1de15e7
Fix deploy docs ( #4010 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-06-12 10:27:12 -07:00
90932dd20d
Update doc.yml
2024-06-11 15:31:05 -07:00
232c5e8547
Update doc.yml
2024-06-11 15:24:18 -07:00
26cdd1cb30
Update doc.yml
2024-06-11 15:15:56 -07:00
ad34d4df95
Update doc.yml
2024-06-11 15:12:47 -07:00
f796264449
Fix doc workflow
2024-06-11 13:43:31 -07:00
28673d9699
Update api.md
2024-06-11 12:27:12 -07:00
a5c1b5d440
Update changelog
2024-06-10 11:30:21 -07:00
cc4d1245b8
README.md: update to remove "not yet release" remarks on clang-tidy
...
clang v18 was released, see
https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.6
so let's drop the remarks of "not yet released", and encourage user
to the latest stable release of clang-tidy.
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2024-06-10 23:18:02 +08:00
18a325f370
Disable footer
2024-06-09 19:02:34 -07:00
a1337aa8aa
Merge literal-based API doc into the parent section
2024-06-09 18:16:56 -07:00
51a690ab15
Check if .cc
exists in fmt.cc
( #4005 )
...
After installation, these files no longer exist and cause errors.
2024-06-09 18:01:44 -07:00
f332a81b72
Remove unnecessary build step
2024-06-09 17:32:13 -07:00
33a1de57af
Deploy docs, take 3
2024-06-09 17:26:37 -07:00
c7252b3344
Deploy docs, take 2
2024-06-09 17:19:06 -07:00
3f71b60668
Deploy docs
2024-06-09 17:16:59 -07:00
215ce4d979
Fix error getting config 'user.email'
2024-06-09 17:07:23 -07:00
89f3a810ec
Fix error getting config 'user.name'
2024-06-09 17:04:19 -07:00
1f170d3fe0
Install mike
2024-06-09 16:54:53 -07:00
d175db8f5b
Fix doc CI and clean workflows
2024-06-09 16:51:19 -07:00
a8cfc0cc2c
Deploy dev docs
2024-06-09 16:34:50 -07:00
65e278b286
Don't pollute the source directory
2024-06-09 16:20:54 -07:00
3620c174a6
Fix doc build
2024-06-09 16:10:26 -07:00
702b6f3788
Update docs
2024-06-09 15:59:35 -07:00
ed21034a10
Implement deployment
2024-06-09 15:53:16 -07:00
76d57f93db
Remove old script
2024-06-09 13:40:33 -07:00
6ceef04dfe
Merge branch 'master' of github.com:fmtlib/fmt
2024-06-09 13:17:31 -07:00
ab6b257a39
Implement doc building
2024-06-09 13:17:13 -07:00
077e4ae746
Added generator expression to /utf-8 compile option ( #3995 )
...
Do not pass the compile options in the project to other compilers such as nvcc
2024-06-09 13:05:17 -07:00
d4a8d26c55
Temporarily disable doc build in CI
2024-06-09 11:47:09 -07:00
b5c8fd783c
Fix doc build
2024-06-09 11:37:18 -07:00
735a613821
Build docs
2024-06-09 11:26:25 -07:00
a6e6e9c3c9
Fix a link
2024-06-09 11:22:57 -07:00
e6d4f927cc
Improve docs
2024-06-09 11:17:32 -07:00
8de3e87da1
Add a CMake option to control Unicode support
2024-06-09 11:16:13 -07:00
46d2acb3ba
Don't add os.cc
to sources with FMT_MODULE ( #4004 )
...
It will be included by `fmt.cc`
2024-06-09 11:00:12 -07:00
fad0222a0c
Export compiled_string
so that user can customize one ( #3999 )
2024-06-09 10:58:58 -07:00
d1cab6a9ae
Drop parentheses
2024-06-09 10:58:02 -07:00
fcb6a452d6
Improve docs
2024-06-09 10:47:32 -07:00
72928661ed
Improve docs
2024-06-09 10:33:34 -07:00
d6ec6b7e27
Update docs
2024-06-09 10:16:19 -07:00
e845fc572e
Ignore old changelog
2024-06-09 07:40:02 -07:00
2bf811b1d9
Also allow compiled format for clang >= 12 ( #4001 )
2024-06-09 06:43:39 -07:00
9653eed8e7
Don't hide the navbar
2024-06-09 06:36:11 -07:00
9b5d1826d4
Update changelog
2024-06-08 18:45:18 -07:00
fe741daaab
Mention namespace fmt::literals
in the document ( #4002 )
2024-06-08 14:31:51 -07:00
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
a3d95971be
Update changelog
2024-06-08 08:52:16 -07:00
7bd11b5cdf
Remove a redundant extension to reduce divergence from std::format
2024-06-08 08:29:34 -07:00
21372bc0b2
Update cmake config
2024-06-08 08:21:18 -07:00
a0495e3eb5
Update changelog
2024-06-08 08:17:15 -07:00
cba5e8615a
Update changelog
2024-06-08 08:15:40 -07:00
e9609dec1a
Update changelog
2024-06-08 08:13:08 -07:00
6ebbaf4b4d
Split changelog
2024-06-08 08:11:19 -07:00
4e31d2dc61
Update changelog
2024-06-08 08:01:19 -07:00
fcc0b49978
Fix FMT_INSTALL
with FMT_MODULE
( #3998 )
2024-06-08 07:26:53 -07:00
0560c334fb
Fix build with FMT_MODULE=OFF
( #3997 )
2024-06-07 06:25:07 -07:00
db9365a11b
Update lint.yml
2024-06-05 21:04:46 -07:00
5c445bc42c
Reverting check to make shorter branch comes first
2024-06-05 21:01:42 -07:00
94f96d112d
Fix undefined reference when compiling with FMT_STATIC_THOUSANDS_SEPARATOR and chrono.h
2024-06-05 21:01:42 -07:00
6abc1204f3
Check if the generator is ninja
2024-06-05 21:01:42 -07:00
a9b8517638
Use native c++ module support from CMake
...
also fix some clang compilation issues when using c++ modules
2024-06-05 21:01:42 -07:00
fba06f0ee1
Update changelog
2024-06-05 20:38:44 -07:00
598e518085
Remove redundant tests
2024-06-05 08:38:00 -07:00
0a555818d7
Usage -> Get Started
2024-06-05 07:59:06 -07:00
966a1b3d44
Update docs
2024-06-05 07:19:14 -07:00
adb8e27db0
Fix rendering of template parameters
2024-06-05 07:08:21 -07:00
2c84fa9ac9
Update docs
2024-06-05 06:19:40 -07:00
8da0240dbc
Improve docs
2024-06-04 19:46:45 -07:00
83bf142378
Update changelog
2024-06-04 17:09:58 -07:00
595e54919b
Cleanup docs
2024-06-04 17:01:04 -07:00
c636967c5c
Improve docs
2024-06-04 15:26:38 -07:00
2392367efc
Set primary color
2024-06-04 11:20:59 -07:00
06f8e02fb3
Remove rtd compat
2024-06-04 10:43:55 -07:00
c71d08fc22
github: update lint.yml to post details on formatting issue ( #3988 )
...
before this change, user need to click into the details for more
details on the formatting issue identified by the lint workflow.
after this change, the workflow pastes the details with a comment,
to provide more specific details on the formatting issue if any.
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2024-06-03 06:34:44 -07:00
d9b90029bf
Update docs
2024-06-03 06:25:14 -07:00
c0029b9847
Update docs
2024-06-02 21:16:04 -07:00
1ac9b317f2
New landing page
2024-06-02 20:46:16 -07:00
f68dee5351
Fix syntax highlighting
2024-06-02 15:10:10 -07:00
fb9ee2ed65
Simplify doxygen config
2024-06-02 14:27:12 -07:00
d29ceaf915
Update .gitignore
2024-06-02 14:21:46 -07:00
9b12491c19
Migrate docs
2024-06-02 14:20:41 -07:00
ab29ef37d9
Migrate docs and cleanup
2024-06-02 13:17:04 -07:00
97117cbb51
Migrate to mkdocs
2024-06-02 12:21:11 -07:00
886237ae7b
Emit anchors
2024-06-02 10:32:53 -07:00
904f2a5c20
Remove a non-pinned dependency
2024-06-02 10:00:24 -07:00
dab1a65d2c
Sort out directory URI config
2024-06-02 09:47:52 -07:00
509d018101
Fix a link
2024-06-02 09:29:33 -07:00
75ab3bc2a0
Add a script to invoke mkdocs
2024-06-02 09:29:07 -07:00
871538d3ab
Fix install dir
2024-06-02 09:05:32 -07:00
250456d5a3
Migrate to mkdocs
2024-06-02 09:00:40 -07:00
38ba3d3993
Migrate to mkdocs
2024-06-02 08:26:56 -07:00
0714113974
Add macro support to api doc extraction
2024-06-02 08:06:52 -07:00
dd3b3f937b
Merge branch 'master' of github.com:fmtlib/fmt
2024-06-02 07:02:05 -07:00
03d14c3beb
Add support for multiple namespaces
2024-06-02 07:01:40 -07:00
416ac0fc7b
Bump actions/checkout from 4.1.0 to 4.1.6 ( #3986 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.1.0 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](8ade135a41...a5ac7e51b4
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 06:22:27 -07:00
596add8993
Bump ossf/scorecard-action from 2.3.1 to 2.3.3 ( #3984 )
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.3.1 to 2.3.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](0864cf1902...dc50aa9510
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 06:22:07 -07:00
a10e032148
Improve docs
2024-06-01 20:08:41 -07:00
febeb51bde
Documentation improvements
2024-06-01 17:45:06 -07:00
f18c2b65c4
Fix rendering of aliases
2024-06-01 14:40:39 -07:00
e3910b8a9c
Improve apidoc rendering
2024-06-01 10:24:46 -07:00
34b85678f9
Render members
2024-06-01 10:07:33 -07:00
e5c07c8356
Improve apidoc formatting
2024-06-01 09:37:32 -07:00
933d8ba352
Improve apidoc formatting
2024-06-01 09:24:32 -07:00
e7ba467e9b
Improve apidoc formatting
2024-06-01 09:05:17 -07:00
91a859ee4a
Switch to markdown
2024-06-01 08:56:26 -07:00
6180442ed8
Render template parameters
2024-06-01 08:30:25 -07:00
418c5d0949
Render template params
2024-06-01 08:25:14 -07:00
aafdde7ef8
Switch to JavaScript syntax highlighter
2024-06-01 08:04:55 -07:00
d2ecfcfc45
Fix rendering on github
2024-06-01 07:33:57 -07:00
26b249435e
Improve doc presentation
2024-06-01 07:32:43 -07:00
4f330567e1
Improve apidoc generation
2024-06-01 07:02:45 -07:00
1992746249
Convert API doc to Markdown
2024-06-01 07:02:03 -07:00
a4d42c44f4
Cleanup comments
2024-06-01 07:00:56 -07:00
ddd8a54230
Add mkdocs config
2024-06-01 06:50:57 -07:00
fcd3e1e19c
is_convertible_v -> is_convertible::value ( #3983 )
2024-05-31 10:02:59 -07:00
dc401b1c28
Move handlers outside of the docs
2024-05-31 07:22:22 -07:00
f7c5588c46
Cleanup syntax doc
2024-05-31 06:57:10 -07:00
a4e40677af
Fix markdown
2024-05-30 21:14:06 -07:00
3479828e1d
Fix markdown
2024-05-30 20:27:21 -07:00
191b0cb486
Fix markdown
2024-05-30 20:26:19 -07:00
e80f4a9b72
Cleanup syntax doc
2024-05-30 12:44:56 -07:00
022d8efec9
Update doc.yml
...
Temporarily disable doc build
2024-05-30 11:57:02 -07:00
ca8eeb09ee
Add glibc ext for day of month and week of year ( #3976 )
2024-05-30 10:20:56 -07:00
cddb41f633
Fix markdown
2024-05-30 06:38:40 -07:00
0b0a05770f
Remove old contents
2024-05-29 21:47:45 -07:00
caa97da1f5
Add a word joiner to prevent line break
2024-05-29 21:40:58 -07:00
cf9833f40b
Cleanup apidoc comments
2024-05-29 20:30:19 -07:00
b6638f9c29
Convert usage to Markdown
2024-05-29 20:14:23 -07:00
d903460137
Fix markdown
2024-05-29 20:13:11 -07:00
ba2fbf6e1f
Fix markdown
2024-05-29 19:43:52 -07:00
6e49bb887a
Remove CSS
2024-05-29 19:10:27 -07:00
e0f3e85076
Fix markdown
2024-05-29 19:09:54 -07:00
4fc3fce9cb
Improve syntax markdown
2024-05-29 19:01:09 -07:00
d6427ae7b2
Improve syntax markdown
2024-05-29 18:41:25 -07:00
3d6869065b
Improve syntax markdown
2024-05-29 18:32:33 -07:00
551aa8d510
Add CSS
2024-05-29 18:10:55 -07:00
9e07045f50
Fix links
2024-05-29 17:29:41 -07:00
5735048b2d
Improve mkdocstrings handler
2024-05-29 17:29:25 -07:00
33eba1049d
Minor comment fix
2024-05-28 11:39:49 -07:00
43ab964c47
MSVC 17.10.0 + modules cannot find definition ( #3972 )
...
MSVC regressed since the new 17.10.0 compiler update. node<> cannot be found for detail::dynamic_arg_list::typed_node.
2024-05-28 11:34:44 -07:00
728f9bc388
Added std::type_info formatter ( #3978 )
...
* Added std::type_info formatter;
* Reused std::type_info formatter in std::exception formatters;
* Updated MSVC std::type_info outputting to exclude all class, struct and enum occurences.
2024-05-28 10:57:08 -07:00
e721046e27
Convert index to Markdown
2024-05-27 20:03:30 -07:00
552842c4ff
Convert syntax to Markdown
2024-05-27 20:01:33 -07:00
2c38766fd5
Add a mkdocsstrings handler
2024-05-27 19:59:45 -07:00
c8f1b4e744
ci: Remove macos-11 runners, add macos-14 ( #3980 )
...
On June 28, 2024, macos-11 runners will be removed.
2024-05-27 10:58:57 -07:00
529dcd11fe
Fix workflow, take 2
2024-05-27 08:08:07 -07:00
1441c660bf
Fix workflow
2024-05-27 07:07:54 -07:00
ecd1559732
Improve styles
2024-05-27 07:05:53 -07:00
a57a63dc0f
Fix styles
2024-05-27 06:39:54 -07:00
8691f21b45
Fix styles
2024-05-27 06:32:28 -07:00
7e4fac3f4f
Improve styles
2024-05-26 20:08:42 -07:00
4a368625e8
Replace less with sass
2024-05-26 19:59:42 -07:00
f4e1ec81e2
Cleanup html
2024-05-26 19:23:26 -07:00
89c0d10105
Update description
2024-05-26 13:23:04 -07:00
12ef9e09d1
Fix class conflict
2024-05-26 13:18:43 -07:00
5afa681388
Remove redundant github button
2024-05-26 12:56:29 -07:00
cc13102031
Fix navbar style
2024-05-26 12:35:25 -07:00
8ee6c94014
Reintroduce GCC-11 C++20 into CI ( #3979 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-05-26 10:58:26 -07:00
766300b3c6
Update html
2024-05-26 10:25:14 -07:00
4115219ede
Fix CSS path
2024-05-26 09:17:33 -07:00
95076981f7
Update documentation deps
2024-05-26 09:11:43 -07:00
1752d7fbbb
Added formattable concept ( #3974 )
2024-05-26 07:47:56 -07:00
1768bf9714
Added FMT_EXPORT for fmt::range_format and fmt::range_format_kind ( #3970 )
2024-05-24 07:08:07 -07:00
fc723fd6c7
Fix regression in #3710 ( #3968 )
...
Regression introduced in 11f2f30
Already have a test for this, but needed to make __cpp_lib_ranges
smaller to enable it
2024-05-23 12:39:11 -07:00
b81761068b
Check range_begin is dereferenceable ( #3964 )
...
Fixes issue #3839
An Eigen 3.4 2x2 matrix has a begin member function that returns void
Be more strict checking that the result of calling *begin() is valid
See input_or_output_iterator concept notes about void
2024-05-20 16:11:07 -07:00
706eabd5e5
Resolved warning C4127: conditional expression is constant ( #3967 )
2024-05-20 11:59:19 -07:00
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
86741b3e1c
Bazel support: Add missing platform dependency ( #3965 )
2024-05-19 06:33:50 -07:00
75e892420e
Minor cleanup
2024-05-16 10:45:23 -07:00
0b5287f8b7
Remove unused function
2024-05-15 16:47:35 -07:00
a4715c48b4
Bazel support: Add utf-8 to Windows build ( #3962 )
2024-05-15 06:33:27 -07:00
8e728044f6
Fix format_as for non-const begin/end views ( #3955 )
...
base::format does not accept rvalues, using the result of format_as
directly means it is passed one. Doesn't matter for ranges with a const
begin and end, but filter_view caches, so it only has mutable begin/end.
Use auto&& to avoid copy if format_as returns const ref
2024-05-13 09:35:55 -07:00
1f436c646e
Cleanup locking/buffering
2024-05-12 09:34:17 -07:00
db1ee420e0
Cleanup unicode check more
2024-05-11 20:02:22 -07:00
7d6ae972b9
Cleanup unicode checks
2024-05-11 19:43:46 -07:00
3460b30fd5
Improve utf-8 detection
2024-05-11 18:58:40 -07:00
b7809f91e2
Enable Unicode support by default
2024-05-11 15:11:23 -07:00
1dc71f21ea
Enable Unicode by default
2024-05-10 18:27:45 -07:00
8db8f22490
Optimize join_view
2024-05-09 17:26:26 -07:00
d2473b7b73
Simplify join_view formatter
2024-05-08 15:42:49 -07:00
328d256c60
Apply coding conventions
2024-05-06 15:10:29 -07:00
57593a123b
Simplify map formatter
2024-05-06 15:09:31 -07:00
10508a30ec
Enable fmt::join for uncopyable iterators ( #3946 )
...
If iterator not copyable mutate the underlying iterator
Notably std::ranges::basic_istream_view::__iterator
Addresses issue (#3802 )
2024-05-05 15:44:23 -07:00
16cec4f591
Make the map formatter correctly handle elements with custom formatters
2024-05-04 10:59:16 -07:00
77bfd8499a
Split range and map formatters
2024-05-04 09:41:02 -07:00
3af8ac7a06
Privatize write_debug_string
2024-05-04 07:38:58 -07:00
ceb406d06c
Remove range_default_formatter
2024-05-04 07:20:40 -07:00
19afc9c3bb
Update README.md
2024-05-03 17:32:54 -07:00
6ff593b027
Update README.md
2024-05-03 09:30:44 -07:00
78420beddd
Update README.md
2024-05-03 09:21:05 -07:00
a21bc7b869
Update doc.yml
2024-05-03 09:01:35 -07:00
97d0613ba9
Update doc.yml
2024-05-03 08:47:00 -07:00
04b0ae418b
Update doc.yml
2024-05-03 08:32:02 -07:00
27dd1dcf08
Update lint.yml
2024-05-03 08:18:33 -07:00
3649c3954f
Update lint.yml
2024-05-03 07:59:52 -07:00
7650ed04a3
Fix to_nonnegative_int
2024-05-03 07:49:16 -07:00
9234fe83f9
Add tests to check that isnan doesn't cause FP errors
2024-05-02 09:36:21 -07:00
8a8f4825a3
Fix: isnan() shouldn't cause FP exceptions
...
Fixes #3948 .
2024-05-02 09:36:21 -07:00
17062a0c9b
Bump actions/upload-artifact from 4.3.1 to 4.3.3 ( #3950 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.3.1 to 4.3.3.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](5d5d22a312...65462800fd
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 11:39:32 -07:00
88d3997f5e
Bump github/codeql-action from 3.24.9 to 3.25.3 ( #3949 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.24.9 to 3.25.3.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](1b1aada464...d39d31e687
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 08:42:46 -07:00
48c908453d
Fix CodeQL alert ( #3945 )
2024-04-30 12:41:29 -07:00
cf1f55f798
Specialize formatter
for all std::basic_string
types ( #3943 )
...
* Specialize `formatter` for all `std::basic_string` types
* mock-allocator: add member types to make GCC 4.8 happy
2024-04-23 08:44:41 -07:00
400f6a8ee2
Dedup ADL begin/end lookup
2024-04-22 16:09:07 -07:00
a3e0931ea2
Update signature in the doc
2024-04-22 15:26:09 -07:00
51eeccd0fb
const void* is neither a fundamental nor string type
2024-04-22 13:59:26 -07:00
f30f1fd514
Document formatter specializations provided by base.h
2024-04-22 13:39:14 -07:00
f4b256c667
Fix warning C26439
2024-04-19 09:06:46 -07:00
f746a59a5c
Cleanup FMT_ASSERT
2024-04-19 08:36:16 -07:00
ee0c3351a4
Fix format_to + FMT_STRING for wide character type ( #3931 )
...
Added overload that takes a wformat_string.
Fixes issue #3925 .
2024-04-17 08:30:48 -07:00
99735764ea
Fix FMT_USE_NONTYPE_TEMPLATE_ARGS define back ( #3937 )
...
Broken in refactor f1924d3
2024-04-16 13:29:30 -07:00
aa52eb765d
Resolved warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _fileno. ( #3930 )
2024-04-11 11:13:57 -07:00
116a9ce488
Added FMT_IMPORT_STD feature macro ( #3928 )
2024-04-10 11:48:32 -07:00
5eb68c0ef2
Fix mix-up of 'FMT_BEGIN_EXPORT' and 'namespace detail'. ( #3924 )
2024-04-08 09:46:20 -07:00
550437b29e
Resolved warning C4127: conditional expression is constant ( #3923 )
2024-04-07 11:01:26 -07:00
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
c70e7b7473
Coding conventions and minor fixes
2024-04-05 08:36:45 +09:00
71144eeaff
implement year_month_day ( #3913 )
...
* implement year_month_day, also changed weekday, day, month, year's formatter to use formatter<std::tm, Char> so they all support the format strings
* support ":L" for month and weekday
2024-04-03 15:35:53 -07:00
843e293564
Bump github/codeql-action from 3.24.6 to 3.24.9 ( #3915 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.24.6 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](8a470fddaf...1b1aada464
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 15:21:30 -07:00
f5ec5ada2b
Update syntax.rst
2024-03-30 15:54:39 -07:00
3b5f3de3b5
Make CMake version message less confusing ( #3907 )
2024-03-28 18:23:26 -07:00
ca9193983b
Replace std::fill_n with fmt::detail::fill_n ( #3909 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-28 17:26:18 -07:00
74a187288b
Implemented fmt::day, fmt::month, fmt::year and related unit tests ( #3906 )
2024-03-27 17:10:30 -07:00
88620e53a4
Range formatting documentation ( #3905 )
2024-03-24 14:39:16 -07:00
5d63e87d23
Add a formatter for float128
2024-03-22 15:41:50 +09:00
aecec01b34
Initial support for extended FP types
2024-03-22 15:08:25 +09:00
5af88653eb
Cleanup
2024-03-22 13:46:03 +09:00
45b772f85c
Improve std::complex formatter to be compatible with P2197R0 ( #3900 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-20 13:31:32 -07:00
53347891cf
Make line buffering test less flaky
2024-03-20 16:45:50 +09:00
38881e5acf
Fix handling of the fileno macro
2024-03-20 05:06:36 +09:00
6c7cc6a06f
Fix group_digits for negative integers ( #3901 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-19 13:03:57 -07:00
365c3fbd25
Bump timeout
2024-03-19 10:49:02 +09:00
c0dac83982
Use p2197 format for complex by default
2024-03-19 07:55:45 +09:00
bb882c03bc
Simplify path formatting
2024-03-19 07:47:42 +09:00
12acd7988b
Fix ambiguous call
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-17 17:16:53 -07:00
c710bfa10c
Apply clang-format
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-17 15:26:18 -07:00
73f2b344b2
Add std::complex formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-17 15:26:18 -07:00
9f3fc6e38b
Add XChar support into nested_formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-17 15:26:18 -07:00
c17816cb4a
Fix invalid fmt::formatter<>::format return type ( #3895 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-03-15 06:25:42 -07:00
df6e7b22f7
Fix relative path for cmake in usage doc ( #3890 )
2024-03-12 06:56:12 -07:00
c816fa6751
Fix a warning
2024-03-10 10:27:42 -07:00
e281749c5d
Simplify range formatter
2024-03-10 08:19:26 -07:00
11f2f30f0b
Simplify range formatter
2024-03-09 08:23:12 -08:00
13cfaa2ab0
Guard against usage of _isatty when header was not included ( #3880 )
...
* Guard against usage of _isatty when header was not included
* Rename FMT_WINDOWS_NO_WCHAR macro to FMT_USE_WRITE_CONSOLE
2024-03-08 13:34:46 -08:00
0861db500f
Support character range formatting ( #3863 )
2024-03-07 10:51:46 -08:00
dfe5b12c08
Update os-test.cc ( #3883 )
...
uniq test file names for the os-test suite (#3878 issue).
2024-03-06 06:37:57 -08:00
09935d8239
Bump github/codeql-action from 3.23.2 to 3.24.6 ( #3876 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.23.2 to 3.24.6.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](b7bf0a3ed3...8a470fddaf
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-03 06:46:32 -08:00
3bc6cc1e63
Protect against locking formatters
2024-03-02 17:23:02 -08:00
4fcc317dc9
Bump actions/upload-artifact from 4.3.0 to 4.3.1 ( #3875 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](26f96dfa69...5d5d22a312
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 12:20:00 -08:00
ae1e93d34d
Fix warning C4702 emitted from format.h (MSVC) ( #3866 )
2024-02-28 07:47:13 -08:00
f68f452dea
Workaround an ld warning on macOS
2024-02-25 11:41:52 -08:00
ebea5736a2
Fix chrono locale format bug for RHEL gcc ( #3859 )
2024-02-25 07:09:33 -08:00
ddf0b7d2b5
Fix warning C4365 emitted from printf.h ( #3865 )
2024-02-23 16:33:21 -08:00
0166f455f6
std.h c++23 build fix ( #3856 )
...
Add ::value to is_formattable<...> as per suggestion by @vitaut in
https://github.com/fmtlib/fmt/issues/3854
2024-02-19 10:19:39 -08:00
8e42eef495
Don't error on min time_point
2024-02-10 17:50:42 -08:00
91b30e5b4e
More API details
2024-02-10 08:10:59 -08:00
7a63e233d2
Readd core.h to headers
2024-02-10 07:10:28 -08:00
44c3fe1ebb
Fix handling of static separator
2024-02-09 15:58:56 -08:00
ae181cc93d
C++23 compatibility: basic_string_view cannot be constructed from nullptr ( #3846 )
...
Co-authored-by: Anders Dalvander <anders.dalvander@sartorius.com >
2024-02-09 07:39:43 -08:00
3a6fb2fcaf
Fix some typos. ( #3843 )
2024-02-08 10:59:52 -08:00
0879504796
Fix typo in typename. containter_type
-> container_type
. ( #3844 )
2024-02-08 06:24:55 -08:00
34f415b56e
Fix %S formatting for chrono durations with leading zeroes ( #3814 )
2024-02-07 09:47:32 -08:00
e17bc67547
Make scan variadic
2024-02-04 08:07:00 -08:00
06311ed1ce
Fix fixed rounding around zero in Dragon
2024-02-03 10:13:58 -08:00
e5bab8dab4
added formatter for std::expected ( #3834 )
2024-02-03 09:06:15 -08:00
9f5f39cb50
Bump actions/upload-artifact from 4.0.0 to 4.3.0 ( #3837 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.0.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](c7d193f32e...26f96dfa69
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 09:05:12 -08:00
ea581437e5
Bump github/codeql-action from 2.22.5 to 3.23.2 ( #3836 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.22.5 to 3.23.2.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](74483a38d3...b7bf0a3ed3
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 09:04:58 -08:00
6321a97d6b
Simplify color formatting
2024-01-31 18:30:23 -08:00
4b6b32f388
Deprecate wide stream function
2024-01-31 18:10:52 -08:00
1b54ba4b9d
Fix UB in format_arg_store implementation. ( #3833 )
2024-01-31 10:08:29 -08:00
71a4a8d479
Really fix MSVC warning about <bit> only being available in C++20. ( #3832 )
...
* Really fix MSVC warning about <bit> only being available in C++20.
The warning states "The contents of <bit> are available only with C++20 or later.",
but the check was for C++17 and later.
* Change <bit> inclusion check per https://github.com/fmtlib/fmt/pull/3832#discussion_r1471144867
2024-01-30 10:42:35 -08:00
8e62172ab6
Fix a warning
2024-01-29 07:48:48 -08:00
28afff363c
Improve buffering
2024-01-27 16:20:34 -08:00
af44c29744
Separate buffer initialization from flush
2024-01-27 15:39:36 -08:00
a1e1eedbb5
Minor cleanup
2024-01-27 14:00:13 -08:00
ffce3632b7
Add glibc stream support
2024-01-27 11:00:45 -08:00
b5669512b1
Don't hang on test failure
2024-01-27 09:41:33 -08:00
6435b169ec
Add support for line buffering
2024-01-27 08:57:21 -08:00
6f260455aa
Add scan_data::make_args
2024-01-23 08:17:06 -08:00
e1832bcf00
Consider ADL begin() and end() when joining ranges ( #3824 )
...
Closes #3813
Signed-off-by: Beat Bolli <dev@drbeat.li >
2024-01-22 07:39:33 -08:00
2caf1b3b91
scan more
2024-01-21 08:02:54 -08:00
668fe2653c
doc: fix the chrono %C example value ( #3822 )
...
Assuming that the example date is always "Sat Nov 12 22:04:00 1955", the
result of the `%C` format string should be "19", not "55".
Signed-off-by: Beat Bolli <dev@drbeat.li >
2024-01-21 06:31:15 -08:00
06fc25f266
Don't always enable typeid usage under msvc ( #3821 )
2024-01-21 06:28:22 -08:00
11ba1270ab
Fix flush
2024-01-20 07:58:56 -08:00
4c5b4af04d
Improve name argument validation
2024-01-19 16:13:43 -08:00
2eb363297b
Fix custom formatter example ( #3820 )
...
Add a return type declaration so the example builds when the formatter is used in a different compilation unit than it's implemented.
2024-01-19 08:14:48 -08:00
0147e08225
Document println
2024-01-18 19:42:33 -08:00
6b68dff901
Write directly to a stream buffer
2024-01-18 16:27:12 -08:00
b2cde48de5
Reduce usage of float_specs
2024-01-17 08:27:03 -08:00
8510838db1
Make format_specs not depend on code unit type
2024-01-17 07:50:52 -08:00
090ee13595
Pass char type to write
2024-01-17 06:07:29 -08:00
470c4e6ca8
Fix scope for glibc ext for sec, min, and hour ( #3812 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-16 13:54:19 -08:00
13ec66bf78
🛠 Add basic array safety functions and backwards-compatible result type ( #3805 )
2024-01-16 07:01:15 -08:00
64091b7a25
Fix naming
2024-01-15 15:17:46 -08:00
e954823531
Make fill independent on code unit type
2024-01-15 15:00:28 -08:00
f80a2bee1c
Update README.md
2024-01-15 11:40:20 -08:00
83652dfee7
Restrict always inlining to the top-level API
2024-01-15 10:09:01 -08:00
d249fd9f84
Workaround for gcc 6 ( #3810 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-15 08:58:19 -08:00
73d91351b4
Mark iterator_buffer
move constructors as noexcept
. ( #3808 )
2024-01-15 08:46:35 -08:00
fe0d910a7d
Replace multiple error reporting mechanisms with report_error
2024-01-15 07:23:06 -08:00
f9294f0e60
Improve handling of format specs
2024-01-15 06:31:24 -08:00
c98a5a599f
Remove unnecessary checks
2024-01-14 17:41:49 -08:00
5f30d37102
Update README.md
2024-01-14 17:25:43 -08:00
3647feaad5
Improve scan
2024-01-14 09:30:45 -08:00
e420a58f24
Improve scan prototype
2024-01-14 08:51:33 -08:00
ca37503f93
scan -> scan_to
2024-01-14 08:30:42 -08:00
123e058eb3
Improve scan prototype
2024-01-14 08:11:13 -08:00
f924d20dbd
core-test -> base-test
2024-01-14 06:57:01 -08:00
d70729215f
Fix constness
2024-01-14 06:44:38 -08:00
362b40c1a3
Fix docs
2024-01-13 19:21:27 -08:00
56fa4d61f6
Fix docs
2024-01-13 19:03:23 -08:00
cacdf1439f
Remove nonstandard alias
2024-01-13 15:56:16 -08:00
4d766b1670
Invert dependencies
2024-01-13 10:30:44 -08:00
c10859f15c
Remove deprecated options
2024-01-13 10:25:11 -08:00
d0963d4823
Make ranges only depend on fmt/base.h
2024-01-13 09:54:19 -08:00
da0f84c42c
Cleanup copy functions and move to base.h
2024-01-13 09:31:20 -08:00
59baac522e
Remove unused functions
2024-01-13 09:03:35 -08:00
21b0458291
Use std::allocator_traits ( #3804 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-13 08:48:37 -08:00
df6a3564b0
Fix MSVC warning: "The contents of <bit> are available only with C++20 or later." ( #3807 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-13 08:26:44 -08:00
7c163acfda
Fix conversion warning in filesystem::path formatter ( #3806 )
...
* Fix conversion warning in filesystem::path formatter
Use template character type to eliminate MSVC conversion warning when
formatting a wide chararacter path:
fmt\std.h(140,49): warning C4244: '=': conversion from 'const Char' to 'char', possible loss of data
* Review: use to_ascii instead
---------
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com >
2024-01-13 08:02:31 -08:00
1b55d10305
Update api.rst
2024-01-12 16:48:20 -08:00
5d9d376d49
Update api.rst
2024-01-12 15:17:52 -08:00
6064b85c10
Update api.rst
2024-01-12 13:57:44 -08:00
deb584c0e1
Update build.py
2024-01-12 13:56:00 -08:00
297b22f585
Remove <memory> dependency
2024-01-12 09:09:19 -08:00
3c9608416a
Remove redundant detection of experimental string_view
2024-01-12 07:45:07 -08:00
0cdee904a4
Add a missing num_bits specialization
2024-01-12 07:20:12 -08:00
7e58af4eaf
Fix an ICE on clang <= 15
2024-01-12 06:48:03 -08:00
f1924d3269
Cleanup macros
2024-01-12 06:35:25 -08:00
52174953bc
Cleanup conseval detection
2024-01-12 05:59:22 -08:00
b71d98774b
Reduce usage of FMT_COSTEXPR20
2024-01-11 21:27:00 -08:00
810d1750f1
Cleanup constexpr detection
2024-01-11 21:08:01 -08:00
170ffb1ff8
Simplify constexpr checks
2024-01-11 20:26:52 -08:00
e470ba8b7b
Simplify exception detection
2024-01-11 19:42:06 -08:00
bf98e3e4c6
Cleanup macros
2024-01-11 19:16:35 -08:00
fd87a23d34
Reduce memory dependency
2024-01-10 20:00:15 -08:00
b71ef65b6e
Remove iterator dependency
2024-01-10 18:52:53 -08:00
c5340539f9
Remove unnecessary trait specialization
2024-01-10 18:11:37 -08:00
971f7ae768
Minor cleanup
2024-01-10 16:43:00 -08:00
6159e2b0ab
Bazel support: Switch to globbing to collect header files
2024-01-10 15:52:54 -08:00
da7a232b9e
Cleanup contexts
2024-01-10 13:09:55 -08:00
2595bf57b3
Fix formatting of ranges with begin()&/end()&
...
C++20 allows ranges to have lvalue-qualified begin() and end() member functions. fmt correctly handles this if begin() and end() are additionally const-qualifed (i.e. begin() const&), but not in the non-const case. For example:
https://godbolt.org/z/YfxaYz5r7
This patch fixes fmt's range detection to handle this case by testing calls to detail::ranges_begin()/end() with an lvalue T&, matching the behaviour in the const case.
2024-01-10 12:22:53 -08:00
6f5d53ce08
Add fmt::is_contiguous<std::basic_string<Char, Traits, Allocator>>
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-10 10:47:39 -08:00
961df829b9
Fix buffer overflow if output iterator is std::back_insert_iterator and value is escaped (debug format)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-10 09:15:16 -08:00
401f087394
Fix write_uintptr_fallback
2024-01-10 09:09:57 -08:00
725992928b
Update build.py
2024-01-10 07:44:24 -08:00
3d84b45a22
Update core.h
2024-01-10 06:57:22 -08:00
4331abed26
Move fmt::format to fmt/format.h
2024-01-10 06:43:12 -08:00
fc8f6ba934
Separate compilation for println
2024-01-10 05:55:26 -08:00
58a6bd48a8
Add core.h for compatibility
2024-01-09 20:10:30 -08:00
79f1506fe3
Add base.h
2024-01-09 19:36:12 -08:00
4d616479b5
Simplify make_format_args
2024-01-09 19:18:35 -08:00
cf8426cf8c
Sort links on fmt/std.h section
2024-01-09 15:43:18 -08:00
e915d52162
Update api.rst with support provided by std.h
2024-01-09 15:43:18 -08:00
7ba6420540
Optimize debug codegen
2024-01-09 11:44:57 -08:00
97867e279a
Extend Bazel build support to bzlmod ( #3792 )
2024-01-09 11:27:44 -08:00
8875cf96c2
Fix spelling: othewise ==> otherwise ( #3791 )
2024-01-09 10:32:46 -08:00
f7ed65fa4a
Simplify format_arg_store
2024-01-09 06:29:16 -08:00
f34f31b321
Move format_arg_store to detail
2024-01-08 21:44:56 -08:00
fb66131efa
Improve arg storage
2024-01-08 21:25:41 -08:00
6af30d8f75
Remove legacy workaround
2024-01-08 20:13:50 -08:00
c177324ba9
Simplify basic_format_args
2024-01-08 18:42:53 -08:00
545d37a8b0
Remove extra level of indirection when building args
2024-01-08 17:58:07 -08:00
9f73e45ca0
Update README.md
2024-01-08 12:51:59 -08:00
a5ae9ae19d
Split standard context into a separate class and optimize
2024-01-08 07:08:49 -08:00
23e8109d8d
Remove buffer_appender
2024-01-07 22:03:02 -08:00
679af1f5cc
Remove redundant get_container
2024-01-07 19:31:26 -08:00
48d7fb265b
Merge back_insert_iterator and appender
2024-01-07 18:43:27 -08:00
f348d1a211
Reintroduce back_insert_iterator detection
2024-01-07 17:44:40 -08:00
df67df7b4c
Add is_back_insert_iterator
2024-01-07 16:44:42 -08:00
17f79ac6cf
Minor cleanup
2024-01-07 15:04:38 -08:00
dbdfc99fa1
Don't crash if flush fails during unwinding
2024-01-07 14:55:16 -08:00
c1d9e88402
Remove unnecessary final and apply clang-format
2024-01-07 13:08:17 -08:00
7d73ef85f7
Cleanup ranges
2024-01-06 19:37:14 -08:00
ae9b0b521b
Disable transitive includes
2024-01-06 15:22:13 -08:00
f73388f1ad
Update README.md
2024-01-06 13:26:17 -08:00
08878044c6
Update readme
2024-01-06 13:24:51 -08:00
1b7d9db0ce
Remove string dependency
2024-01-06 06:25:34 -08:00
0641b844ac
Cleanup string traits
2024-01-05 19:31:04 -08:00
1e938dda20
Simplify char_t
2024-01-05 15:32:59 -08:00
2e5b14bf60
Add compile-time checks to color formatting
2024-01-05 09:51:52 -08:00
e0b604beb1
Remove a redundant function
2024-01-04 15:59:33 -08:00
6c617c9670
Update documentation ( #3789 )
...
Add a note about the numerical zero being ignored when an alignment flag is
present in the format specifier.
This change was introduced in a585571e90
to
be compatible with std::format, but misses documentation.
2024-01-04 10:35:55 -08:00
bee495c97f
Remove dead code
2024-01-04 09:40:30 -08:00
794e1b6145
Remove redundant overload
2024-01-04 09:21:19 -08:00
c7061776ab
Bump version
2024-01-04 05:50:54 -08:00
dc52d176de
Cleanup dependencies
2024-01-03 20:52:45 -08:00
0e3e61cc0a
Remove limits dependency
2024-01-03 19:14:30 -08:00
800a0bb23f
Remove dependency on string_view
2024-01-03 18:49:45 -08:00
f2e43f967c
Remove char_traits dependency
2024-01-03 13:16:28 -08:00
c9287eb9f7
Reduce char_traits usage
2024-01-03 10:02:16 -08:00
61f144bd61
Move copy_str for format.h
2024-01-03 09:05:09 -08:00
4687f8e37e
Remove dependency on <iterator>
2024-01-03 08:20:04 -08:00
f2c55f6bb8
Remove dependency on back_insert_iterator
2024-01-03 06:16:00 -08:00
c9d233c0a4
Decouple appender from back_insert_iterator
2024-01-03 06:16:00 -08:00
242bcaec04
Update README.md ( #3784 )
2024-01-03 05:35:38 -08:00
4e43a46993
Clarify why we can't have nice things
2024-01-02 19:14:32 -08:00
c36ed77ff0
Get rid of addressof
2024-01-02 18:44:27 -08:00
e2ab9ab22b
Add FMT_GLIBCXX_RELEASE
2024-01-02 16:15:23 -08:00
0378d171f9
Replace remove_cvref_t with remove_const_t
2024-01-02 12:46:09 -08:00
baea8f6906
Update docs
2024-01-02 08:52:07 -08:00
eedfdb4c5c
Fix docs
2024-01-02 08:44:15 -08:00
5dbd7fd770
Switch to bootstrap 4 because 5 breaks menus
2024-01-02 07:39:28 -08:00
7fd1802686
Fix FMT_OS definition ( #3783 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2024-01-02 07:20:09 -08:00
63ce170853
Replace virtual dispatch with normal functions in buffers
2024-01-02 07:02:20 -08:00
74ffea0dcf
Simplify to_ascii
2024-01-01 20:09:47 -08:00
6c3b2d491e
Fix constness
2024-01-01 19:50:36 -08:00
4ec9c2906b
Apply coding conventions
2024-01-01 19:04:25 -08:00
f4a7d40dca
Dedup throw_format_error
2024-01-01 18:42:23 -08:00
9659f22d36
Don't include os.cc in the module if it is disabled via FMT_OS
2024-01-01 18:32:53 -08:00
068bf9bad8
Make visitation compatible with std::format
2024-01-01 17:31:36 -08:00
50565f9853
Move misplaced join overloads to fmt/ranges.h
2024-01-01 16:28:59 -08:00
0b39d67103
Remove detail::error_handler
2024-01-01 16:10:13 -08:00
c142385033
Improve the pipe API
2024-01-01 15:55:37 -08:00
398ddb8fec
Don't include fmt/os.h in the module if it is disabled via FMT_OS
2024-01-01 12:21:28 -08:00
583729493c
Remove duplicate version
2024-01-01 11:50:43 -08:00
6c5bcca819
Fix the release script
2024-01-01 11:26:19 -08:00
67c0c0c09c
Update version
2024-01-01 11:10:16 -08:00
051b31531c
Fix changelog update
2024-01-01 11:06:44 -08:00
b0569451a7
Bump version
2024-01-01 10:06:52 -08:00
ce3161887a
Add overflow check
2024-01-01 09:17:10 -08:00
1a95e5d1b4
Update changelog
2024-01-01 09:03:46 -08:00
e1aac42663
Implement hex specifier
2024-01-01 09:03:46 -08:00
1705600be3
Remove optional
2024-01-01 09:03:46 -08:00
0c345dccd2
Bump actions/upload-artifact from 3.1.2 to 4.0.0 ( #3782 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3.1.2 to 4.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](0b7f8abb15...c7d193f32e
)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 08:10:18 -08:00
d33731d202
Implement empty format specs
2024-01-01 07:54:02 -08:00
c068c7c622
Add sentinel support
2024-01-01 07:25:01 -08:00
13fa26745d
Update changelog
2024-01-01 06:58:46 -08:00
ebd5c8f994
Consistently use fmt::
when invoking format_to
. ( #3779 )
...
This has been done partially in previous commits:
* 2ac6c5ca8b
* 258000064d
* ba50c19e82
* 5ab9d39253
A patch that includes the `std::error_code` changes here is
upstream in vcpkg, so that will be able to be removed when
updating to the next release.
2024-01-01 06:57:03 -08:00
f5ca178c12
Complete scan_handler
2023-12-31 18:00:14 -08:00
138a64bfb1
Privatization
2023-12-31 15:06:17 -08:00
a5bacf3fef
Remove custom_formatter
2023-12-31 12:34:18 -08:00
4aa24f54cd
Implement visitor for scan
2023-12-31 09:53:24 -08:00
e33c1568c3
Implement scan argument access
2023-12-31 08:49:29 -08:00
23826669cf
Cleanup error handling
2023-12-31 07:51:57 -08:00
8e6b2541a6
Apply coding conventions
2023-12-30 16:07:35 -08:00
4939d67a83
Cleanup scripts
2023-12-30 15:08:27 -08:00
bd3273021b
Update release script
2023-12-30 14:29:31 -08:00
5f9058dbd4
Improve scripts
2023-12-30 11:23:08 -08:00
28576b0600
Workaround github markdown mess
2023-12-30 09:57:31 -08:00
5ddd0cad15
Add a visitor for scan arguments
2023-12-30 07:43:21 -08:00
41d31512b7
Remove unused import
2023-12-30 07:11:32 -08:00
44b76d88f4
Fix docs
2023-12-30 07:11:13 -08:00
3324152db4
Update the release script
2023-12-30 06:53:20 -08:00
55190dadb5
Cleanup chrono test
2023-12-29 16:34:42 -08:00
63e4b93cfc
Update changelog
2023-12-29 15:54:50 -08:00
c64edcd325
Fix grammar
2023-12-29 15:51:16 -08:00
8c520b4fdc
Fix comment
2023-12-29 15:48:25 -08:00
2e6bb706bf
Update changelog
2023-12-29 15:48:09 -08:00
a13d1b12e5
Update changelog and docs
2023-12-29 13:00:12 -08:00
47a0eec2e8
Remove unnecessary alias
2023-12-29 09:59:55 -08:00
a8bed38952
Update changelog
2023-12-29 09:57:29 -08:00
e206043d2b
Update changelog
2023-12-29 09:00:05 -08:00
4a6f0be5b6
Improve scan test
2023-12-29 08:32:38 -08:00
662d784157
Fix scan test
2023-12-29 08:21:10 -08:00
d5823aae36
Ceci n'est pas une pipe
2023-12-29 08:11:29 -08:00
d83c1b8d4a
Add initial specifier support to scan
2023-12-29 07:30:56 -08:00
bfba2f9e92
Improve iterator handling in scan
2023-12-29 06:34:49 -08:00
a3bf40838f
Initial range support in scan
2023-12-29 06:25:57 -08:00
ea1066bbe3
Cleanup test
2023-12-28 16:56:42 -08:00
be57ec7ec0
Fix chrono-test on platforms with 32-bit time_t
2023-12-28 16:36:18 -08:00
305747d440
Update changelog
2023-12-28 08:01:56 -08:00
47c8f63d02
Remove redundant specifier
2023-12-28 07:32:07 -08:00
76e8f10403
Update changelog
2023-12-28 07:23:56 -08:00
18ca2248df
Document '?'
2023-12-28 06:39:00 -08:00
3a25a58482
Update README.md
2023-12-26 11:12:02 -08:00
4cbf6182ea
Remove peek
2023-12-25 10:47:45 -08:00
88d19f5de9
Cleanup scan
2023-12-25 10:28:50 -08:00
62529aad19
Apply coding conventions
2023-12-25 10:20:00 -08:00
df62c86783
Mark grow as deprecated
2023-12-25 10:11:22 -08:00
eef6dbafbf
Refactor file layer in scan
2023-12-25 09:32:29 -08:00
41c2433358
clang-format
2023-12-25 09:09:20 -08:00
0a9d08fefd
Simplify fallback
2023-12-25 09:00:03 -08:00
e450b7aeb3
Implement locking
2023-12-25 08:48:45 -08:00
c5a85f8d7d
Handle end of input in scan
2023-12-25 07:18:23 -08:00
1fd093add4
Update changelog
2023-12-25 06:41:37 -08:00
c4f2de4933
Improve scan
2023-12-25 06:34:15 -08:00
d06921d8d8
Update changelog
2023-12-23 15:30:26 -08:00
fc0f84d290
Move formatbuf to ostream.h
2023-12-23 15:00:28 -08:00
86f2ec5de7
Fix a warning
2023-12-23 14:51:43 -08:00
a537c39fdf
Move conjunction to where it is used
2023-12-23 14:35:11 -08:00
7c240d52c3
Remove unused symbol
2023-12-23 13:20:55 -08:00
f64a6a2ecd
Update changelog
2023-12-23 12:20:14 -08:00
6f9a816786
Enable test
2023-12-23 10:14:27 -08:00
e7875ae0fa
Fix formatting of some nested ranges
2023-12-23 09:35:32 -08:00
3eb3aef575
Fix handling of set_debug_format
2023-12-23 08:32:36 -08:00
56d7a8c157
Simplify test
2023-12-23 07:02:58 -08:00
968fb9d166
Update changelog
2023-12-22 20:42:20 -08:00
b5f6b36b00
Update changelog
2023-12-22 16:55:02 -08:00
44dd6c0e09
Add glibc support to scan
2023-12-22 13:43:20 -08:00
3a0f4af4e9
Refactor file layer
2023-12-22 11:27:22 -08:00
1ca1a4a7a9
Update scan test
2023-12-22 08:22:00 -08:00
dbd9c89b3c
Fix URI
2023-12-20 14:59:29 -08:00
9cd2b87e18
Fix wchar_t to char conversion warnings ( #3764 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-12-20 08:59:26 -08:00
d5da9cc40e
Apply clang-tidy
2023-12-19 17:52:50 -08:00
3a2c50d4ac
Cleanup test
2023-12-19 15:28:10 -08:00
18c43a214c
Cleanup test
2023-12-19 13:46:48 -08:00
6b07fff0d9
Make hex float test more stable on different libc ( #3762 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-12-19 11:03:06 -08:00
9165434e5a
Enable consteval in MSVC VS2019 version 16.10 ( #3757 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-12-18 13:00:11 -08:00
b8f81dede5
[StepSecurity] ci: Harden GitHub Actions ( #3759 )
...
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io >
2023-12-17 17:01:17 -08:00
923005bd4f
Add stdlib version check for C++20 ( #3754 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-12-17 08:33:17 -08:00
afa85e46c3
Apply clang-format
2023-12-17 07:32:22 -08:00
6025bd7c37
Add localized formatting to non-decimal presentation types of ints ( #3750 )
2023-12-15 07:51:25 -08:00
5471a2426c
Update README.md
2023-12-13 09:32:00 -08:00
7d757cba5d
CI: add lint github workflow for running clang-format ( #3749 )
...
so that we can identify changes which do not confirm to the
clang-format rules.
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2023-12-13 07:20:23 -08:00
6855bd532b
Apply clang-format
...
* use clang-format v17.0.6 to reformat the tree
* tweak some places so that clang-format does not mutate the layout
of code too much
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2023-12-13 07:18:37 -08:00
bbee753579
Make clang-format happy
2023-12-13 06:54:51 -08:00
89860eb901
Use void(*)(void*) instead of decltype(&std::free) to satisfy clang in CUDA mode ( #3751 )
...
clang can't resolve &std::free in decltype(&std::free) because std::free
is overloaded (for host and device).
2023-12-11 09:44:02 -08:00
274ba2645b
allow format_as() to format reference ( #3739 )
...
before this change, format_as() is unable to format a type which
has `auto format_as() -> const another_type&`, and `another_type`
is formattable. because `format_as_result` maps the result type
as it is, and the compiler refuses to compile
`static_cast<T*>(nullptr)`, where T is a reference type. but
it would be handy if we could use `format_as()` to format types
which, for instance, owns / inherit from a formattable type, and
delegate the formatter to these variables instead without creating
a copy of them.
in this change:
* instruct `format_as_result` to map the
result type to the decayed type, so that `type` can be the decayed
type of result type, and this also enables `type` to be formattable,
as long as the decayed type is formattable.
* corresponding test is added to format-test.cc
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2023-12-10 08:49:53 -08:00
9048add999
Report out-of-range errors in chrono
2023-12-10 08:28:50 -08:00
640e0c02d4
Update README.md
2023-12-09 17:37:07 -08:00
6392dba21c
Fix warning: identifier '_a' preceded by whitespace in a literal operator declaration is deprecated ( #3748 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-12-09 08:16:57 -08:00
9a6fd11a56
Fix typo in gmock-gtest-all.cc ( #3747 )
...
syntetic -> synthetic
2023-12-09 08:13:20 -08:00
dee0dbf07f
Update README.md
2023-12-08 14:24:11 -08:00
2fabb43b93
Fix README file table ( #3744 )
...
Co-authored-by: George Liontos <george.liontos@forallsecure.com >
2023-12-08 10:26:52 -08:00
9c3c107c8c
Fix compile with GCC 6.3.0 (bug #3738 ) ( #3743 )
2023-12-08 09:36:33 -08:00
4497a2d09a
fix cmake build
2023-12-08 08:33:16 -08:00
81629e425c
Convert README to Markdown
2023-12-08 07:28:33 -08:00
6f95000b7a
Update README.rst ( #3737 )
...
Fix Celestia URL
2023-12-07 06:21:06 -08:00
573d74395b
error on bool arg w/ char pres_type ( #3734 )
2023-12-05 13:45:10 -08:00
5d55375a8a
Experiment with scan buffering
2023-12-03 08:09:36 -08:00
71bd51e6c2
Implement %j
specifier for std::chrono::duration
( #3732 )
...
This adds support for `%j` presentation type for duration types:
> "If the type being formatted is a specialization of duration, the decimal
number of days without padding."
Fixes #3643 .
2023-12-03 07:29:58 -08:00
f575089243
Simplify test
2023-12-01 08:52:42 -08:00
99b9fbf8ef
Add formatter for std::source_location ( #3730 )
2023-11-30 10:05:56 -08:00
8f83ee2ad1
Apply coding conventions
2023-11-30 08:24:02 -08:00
2a8a694466
Clarify that mixing code unit types is deprecated
2023-11-30 08:20:01 -08:00
04718008ab
Minor cleanup
2023-11-30 07:43:31 -08:00
b87ea22e29
Add native and generic representation for filesystem::path format spec ( #3729 )
2023-11-29 14:49:36 -08:00
5cfd28d476
Experiment with FILE in scan
2023-11-26 10:01:42 -08:00
73fae91e64
Cleanup .gitignore
2023-11-25 09:45:38 -08:00
6988be3878
Bump version
2023-11-25 09:11:53 -08:00
2d1e4bb35e
Remove a useless comment
2023-11-25 09:05:20 -08:00
7f8d419115
Fix overflow in time_point formatting with large dates ( #3727 )
...
* Fix #3725 and rename fmt_safe_duration_cast to fmt_duration_cast
The function is now more generic and will handle all casts. It also
takes care of toggling safe vs unsafe casts using
FMT_SAFE_DURATION_CAST.
* Refactor fmt_duration_cast to put #ifdef inside the function
* Fix compilation error with FMT_USE_LOCAL_TIME
2023-11-25 08:36:55 -08:00
ccc9ab7bf9
Include correct header
2023-11-25 08:23:41 -08:00
c4283ec471
Fix a libc++ warning and move the test to the right place
2023-11-25 08:20:53 -08:00
c3f9a73445
Apply coding conventions
2023-11-25 07:43:44 -08:00
06f1c0d725
Clarify that calling non-const format is deprecated
2023-11-24 10:21:57 -08:00
ffa5b14fe3
Make gtest-extra-test more portable
2023-11-24 10:09:21 -08:00
bea7ecc710
Disable locale-specific tests on OpenBSD
2023-11-24 09:45:56 -08:00
8a39388516
Fix the default locale in ostream_formatter
2023-11-24 09:24:43 -08:00
dd6f657a79
Remove this-> from decltype ( #3723 )
...
* Remove this-> from decltype
The latest version of MSVC doesn't like it, and removing it doesn't seem to harm anything.
* Add ifdef for GCC < 5
2023-11-22 09:46:04 -08:00
c13753a70c
Fix handling of invalid Unicode in precision
2023-11-18 08:36:11 -10:00
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
649fe0fc8b
Fix handling of null strings with the s specifier
2023-11-15 17:03:01 -10:00
45e124ee43
Added workaround for old xcode compiler bug ( #3716 )
...
* Added macros to disable std::filesystem and std::variant as a workaround for old xcode bugs
* Change macro to positive logic
2023-11-15 09:19:08 -08:00
045b05d79e
Revert CMake changes
2023-11-14 06:48:16 -10:00
ec628561c2
Fix formatting
2023-11-13 06:41:28 -10:00
cbb18c237a
Add support for CMake 3.28 C++ modules ( #3679 )
2023-11-13 08:34:42 -08:00
6b0082e6c7
Improve OpenBSD workaround
2023-11-07 09:24:33 -10:00
52a99a67f7
Set PDB path for Visual Studio ( #3702 )
...
Ensure the PDB files are output into the same directory and with the same name
as the static library when using Visual Studio.
Resolves fmtlib#3701.
2023-11-07 08:22:52 -08:00
4548d1eae2
Make write_escaped_path more portable
2023-11-07 05:46:15 -10:00
050d41e857
Make get_path_string more portable
2023-11-06 14:34:53 -10:00
1c023c0087
Update bootstrap
2023-11-06 08:20:01 -10:00
b35d4e40fe
fix: use FMT_HAS_INCLUDE instead of __has_include
2023-11-03 15:10:40 -07:00
acaf83f40f
feat: enable building with gcc 4.8
2023-11-03 02:38:05 +09:00
05aa783779
feat: include xlocale.h only if exists
2023-11-03 02:38:05 +09:00
05dda9490d
Bump ossf/scorecard-action from 2.2.0 to 2.3.1 ( #3697 )
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.2.0 to 2.3.1.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](08b4669551...0864cf1902
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 12:38:06 -07:00
caf4fcb207
Bump github/codeql-action from 2.21.5 to 2.22.5 ( #3696 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.21.5 to 2.22.5.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](00e563ead9...74483a38d3
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 12:37:23 -07:00
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
19276d7325
Fix an inconsistentcy between to_string and format
2023-10-28 08:05:11 -07:00
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
3b7f58a8b3
add buffer flush before direct write
2023-10-24 16:02:37 -07:00
e9bbd4069e
Update README.rst
2023-10-22 09:13:14 -07:00
857cce7a83
Update README.rst
2023-10-22 08:45:50 -07:00
081d5b0d8b
Update README.rst
2023-10-22 08:30:04 -07:00
baae1ed658
add meson instructions to usage docs ( #3677 )
2023-10-18 11:53:47 -07:00
2ac6c5ca8b
Fix error C2668 on Windows with option /std:c++latest ( #3680 )
...
* Namespace-qualify to avoid ambiguity with std::format_to for format-test.cc
When build fmt with MSVC under option /std:c++latest, it failed due to `error 2668: 'std::format_to': ambiguous call to overloaded function`, so add namespace to qualify the call to format_to to avoid this issue.
2023-10-16 09:54:02 -07:00
d9063baf22
Fix perf regression in ostream::print
2023-10-15 08:23:36 -07:00
f7542c5761
Apply clang-format
2023-10-14 06:52:43 -07:00
130cf54cbc
Use a more sensible locale in tests
2023-10-08 10:49:21 -07:00
8e0ca0589f
Use a more sensible locale in tests
2023-10-08 09:21:02 -07:00
bf497ac068
Cleanup test
2023-10-08 07:30:08 -07:00
bb8d50f04b
add a suffix for days and fix the one for minutes ( #3664 )
2023-10-07 12:45:34 -07:00
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
f918289363
Bump actions/checkout from 4.0.0 to 4.1.0 ( #3666 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](3df4ab11eb...8ade135a41
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-01 09:49:05 -07:00
72e883e163
Diagnose unsupported code unit types
2023-10-01 08:37:21 -07:00
b3bf23f3c4
Remove leftover usage of the __std_stream header ( #3663 )
...
2dd4fa8742
removed all usage of __std_stream because
it is no longer available with clang v17. That commit missed one place
where the header was still used (only used when building with -DFMT_MODULE=ON).
Remove it there too.
See #3654
2023-10-01 08:16:42 -07:00
349e1c48d1
Update README.rst ( #3661 )
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-09-30 07:16:04 -07:00
79dbd3f192
feat: add security policy to readme ( #3655 )
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-09-28 16:50:14 -07:00
2dd4fa8742
Remove an ostream hack incompatible with libc++ 17
2023-09-26 12:42:37 -07:00
44f3d8a77c
README.rst: fix broken LICENSE link ( #3653 )
...
The `.rst` suffix was dropped for this file a while ago.
2023-09-22 15:54:40 -07:00
06b20387ae
Optimize fractional_part_rounding_thresholds
2023-09-22 13:26:57 -07:00
649f2460db
Apply clang-format
2023-09-22 09:07:43 -07:00
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
a3a74fa7f3
fix: mark fmt::streamed() as constexpr ( #3650 )
...
Because it's just performing a very basic type conversion that can be
done at constexpr time.
My use case simultaneously creates a
`fmt::basic_format_string<some_type_conversion<Args...>>` instance and
performs `some_type_conversion<Args>(args)...`. `some_type_conversion`
optionally applies `fmt::streamed(arg)` to a subset of types. This needs
to be `constexpr` because `basic_format_string`'s constructor is
`consteval`.
2023-09-19 08:42:34 -07:00
8ef4db4b96
Use datatype of underlying data ( #3647 )
2023-09-19 07:31:36 -07:00
492a99c964
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 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-09-18 15:46:17 -07:00
3baaa8d899
Update docs
2023-09-18 14:54:52 -07:00
0e01e46c11
Implement nested formatter
2023-09-18 14:21:21 -07:00
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
a8a73da7e4
Add an option to avoid wchar APIs on Windows ( #3636 )
...
With this, fmt can be used on Windows 98 and the Original Xbox with:
set(FMT_OS OFF)
It is not exposed as a CMake option but one can define it manually
in the fmt subproject, e.g.:
target_compile_definitions(fmt PUBLIC FMT_WINDOWS_NO_WCHAR)
Fixes #3631
2023-09-17 08:49:51 -07:00
aa3c5a4127
Clarify I/O error handling
2023-09-16 08:20:27 -07:00
bfdf50d183
Minor cleanup
2023-09-16 08:16:59 -07:00
571a9b7b26
Replace usage of C++17 library feature with C++11 ( #3638 )
2023-09-16 08:07:03 -07:00
6c088be8ec
Cleanup handling of visibility
2023-09-16 07:40:08 -07:00
016b1faede
Fix symbol leak ( #3627 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-09-16 07:26:36 -07:00
e25370093a
Remove unnecessary spaces ( #3642 )
2023-09-16 06:55:22 -07:00
d4987546a4
Add an experimental nested formatter
2023-09-10 11:56:55 -07:00
5bdce181f1
Mark styled_arg as a view to prevent lifetime issues
2023-09-09 08:16:45 -07:00
a4b7b24b7b
fix redundant redeclaration of ‘constexpr’ static data member ( #3630 )
2023-09-08 16:20:32 -07:00
fac60bd4f5
Remove type cast as mxe(mingw32) compiler complains about useless-cast ( #3624 )
...
Remove type cast as mxe(mingw32) compiler complains about useless-cast
when FMT_PEDANTIC && FMT_WERROR options are enabled
"""
error: useless cast to type 'class fmt::v10::basic_format_args<fmt::v10::basic_format_context<fmt::v10::appender, char> >' [-Werror=useless-cast]
1449 | basic_format_args<buffer_context<char>>(args));
"""
2023-09-05 07:37:27 -07:00
f5be4a8a9a
Bump actions/checkout from 3.5.3 to 4.0.0 ( #3623 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.5.3 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](c85c95e3d7...3df4ab11eb
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 11:24:28 -07:00
84e6661517
Workaround a gcc 6.4 issue
2023-09-04 11:23:14 -07:00
ac3240439c
Update dependabot.yml
2023-09-04 10:23:00 -07:00
8894ae87fe
Bump github/codeql-action from 2.21.4 to 2.21.5 ( #3622 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.21.4 to 2.21.5.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](a09933a12a...00e563ead9
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 10:19:51 -07:00
ca608547e5
Workaround a C++11 issue
2023-09-04 10:07:14 -07:00
23cf4055a0
Simplify URLs
2023-09-04 10:00:13 -07:00
46c8301ee9
Remove rst2md
2023-09-04 09:38:06 -07:00
a79a979828
Cleanup ranges test
2023-09-04 09:19:40 -07:00
457bb6a98f
Merge the copyright comment since there are many contributors
2023-09-04 09:09:01 -07:00
61aef41110
Cleanup changelog
2023-09-04 09:05:07 -07:00
2a45fd30fe
Drop the rst suffix from the license file
2023-09-04 08:18:03 -07:00
24296cff1c
Update ChangeLog.md
2023-09-04 08:16:16 -07:00
3d1d20a6ac
Update ChangeLog.md
2023-09-04 08:10:34 -07:00
0302c527c6
Update ChangeLog.md
2023-09-04 07:59:30 -07:00
154eccfeb1
Convert changelog to markdown for compatibility with release notes
2023-09-04 07:15:18 -07:00
35dc5def30
Revert "Bump actions/checkout from 3.5.3 to 3.6.0 ( #3615 )"
...
This reverts commit e8259c5298
.
2023-09-04 07:12:32 -07:00
e1fc481d65
Merge the copyright comment since there are many contributors
2023-09-04 06:54:07 -07:00
e8259c5298
Bump actions/checkout from 3.5.3 to 3.6.0 ( #3615 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](c85c95e3d7...f43a0e5ff2
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 13:55:28 -07:00
6379251554
Update version
2023-08-28 06:29:25 -07:00
951fd9e66f
Update changelog
2023-08-28 06:28:15 -07:00
be89b9a41e
Merge branch 'release' of github.com:fmtlib/fmt
2023-08-28 06:24:29 -07:00
28e2d3b640
Bump version
2023-08-26 08:29:50 -07:00
f5e54359df
Update version
2023-08-26 08:20:41 -07:00
a003ab93cf
Update changelog
2023-08-26 08:18:55 -07:00
9b74160817
atomic_flag
formatting (#3594 )
2023-08-25 08:06:10 -07:00
a21690bdfa
Coding conventions
2023-08-25 07:46:32 -07:00
c9efd8968c
Merge branch 'MathewBensonCode-master'
2023-08-25 07:44:44 -07:00
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
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
1f38ebbdb1
Add condition to include friend function in win32
2023-08-22 23:07:04 +03:00
e418179694
Fix for FMT_MODULE not compiling on GCC
2023-08-22 21:11:53 +03:00
0bffed8957
Bump actions/checkout from 3.1.0 to 3.5.3 ( #3602 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.1.0 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...c85c95e3d7251135ab7dc9ce3241c5835cc595a9 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 10:58:34 -07:00
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
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
af1b768cc7
Update changelog
2023-08-19 08:22:50 -07:00
2a7c45b54e
Update changelog
2023-08-19 08:19:01 -07:00
bd868f3a51
Improve compatibility with GBK #3598 ( #3599 )
2023-08-19 08:13:20 -07:00
bbb784fb1b
Fix a gcc error about partial specialization after instantiation
2023-08-19 07:22:40 -07:00
6c845f57e5
Fix formatted_size
with FMT_COMPILE
and format specs ( #3588 )
...
Addresses issue #3586
2023-08-15 06:45:48 -07:00
a379595c5f
Bump actions/upload-artifact from 3.1.0 to 3.1.2 ( #3593 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 3.1.0 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.0...0b7f8abb1508181956e8e162db84b466c27e18ce )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 14:02:10 -07:00
9dfde78714
Bump ossf/scorecard-action from 2.1.2 to 2.2.0 ( #3592 )
...
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action ) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases )
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md )
- [Commits](e38b1902ae...08b4669551
)
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 13:43:25 -07:00
e92a705bdc
Bump github/codeql-action from 2.2.4 to 2.21.4 ( #3591 )
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 2.2.4 to 2.21.4.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](17573ee1cc...a09933a12a
)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 11:49:24 -07:00
5a866fe852
Add formatter for std::atomic ( #3574 )
2023-08-14 08:34:31 -07:00
e150ea0cc2
to_string supports types with format_as
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-08-13 08:39:52 -07:00
29ce2ff8a8
Update README.rst
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-08-13 07:32:33 -07:00
2e1362addb
Create scorecard.yml
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-08-13 07:32:33 -07:00
e57ca2e368
Update version
2023-08-12 07:18:59 -07:00
4c56612c67
Update changelog
2023-08-12 07:18:12 -07:00
e1acd5f4d9
Bump version
2023-08-12 06:52:15 -07:00
6ffee2f752
Handle new rst nodes
2023-08-12 06:51:40 -07:00
ee475d6409
Update changelog
2023-08-07 15:12:34 -07:00
ecc9141259
Update changelog
2023-08-07 14:41:53 -07:00
d424862319
Fix fixed precision handling during rounding in long double
2023-08-07 13:56:53 -07:00
3c1b3337de
Update changelog
2023-08-07 11:39:30 -07:00
35fb69ebe0
Update changelog
2023-08-07 10:30:52 -07:00
f92be35c09
Update changelog
2023-08-07 09:44:43 -07:00
7a2f6ac210
Fix a comment
2023-08-07 09:33:45 -07:00
744ff55549
Fix docs
2023-08-07 08:40:41 -07:00
70ae48b005
Update changelog
2023-08-07 08:38:17 -07:00
ebb10347c4
Merge branch 'master' of github.com:fmtlib/fmt
2023-08-07 08:18:13 -07:00
1005720169
Clarify that visit_format_arg is deprecated
2023-08-07 08:17:55 -07:00
aeb6ad4dd0
Added formatter for bit_reference-like types ( #3570 )
...
* Add test for std::vector<bool>::reference
Co-authored-by: Felix <felix-antoine.constantin@polymtl.ca >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
* Add test for std::bitset<N>::reference
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
* Add test for const std::bitset<N>::reference and const std::vector<bool>::reference
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
* Add bit_reference-like formatter
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
* Use std::addressof
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
---------
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Co-authored-by: Felix <felix-antoine.constantin@polymtl.ca >
2023-08-06 11:36:30 -07:00
96d1fa22d4
Update changelog
2023-08-05 10:00:27 -07:00
8a4bec5cf5
fix ambiguous formatter lookup for flat_set ( #3561 )
2023-07-31 09:26:33 -07:00
eacd51c249
cmake: fix FMT_PKGCONFIG_DIR path ( #3563 )
2023-07-31 08:11:56 -07:00
757564f5cd
add missing inline specifier ( #3552 )
2023-07-27 12:12:00 -07:00
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
aecf80d304
Update a comment
2023-07-26 15:10:12 -07:00
503d49286d
expose detail::throw_format_error ( #3551 )
...
This enables to only #include <fmt/core.h> when defining formatters.
2023-07-26 13:21:38 -07:00
4f46cb82f3
Remove std::copy usage. ( #3550 )
2023-07-26 07:27:01 -07:00
3dec65b7fd
Use replacement character in path
2023-07-22 09:07:28 -07:00
dbabb305c3
Turn off error-producing NVCC workaround when using c++20 ( #3544 )
2023-07-21 11:29:15 -07:00
ac0ab8eff3
Improve path formatter
2023-07-20 17:49:12 -07:00
40f35d6f04
Cleanup std formatters
2023-07-20 16:26:27 -07:00
31c2c5679e
Cleanup formatters
2023-07-20 15:57:43 -07:00
b2728a3170
Improve path formatter
2023-07-20 15:25:35 -07:00
77e0b0e228
Cleanup chrono formatter
2023-07-20 15:00:59 -07:00
e475859042
Fix overspecified tests
2023-07-20 14:09:22 -07:00
436c131d4c
Optimize compiled format_to_n
2023-07-20 12:35:01 -07:00
388bc296b7
Fix fixed formatting of small long doubles
2023-07-20 12:06:05 -07:00
95e1ea5737
Clarify requirement on compiled formatter
2023-07-20 10:24:02 -07:00
fb97cb2318
Suppress a bogus stringop-overflow warning
2023-07-20 09:53:54 -07:00
dd5a9691f9
Clarify that data is not null-terminated
2023-07-20 07:36:30 -07:00
72dc4491ea
Fix format_string_checker initialisation order ( #3542 )
...
Linter (clang-tidy) complains about uninitialised fields in
format_string_checker since types_ is passed to context_ before being
initialised. Fixes #3541 .
2023-07-20 07:30:45 -07:00
9bea6ec04a
Don't use deprecated checked_array_iterator
2023-07-20 07:12:06 -07:00
661b23edeb
Call parse on empty specs at compile time
2023-07-15 22:20:29 -07:00
8e87d3a8be
Fix include
2023-07-15 09:02:19 -07:00
a474916560
Update CMakeLists.txt ( #3523 )
2023-07-05 06:38:38 -07:00
de4705f84d
Trying to improve errors in the unformattable case ( #3478 )
2023-07-01 06:46:04 -07:00
e4c8cfe38e
README: Add link to merged clang-tidy check ( #3515 )
...
A much-improved version of the main clang-tidy-fmt check for converting
printf and fprintf has landed in upstream LLVM. It converts to
std::print by default, but can be configured to convert to fmt::print
instead. It makes more sense for the README to point to that version
instead now.
2023-06-30 15:49:36 -07:00
606f85f8b2
Workaround brain-damaged conversions
2023-06-26 16:06:24 -07:00
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
13156e54bf
Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" ( #3496 )
...
This reverts commit ae25f7968e
.
Co-authored-by: Petr Manek <1252039-petrmanek@users.noreply.gitlab.com >
2023-06-18 20:41:07 -07:00
9158bea1e1
Remove old grisu tests
2023-06-18 18:15:09 +03:00
dd17f89a16
Fix for issue #3492 ( #3493 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-06-16 02:20:40 -07:00
1daae555b3
Optimize format string compilation
2023-06-15 10:28:23 +03:00
6ad301235f
Optimize code unit output in compiled format
2023-06-14 21:13:26 +03:00
8732ad8773
Update docs
2023-06-13 19:24:18 +03:00
5afb1821a9
Update docs
2023-06-13 18:58:15 +03:00
a81135f2c8
Fix a link
2023-06-13 18:39:00 +03:00
dfc34821ad
Update docs
2023-06-13 18:33:36 +03:00
0765e7284c
Update docs
2023-06-13 18:12:27 +03:00
977d887a4e
Suppress a bogus warning
2023-06-13 14:01:46 +03:00
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
5dbe0ff954
Bump actions/checkout from 3.5.2 to 3.5.3 ( #3486 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](8e5e7e5ab8...c85c95e3d7
)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 22:46:54 -07:00
de0757b578
Use FMT_TRY and FMT_CATCH in std.h ( #3482 )
...
This naked try-catch block prevents compilation when exceptions are disabled.
2023-06-10 21:28:13 -07:00
8fe893c0ac
Update README.rst
2023-06-06 19:56:53 -07:00
0f823df46a
Remove detail namespace hack
2023-06-04 15:19:50 -07:00
60fd9941c0
Use correct Char type in std::filesystem::path ( #3476 )
...
Godbolt repro:
https://godbolt.org/z/o4bjG6ddo
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com >
2023-06-02 14:12:57 -07:00
8abfc145be
Fix MSVC warning in std::chrono::time_point formatter ( #3475 )
...
* Fix MSVC warning in std::chrono::time_point formatter
The condition is constexpr causing MSVC level 4 warning:
warning C4127: conditional expression is constant
Changed the code to eliminate the warning
* Use detail::const_check
* Review: revert else condition
---------
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com >
2023-06-02 08:40:34 -07:00
686b3353aa
Simplify typeid check
2023-06-01 09:32:44 -07:00
b2106f3639
Tweak comments
2023-05-31 09:52:44 -07:00
35547d6003
Use const_check to silence MSVC warning
...
The condition is constexpr, so the compiler warns if a runtime check
is used as there's no need to generate code for it.
2023-05-31 09:25:53 -07:00
179c7e5a66
Use typeid() only if it's available
...
On MSVC it is always available, otherwise it depends on whether
RTTI is enabled.
2023-05-31 09:25:53 -07:00
61fb3a15ff
Add VxWorks7 user space and kernel space support ( #3467 )
2023-05-31 06:35:07 -07:00
bd393456ed
Remove FMT_*_DETAIL_NAMESPACE
2023-05-28 07:33:26 -07:00
6be36af0d4
Remove udl_formatter
2023-05-27 17:16:36 -07:00
2a35eeed8a
Remove unused data
2023-05-27 10:47:17 -07:00
256a826d63
Consolidate formatters
2023-05-27 09:19:50 -07:00
6369af37d3
Simplify formatters
2023-05-27 09:19:50 -07:00
0b8404918e
Remove get_cached_power
2023-05-27 09:19:50 -07:00
171a020c82
Pass correct Char to base format_as formatter ( #3457 )
2023-05-24 14:50:47 -07:00
d8f04e3995
Simplify ceil
2023-05-24 11:51:34 -07:00
5e988f8dfa
Remove is_constant_evaluated() check
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-24 09:07:12 -07:00
19b17618a9
Make constexpr ceil
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-24 09:07:12 -07:00
c684a06d51
New CI: macOS 13, Xcode 14.3, C++ 20
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-24 09:07:12 -07:00
abdb7fdf88
Update api.rst
2023-05-24 06:30:48 -07:00
8b09fe2a0a
Fix example for user-defined types in documentation for 10.0.0 ( #3461 )
...
* Fix example for user-defined types in documentation for 10.0.0
* Fix the fix
2023-05-24 06:25:51 -07:00
adad18a74d
Update ChangeLog.rst
2023-05-23 12:46:26 -07:00
858e528abd
Use dragon in constexpr
2023-05-23 06:30:09 -07:00
a54cb108d4
CMake: Do not fail on unknown compiler features ( #3453 )
...
If CMake does not know much about a compiler, `target_compile_features` will fail. Issue a warning instead.
2023-05-22 14:17:32 -07:00
ef55d4f52e
Suppress a bogus gcc warning
2023-05-22 11:27:20 -07:00
70b6a6fa44
Update README.rst ( #3454 )
...
Fixed grammar and punctuation issues.
2023-05-22 10:35:24 -07:00
6fe895410d
Remove invalid_arg_index
2023-05-21 19:57:17 -07:00
d0652d225f
Create dependabot.yml ( #3452 )
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-05-21 06:41:30 -07:00
de8d0171a2
Simplify FMT_FORMAT_AS
2023-05-20 18:28:01 -07:00
7401fe046a
Hash pin Github Workflows ( #3451 )
...
* hash pin doc.yml
Signed-off-by: Joyce <joycebrum@google.com >
* hash pin linux.yml
Signed-off-by: Joyce <joycebrum@google.com >
* hash pin macos.yml
Signed-off-by: Joyce <joycebrum@google.com >
* hash pin windows.yml
Signed-off-by: Joyce <joycebrum@google.com >
* hash pin github owned cifuzz.yml
Signed-off-by: Joyce <joycebrum@google.com >
---------
Signed-off-by: Joyce <joycebrum@google.com >
2023-05-20 06:33:37 -07:00
08ef0d0842
fix formatter<char*> ( #3432 )
2023-05-20 06:32:21 -07:00
d60b907f87
Replace mod_inv_25 by explicit value ( #3450 )
2023-05-18 11:26:19 -07:00
4ce086f731
remove code duplication ( #3448 )
...
* remove code duplication
* new interface for remove_trailing_zeros(uint32_t& n, int s = 0)
---------
Co-authored-by: Florimond Collette <4939681+florimondcollette@users.noreply.github.com >
2023-05-18 08:27:57 -07:00
821f8cdb45
Detemplatize printf more
2023-05-17 12:34:12 -07:00
0bf6ed7e1d
Cleanup printf
2023-05-17 10:53:25 -07:00
e40e04face
Detemplatize printf_arg_formatter
2023-05-17 10:05:46 -07:00
0a1c27281a
Detemplatize basic_printf_context
2023-05-17 09:29:20 -07:00
2f605cc896
Deprecate wide printf
2023-05-17 08:58:55 -07:00
1d54499ac0
Apply coding conventions
2023-05-17 08:21:13 -07:00
3c6053c535
Cleanup basic_printf_context
2023-05-17 07:57:53 -07:00
4a392adaa7
Remove basic_printf_parse_context
2023-05-17 07:47:42 -07:00
b14913fae5
FMT_MODULE_EXPORT -> FMT_EXPORT
2023-05-17 07:38:06 -07:00
2117df299c
format-inl.h: address implicit int to bool conversion ( #3446 )
2023-05-17 06:39:20 -07:00
616a493786
Revert Char* formatter removal
2023-05-17 06:11:11 -07:00
9a034b0d55
Always assert in FMT_THROW ( #3439 )
2023-05-17 06:04:36 -07:00
e0fc0e85e3
Remove unneeded FMT_API
2023-05-16 17:25:20 -07:00
552c43aba9
Improve long formatters
2023-05-14 07:07:36 -07:00
d6846f4ac8
Clarify why byte formatter is in core
2023-05-13 08:04:53 -07:00
aeedac5884
Remove unneeded specialization
2023-05-13 07:46:47 -07:00
eaa6307691
Make hex float test more stable ( #3434 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-13 06:34:33 -07:00
e82bf41a1a
Update README.rst
2023-05-12 16:24:47 -07:00
e077396f5a
Update docs
2023-05-12 16:10:38 -07:00
861facad0a
Fix a typo
2023-05-12 16:08:55 -07:00
75bfe57614
Improve docs
2023-05-12 12:57:01 -07:00
697e76ba30
Don't call init_named_args unnecessarily
2023-05-12 11:53:22 -07:00
a425e0ff3b
Cleanup xchar API
2023-05-12 07:05:14 -07:00
c36dd825ba
Remove unnecessary forwarding
2023-05-12 06:45:49 -07:00
130b8fcdb9
Reduce template instantiations
2023-05-11 20:18:34 -07:00
a47e8419be
Cleanup the core API
2023-05-11 19:07:56 -07:00
ea49c91cd1
Cleanup argument construction
2023-05-11 18:43:39 -07:00
d7592ad8bf
Fix time_point formatting for durations with certain ratios ( #3430 )
...
* Fix time_point formatting
* Add timestamps_ratios tests
2023-05-11 15:25:21 -07:00
ebfb2e6779
Remove unused alias
2023-05-11 10:51:32 -07:00
5780269d57
Improve API safety
2023-05-11 10:19:56 -07:00
b471192160
Fix a comment
2023-05-11 09:39:53 -07:00
8f18e72df5
Improve API safety
2023-05-11 06:32:58 -07:00
93d7cb12f1
Fix formatting
2023-05-10 16:29:47 -07:00
0e4278717b
Remove unused macro
2023-05-10 16:27:16 -07:00
93a30a0746
unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode
2023-05-10 16:26:02 -07:00
a08196b149
Update ChangeLog.rst
2023-05-10 09:49:39 -07:00
0398ba42ca
Update ChangeLog.rst
2023-05-10 09:39:04 -07:00
a0b8a92e3d
Update version
2023-05-09 15:55:39 -07:00
5cf2342aa2
Bump version
2023-05-09 15:37:01 -07:00
fe9d39d7cb
Update changelog
2023-05-09 14:27:48 -07:00
4c98561979
Update changelog
2023-05-09 14:25:56 -07:00
403b271ed7
Update changelog
2023-05-09 14:20:59 -07:00
2c991e1af6
Update changelog
2023-05-08 14:43:16 -07:00
c984df9815
Remove an unused function from internal class
2023-05-08 13:35:23 -07:00
fbf21ed224
Update changelog
2023-05-08 13:34:29 -07:00
575583144e
Update changelog
2023-05-08 11:37:33 -07:00
e7f6888c7a
Update changelog
2023-05-08 09:49:39 -07:00
39db2dfd06
Update changelog
2023-05-08 09:41:57 -07:00
9b7829e264
Update changelog
2023-05-08 09:15:07 -07:00
1e0ce567ef
Fix formatting of paths containing invalid Unicode
2023-05-07 10:05:15 -07:00
dde8cf3bb7
Unification utf16/utf32 to utf8 conversion
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-06 08:32:51 -07:00
e84b00e014
Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable]
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-05-06 08:32:51 -07:00
b12ffea4fb
Add filesystem_error test back
2023-05-06 07:49:46 -07:00
f61f15cc5b
Suppress a false positive in gcc
2023-05-06 06:54:30 -07:00
192df93d7b
modules missing pieces ( #3399 )
...
- don't export names from `detail`
- put more headers into the global module fragment
- support MSYS2 and Clang
2023-05-05 10:21:18 -07:00
d8973bf16b
Add FMT_STRING for format_to() call ( #3413 )
2023-05-03 07:58:40 -07:00
d7a8e50cb5
Improve module testing ( #3397 )
...
* use the standard `test-main.cc` component instead of injected test infrastructure sources
* undo now obsolete commit `00235d8a` from July 2021
* Clang cannot import user-defined literals as it seems -> disable test
* Clang emits duplicate, non-mergeable copies of `detail::buffer`'s vtable, causing linker errors -> disable test
2023-05-03 07:56:24 -07:00
02cae7e48a
Improve handling of Unicode in paths
2023-04-30 09:58:59 -07:00
53162142b2
Remove .bazelrc mention from Bazel related readme ( #3411 )
2023-04-29 16:25:00 -07:00
5bcf0d7f97
Bazel support ( #3406 )
...
* Bazel support: Remove not needed .bazelrc file
* Bump tested Bazel version
* Apply buildifier to format Bazel build files
* Add note about Bzlmod
2023-04-29 07:45:49 -07:00
f8c9fabd94
Fix spelling ( #3404 )
2023-04-25 11:47:37 -07:00
62ff4e1dbd
Remove foonathan from maintainer list ( #3402 )
2023-04-23 13:35:05 -07:00
f449ca0525
Name vfprintf
clashes with the identically named declaration in 'stdio.h' if that happens to be #included into the same TU. Fix this by using qualified name lookup instead of unqualified lookup that also enables ADL. ( #3400 )
2023-04-23 07:10:57 -07:00
eafcd3c8e1
Optionally attach declarations to the global module
rather than module fmt
( #3387 )
...
This allows coexistence with TUs that use {fmt} through #include without duplicating declarations, definitions, linker symbols, and object code.
2023-04-23 06:04:36 -07:00
18154cc903
Simplify print
2023-04-22 14:03:40 -07:00
0de789cf29
Update changelog
2023-04-22 09:20:28 -07:00
c039389223
export names only once ( #3392 )
...
names declared to be exported at the point of introduction into a namespace *must not* be (re-)declared as exported later in the TU, e.g. when they are redeclared, defined, or specialized. [module.export]/6
Drive-by fix found during module testing: add a missing `detail::` name qualification
2023-04-22 06:21:06 -07:00
93e81bb5d8
Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows ( #3398 )
2023-04-20 17:36:05 -07:00
e7d6eb6794
Update tests to use recommended MOCK_METHOD ( #3395 )
2023-04-20 13:16:21 -07:00
18e7a2532b
Remove obsolete msvc workarounds ( #3388 )
...
This bug in the modules implementation is fixed since at least msvc 19.34, possibly even earlier like 19.32.
2023-04-19 17:09:51 -07:00
0489c19dcb
fix and improve module ( #3386 )
...
* export public documented API
* don't export `namespace detail`
* add `std.h` into module
* add missing namespace qualification in `xchar.h`
* fix call to `detail::get_iterator` in `xchar.h`
* fix ambiguous overload of `detail::isfinite` in `chrono.h`
2023-04-18 06:47:01 -07:00
8ec94ac6a5
Use full path to pcm
2023-04-14 11:57:17 -07:00
d97d8cea67
Push module check to test
2023-04-14 11:42:01 -07:00
d8a2698e6c
Fix compilation as a C++20 module with gcc 13
2023-04-14 09:49:07 -07:00
d9c19940a3
Update add_module_library
2023-04-13 17:13:52 -07:00
4b5ae0b0ef
Remove unnecessary module support check
2023-04-13 16:53:45 -07:00
75f3b1c094
Use add_module_library
2023-04-12 09:10:34 -07:00
faf83406a9
Workaround cmake issue
2023-04-11 15:59:08 -07:00
165814d57a
Add module support to CMake
2023-04-11 14:38:34 -07:00
33f7150778
Fix error C2668 on msvc ( #3378 )
2023-04-11 06:27:28 -07:00
c98e5a08a4
Fix modular build on clang
2023-04-10 12:07:25 -07:00
119c6bd16f
Move the modules check
2023-04-10 09:28:00 -07:00
77eeb71830
Remove unused headers
2023-04-10 09:08:19 -07:00
13bf99f9db
Enable modules in clang 16
2023-04-10 08:44:43 -07:00
1d0257e4c0
FMT_MODULE_EXPORT_* -> FMT_EXPORT_*
2023-04-10 08:33:39 -07:00
4613d48fd3
FMT_EXPORT -> FMT_LIB_EXPORT
2023-04-10 08:24:23 -07:00
4a4a2a2bd6
Fix diagnostics
2023-04-09 09:30:20 -07:00
fce74caa15
Disable problematic implicit conversions
2023-04-09 09:08:46 -07:00
02bf4d1c1c
Disable to_string_view ADL
2023-04-09 08:49:05 -07:00
466e0650ec
Remove problematic workaround
2023-04-09 08:04:11 -07:00
029caa8ea2
Update changelog
2023-04-09 07:01:06 -07:00
e406ddbfaf
Remove broken part of the config
2023-04-08 08:46:43 -07:00
9095679536
Update changelog
2023-04-08 08:39:17 -07:00
7f46cb75b8
ranges: Fix extra semi ( #3374 )
2023-04-06 08:31:07 -07:00
4e3f381058
Update changelog
2023-04-02 07:13:42 -07:00
d3c10f5167
fix compilation for MSDOS ( #3369 )
2023-04-01 13:40:53 -07:00
ab956f600f
Update changelog
2023-04-01 08:04:47 -07:00
97aedeab48
Workaround a double-double hexfloat format ( #3366 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-04-01 07:19:23 -07:00
bce8d4ed08
Remove stray comment
2023-03-27 11:04:00 -07:00
a91c7b286d
Cleanup the core API
2023-03-26 21:07:26 -07:00
19c074e477
Remove deprecated fallback formatter
2023-03-26 08:45:06 -07:00
41cfc739fe
Generalize format_as
2023-03-26 07:37:51 -07:00
f6276a2c2b
Force use a signed char (On ARM char is unsigned by default) ( #3362 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-03-22 11:34:59 -07:00
6002ddf825
Remove a deprecated option
2023-03-19 12:17:43 -07:00
6549ffde8e
Improve format_as safety
2023-03-19 12:09:54 -07:00
d9bc5f1320
Fix code causing spurious Wstringop-overflow warning
...
See #2989 , #3054 , and others
2023-03-18 09:29:54 -07:00
9c5cd998d1
Remove unused functions
2023-03-18 08:40:16 -07:00
93bfa05382
%T is %H:%M:%S ( #3349 )
2023-03-18 07:16:22 -07:00
d8e1c4265a
fix case of variant which is valueless by exception ( #3347 )
...
Co-authored-by: theomegacarrot <theomegacarrot@gmail.com >
2023-03-18 07:07:06 -07:00
e1720c0e51
Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma ( #3352 )
2023-03-17 11:35:35 -07:00
7f882918eb
write_floating_seconds
: Fall back to ::round
(#3343 )
...
On some toolchains, `std::round` is not available.
Fixes #3342
2023-03-12 09:34:19 -07:00
cbc7b8d5c1
Cleanup dead variable ( #3338 )
2023-03-10 09:17:43 -08:00
050293646f
Path is not escaped twice in the debug mode ( #3321 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-03-05 08:01:06 -08:00
3daf33837c
Enable consteval for Xcode 14.0.1 and later ( #3331 )
...
Co-authored-by: Cloyce D. Spradling <cloyce_spradling@apple.com >
2023-03-04 09:22:43 -08:00
e0748e61dd
Fix recursion check in range formatting
2023-03-04 08:20:32 -08:00
b94e1016fa
chore: set permission to cifuzz.yml ( #3328 )
...
Signed-off-by: Joyce <joycebrum@google.com >
2023-03-01 07:58:59 -08:00
98699719f8
Make # handling consistent with std::format
2023-02-26 10:15:16 -08:00
48dfbcaa95
Improve license and PR template wording
2023-02-26 09:08:53 -08:00
c644c753d7
Add ' 🐙 userver framework' to the projects
2023-02-26 08:42:55 -08:00
73b7cee7fb
Fix for issue #3325 ( #3326 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-02-26 06:59:41 -08:00
5b8302079d
Add optional support ( #3303 )
2023-02-25 06:45:56 -08:00
3a69529e8b
Fix various typos ( #3312 )
...
Found via `codespell -q 3 -S ./test/gtest -L "fo,pres,seh,wronly"`
2023-02-21 15:14:41 -08:00
76f520835f
Call element parse in tuple parse
2023-02-20 12:54:20 -08:00
507c3042d8
class -> typename
2023-02-18 10:23:42 -08:00
1741e90dec
Always call parse in range formatter
2023-02-18 09:58:37 -08:00
d646fd0daf
Minor cleanup
2023-02-16 11:21:08 -08:00
b5c2f74f45
change sopen_s to wsopen_s (fmtlib#3234) ( #3293 )
2023-02-16 11:17:55 -08:00
e03753c4ac
Add ubuntu mirrors ( #3302 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-02-12 07:46:50 -08:00
6e6eb63770
[msvc] fix warning about non-inline variable
2023-02-11 09:45:13 -08:00
3c5464ba1c
Fix OpenBSD build error ( #3295 )
2023-02-11 08:46:28 -08:00
655046d24f
Fix container adaptor formatting
2023-02-10 09:45:37 -08:00
581c6292c9
Add formatters for container adapters ( #3279 )
2023-02-08 17:25:41 -08:00
7718eeeacc
Implement glibc ext for sec, min, and hour ( #3271 )
2023-02-08 09:22:58 -08:00
44e0eea94e
Use FMT_HAS_INCLUDE and apply clang-format
2023-02-08 07:19:10 -08:00
99070899b7
Fix errors setting of FMT_USE_FLOAT128 ( #3259 )
2023-02-08 07:15:02 -08:00
05e3a9233a
Allowing formatting non-copyable ranges. ( #3290 )
2023-01-27 12:29:57 -08:00
70db193f09
Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 ( #3288 )
2023-01-26 11:46:30 -08:00
a2c05a10ec
Workaround a bug in MSVC <= 19.22
2023-01-25 10:34:28 +13:00
cae9bf45b9
Simplify apidoc comments
2023-01-25 09:32:03 +13:00
87c066a35b
Implement println
( #3267 )
2023-01-24 12:30:00 -08:00
9409b2e4d8
Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 ( #3281 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2023-01-22 11:29:34 -08:00
f89cd276f7
Refactor countl_zero fallback ( #3276 )
2023-01-17 15:04:34 -08:00
240b728d81
Report an error on overflow
2023-01-18 11:52:33 +13:00
dfbb952b2c
Fix empty spec for time point ( #3275 )
2023-01-16 11:48:00 -08:00
39971eb336
Fix localized format for float-point numbers ( #3272 )
2023-01-15 11:47:24 -08:00
0f42c17d85
Implement a new formatting algorithm for small given precision ( #3269 )
...
Implement the formatting algorithm for small given precision discussed in https://github.com/fmtlib/fmt/issues/3262 and https://github.com/fmtlib/fmt/pull/2750
2023-01-14 11:30:20 -08:00
bfc0924eac
Bugfix for fmt::printf on Power9 architecture with the XL compiler ( #3256 )
2023-01-13 11:36:00 -08:00
676c2a107e
Fix negative subsec for time_point ( #3261 )
2023-01-11 11:36:50 -08:00
2c80cedc39
Fix standard default installation target presence ( #3264 )
2023-01-10 17:56:00 -08:00
dda53082be
Support fill, align & width for time point ( #3260 )
2023-01-09 11:25:31 -08:00
2622cd23e6
Simplify arg_mapper
2023-01-03 16:35:21 -08:00
9e4a54fa6e
Disable remaining implicit conversions
2023-01-03 12:08:42 -08:00
9ce6480676
Disble deprecated implicit enum conversions
2023-01-03 10:24:31 -08:00
9121f9b1d3
Enable format_as for classes
2023-01-03 08:58:23 -08:00
b7535365b2
Enable format_as for non-integral types
2023-01-02 13:37:13 -08:00
09ed1ddb9c
Cleanup tests
2023-01-02 09:58:12 -08:00
0ec65d99aa
Merge parse_presentation_type into parse_format_specs
2023-01-02 09:19:32 -08:00
71e4e02722
Cleanup vprintf
2023-01-02 08:37:00 -08:00
aad546baa5
Simplify presentation type parsing
2023-01-01 16:14:17 -08:00
14a69fcc54
Use parse_align
2023-01-01 10:44:55 -08:00
bf34ffd33f
Refactor format string parsing
2023-01-01 10:21:47 -08:00
6056e07125
Simplify symbols
2022-12-30 19:35:05 -08:00
aa99b86409
Minor cleanup
2022-12-30 18:51:15 -08:00
6ade2eb4e5
Inline all_int_set
2022-12-30 17:05:08 -08:00
caa6974942
Simplify parse functions
2022-12-30 16:34:36 -08:00
a73a9b6a84
Refactor format string checks
2022-12-30 16:03:41 -08:00
72785a3aba
Cleanup write
2022-12-30 13:53:55 -08:00
0c3dd5ddd7
Remove redundant check
2022-12-30 12:55:19 -08:00
739b600f40
Remove iterator shenanigans
2022-12-30 12:37:22 -08:00
3710c4d38f
Link to dragonbox
2022-12-30 12:07:55 -08:00
a05ba44df8
Simplify format string parsing
2022-12-30 11:23:42 -08:00
ffb9b1d13c
Improve handling of signed types
2022-12-30 10:31:39 -08:00
32190859ec
Fix handling of char
2022-12-30 09:11:42 -08:00
8fe4d97d5e
Reduce template instantiations
2022-12-30 08:44:23 -08:00
7e5a959564
Fix build with MSVC C++20 modules ( #3254 )
...
When using fmt with C++20 modules under MSVC, it can end up requiring certain things to have storage that would not otherwise have needed to. Since I didn't see anything that was already doing detection for `inline constexpr` variable support, I've just moved the entire thing into the only function where it's used.
2022-12-28 19:58:57 -08:00
9e60304869
Clarify that unused args are allowed
2022-12-28 06:58:04 -08:00
7ad48c1f65
Cleanup core.h
2022-12-26 09:14:15 -08:00
a921a596e7
Cleanup core.h
2022-12-26 07:46:31 -08:00
3e762fdf5c
Use ignore_unused
2022-12-26 06:57:21 -08:00
79981a2528
Cleanup ranges formatting
2022-12-25 20:05:20 -08:00
bd12aaa98e
Simplify format string parsing
2022-12-25 12:31:38 -08:00
b8f36207c9
Simplify format string parsing
2022-12-25 11:47:43 -08:00
d907786f04
Move anchor to where it belongs
2022-12-25 10:58:54 -08:00
f2355bbe5e
Fix docs
2022-12-25 10:25:35 -08:00
f398c94761
Fix docs
2022-12-25 10:24:36 -08:00
4841784e82
Simplify C99 strftime detection conditions
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-25 10:16:19 -08:00
cb72c23e9e
Improve timezone tests
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-25 10:16:19 -08:00
583f2d8209
Set timezone for chrono tests
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-25 10:16:19 -08:00
32c4390704
Minor cleanup
2022-12-25 08:59:25 -08:00
3a5e19fbf5
Minor cleanup
2022-12-25 08:42:16 -08:00
dfb857ebef
Refactor format spec parsing
2022-12-25 07:25:32 -08:00
9ea9b6bcb1
Cleanup arg id parsing
2022-12-24 16:33:57 -08:00
2b0ff62a7f
Remove unused template arg from format_string_checker
2022-12-24 15:46:34 -08:00
d1745084e0
Simplify parse context
2022-12-24 15:20:24 -08:00
407e7b7b6d
basic_format_specs -> format_specs
2022-12-24 14:34:50 -08:00
3cf9794755
Cleanup format string parsing
2022-12-24 13:47:20 -08:00
934c8e5f76
Refactor precision parsing
2022-12-24 13:29:23 -08:00
fc96938345
Remove empty semicolon
2022-12-24 09:54:55 -08:00
f0ab112c34
Cleanup parsing
2022-12-24 09:40:35 -08:00
9660e5b956
Remove redundant tests
2022-12-24 07:28:13 -08:00
a585571e90
Ignore 0 character with align
2022-12-23 19:36:05 -08:00
840ec8569d
Cleanup width handlers
2022-12-23 19:18:35 -08:00
1dadeb8a33
Refactor width parsing
2022-12-23 18:29:59 -08:00
275b4b3417
Remove obsolete parse-benchmark
2022-12-23 12:50:08 -08:00
e004f1d699
Fix for issue #3241
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-23 12:26:20 -08:00
bde1a6070d
Simplify fill and alignment parsing
2022-12-23 10:52:56 -08:00
040dc2a5d4
small typo in syntax.rst
...
0x1e was misread as 0x13, it looks like
2022-12-23 10:29:14 -08:00
6a186bcd66
Localize FMT_USE_LOCAL_TIME
2022-12-21 14:52:52 -08:00
8c56919bd2
Check chrono spec starts with %
2022-12-21 14:40:30 -08:00
115001a3b1
Formatting of system clocks ought to be to UTC, not to local time.
...
This improves standards conformance of fmt.
2022-12-21 14:23:02 -08:00
b90895412f
Fix formatting of named arguments with locale
2022-12-15 09:59:40 -08:00
d072f1dc69
Fix for issue #3228
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-14 13:49:36 -08:00
3999fd193a
Workaround an ADL issue
2022-12-11 09:32:17 -08:00
c06e0b4ede
Extract timezone offset from timezone conversion functions
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-10 10:13:53 -08:00
1bf302a4ea
Implement %Ez, %Oz for chrono formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-12-10 10:13:53 -08:00
f1733afd49
Pin godbolt example to specific version
2022-12-10 09:35:55 -08:00
f61dcccc6e
Update README.rst
2022-12-06 11:52:37 -08:00
f9bcbdcbcf
Update README.rst
2022-12-06 11:51:59 -08:00
1a854b4aa5
Clarify what mod_inv_5 is
2022-12-04 08:36:03 -08:00
62ceb181b1
fix #3105 - Compile-time error when mixing named argument with automatic indexing
2022-12-04 08:13:26 -08:00
b0c8263cb2
include/fmt/core.h: copy constructors removal
2022-11-30 16:44:42 -08:00
d24be2e95c
Add countl_zero function
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-30 12:25:01 -08:00
8d50d814db
Fix a chrono formatting issue found by fuzzing
2022-11-30 11:04:51 -08:00
115ca96e0e
Bump tested CMake version to 3.25
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-30 08:09:32 -08:00
886491625d
Remove workaround for GTest bug
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-30 07:16:37 -08:00
74c51ff37e
Skip only strptime dependent test in scan-test
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-27 08:59:30 -08:00
69ffedfe52
Use target_compile_features
to specify C++ standard requirement
2022-11-26 11:03:17 -08:00
fae6f7e081
Optimize range formatter
2022-11-26 08:50:46 -08:00
a69e43c9d7
Update benchmark results
2022-11-25 09:52:02 -08:00
91c024ed33
Rename leading_v -> leading_xdigit
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-25 09:08:40 -08:00
649aa102d6
CI linux: add CIFuzz Github action
...
Signed-off-by: David Korczynski <david@adalogics.com >
2022-11-24 08:22:51 -08:00
31364732dc
Replace snprintf-based hex float formatter with internal implementation
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-24 07:15:46 -08:00
74d55a4938
Add missing operators
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-24 07:15:46 -08:00
8276f1a204
Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-22 10:51:00 -08:00
81ebe70b9b
Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend)
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-22 10:51:00 -08:00
3160847ebd
Enable C++17 tests on macOS
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-18 08:22:07 -08:00
6a95f8c7eb
Add missing env CTEST_OUTPUT_ON_FAILURE
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-18 08:22:07 -08:00
c7980542d3
Skip the scan-test if strptime isn't defined ( #3184 )
...
cygwin and embedded systems. By default newlib doesn't provide strptime
in time.h because it was added in a later X/Open versions. Issue: #3178
2022-11-16 09:42:01 -08:00
7df30f91ae
Format unique_ptr with custom deleter ( #3177 )
...
* Format unique_ptr with custom deleter
Added deleter type to fmt::ptr unique_ptr overload. Deleter type is
part of the unique_ptr type.
* Review: apply clang-format
Co-authored-by: Hans-Martin B. Jensen <haje@eposaudio.com >
2022-11-13 21:54:32 -08:00
d2e89c8b08
Document more chrono specs
2022-11-08 19:35:34 -10:00
bd19593204
Document more chrono specs
2022-11-08 16:22:23 -10:00
fd0d0ec8df
Document more chrono specs
2022-11-08 14:57:57 -10:00
8e93434edd
Update README.rst
2022-11-08 11:21:16 -08:00
fc07217d85
Make utf-8 detection compatible with gbk
2022-11-02 15:42:47 -07:00
cb7373b469
Replace format with FMT_STRING. ( #3162 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-11-02 13:17:16 -07:00
795ed8abf5
Add precision modifier for seconds in chrono format ( #3148 )
...
Co-authored-by: Stepan Ponomarev <stepan.ponomarev@itiviti.com >
2022-11-02 11:58:51 -07:00
66d71a1b35
Fixing formatting of range of range of char. ( #3158 )
2022-11-02 11:04:54 -07:00
80f8d34427
fmt::ostream - aggregate buffer instead of inheriting it ( #3139 )
...
Some MSVC-specific behavior:
When class fmt::ostream inherits detail::buffer - the last gets implicitly exported when fmt is built as a shared library.
Unless os.h is included, the compiler assumes detail::buffer is not externally exported and instantiates a local copy of it, which causes ODR violation.
With aggregation - there is no extra exporting of detail::buffer symbols.
2022-10-23 07:21:36 -07:00
64965bdc96
Add locale getter in tm_writer ( #3147 )
...
* Add locale getter in tm_writer
* Apply clang-format
Co-authored-by: Stepan Ponomarev <stepan.ponomarev@itiviti.com >
2022-10-20 10:22:03 -07:00
e1ffa7655d
Fix warning: conditional expression is constant. ( #3150 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-20 07:49:53 -07:00
8c19bf3f2f
Mention MariaDB amongst the projects that use fmt ( #3145 )
2022-10-17 13:33:05 -07:00
f67dbc9811
Remove duplicate implementation ( #3144 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-17 11:15:28 -07:00
cd7202e039
Fix overflow error ( #3143 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-16 14:04:55 -07:00
51d3685efe
Remove duplicate template parameter. ( #3142 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-14 16:34:24 -07:00
9254cfa6f0
Support formatting of subseconds ( #3115 )
...
* Timestamp formatting shall print also subseconds, fixed a bug for fractional durations
2022-10-12 14:33:53 -07:00
cfb34a0607
Avoid using uint
as a type name ( #3137 )
...
Sometime `uint` is defined as a global type by the project's code directly or by some 3rdparty libraries (e.g. Qt or OpenCV).
Some versions of MSVC (e.g. v16.11.15) gives a type shadowing warning:
```
3rdparty\fmtlib\fmt\include\fmt/format.h(3251): warning C4459: declaration of 'uint' hides global declaration
opencv2/core/hal/interface.h(45): note: see declaration of 'uint'
```
This also causes a compilation failure when `/WX` is used.
2022-10-12 10:53:47 -07:00
5ad7b71381
Fix options for C++20 experimental module in CMake ( #3134 )
...
* Fix options for C++20 experimental module in CMake
* Replace `FMT_CAN_MODULE` by `FMT_MODULE` in test/CMakeLists.txt
2022-10-12 08:23:12 -07:00
d2c47c0df2
Fix broken condition ( #3129 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-07 13:46:45 -07:00
491c32cbd9
Workaround gcc bug 103879
2022-10-05 21:12:38 -07:00
662adf4f33
Move formatter<std::error_code> from fmt/os.h to fmt/std.h ( #3125 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-10-01 17:46:09 -07:00
ad91cab374
Normalization of stdlib inline namespace names ( #3119 )
...
* Normalization of stdlib inline namespace names
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
* Remove all subnamespaces with names matching "__*" mask
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-29 09:52:38 -07:00
0ccaed3a6c
Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR ( #3120 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-28 16:51:23 -07:00
ad719619cc
Support formatting of std time_point with utc_clock ( #3110 )
2022-09-28 07:31:53 -07:00
6e0a5f7fba
Update CI to Ubuntu 20.04 and to newer versions of actions
2022-09-27 15:06:12 -07:00
48f525d025
Add basic_format_string::get()
2022-09-22 19:50:04 -07:00
0b5cb18b71
Use buffering in to_string to avoid bloat
2022-09-21 17:11:43 -07:00
4c4f99a583
Update a godbolt link
2022-09-21 12:05:57 -07:00
3272a7a3ce
Update an example
2022-09-21 12:03:18 -07:00
a48e3355a6
Improve docs
2022-09-18 08:44:04 -07:00
afcf424294
Update docs
2022-09-16 15:27:18 -07:00
ac85afaab6
Simplify format_error
2022-09-16 14:25:14 -07:00
3178bb9a26
Update docs
2022-09-16 10:29:53 -07:00
cf58f64c54
Update docs
2022-09-16 10:28:00 -07:00
e4e0ae3918
Use fmt/core.h in examples
2022-09-15 20:41:32 -07:00
d65acc4e6c
Improve docs
2022-09-14 10:59:50 -07:00
c9f790b061
Update docs
2022-09-14 10:58:52 -07:00
6b8144a5ac
Update locale docs
2022-09-14 06:38:29 -07:00
2d66ad5d33
Suppress -Wshadow
...
Solves:
/fmt/include/fmt/ostream.h:89:18: warning: declaration of 'fbuf' shadows a previous local [-Wshadow]
89 | else if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_filebuf<char>*>(rdbuf))
| ^~~~
C:/GIT/ok-mimot/libs/3rdParty/fmt/include/fmt/ostream.h:87:13: note: shadowed declaration is here
87 | if (auto* fbuf = dynamic_cast<__gnu_cxx::stdio_sync_filebuf<char>*>(rdbuf))
| ^~~~
2022-09-13 11:14:30 -07:00
042af53324
Suppress -Wfloat-equal
...
Only NaN and Inf are not less than Inf and the check for NaN is done
before.
Solves:
.../fmt/include/fmt/format.h:2509:43: warning: comparing floating-point with '==' or '!=' is unsafe [-Wfloat-equal]
2509 | return !detail::isnan(value) && value != inf && value != -inf;
2022-09-13 11:14:30 -07:00
192859c2b5
Optimize writing to buffers via back_insert_iterator
2022-09-12 15:32:12 -07:00
e2f6d7665b
fix gcc <= 7.1 compile errors
2022-09-12 10:43:16 -07:00
61844b6b67
Fix build error on GCC-9
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-12 07:02:29 -07:00
7a752e75ff
New CI: GCC-9
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-12 07:02:29 -07:00
94ceb38a09
Improve locale API
2022-09-11 09:33:31 -07:00
58c4c012fa
Disable slow windows build and simplify write_loc
2022-09-11 08:35:09 -07:00
c3494ae364
Refactor float localization
2022-09-11 07:47:27 -07:00
8ae56161c8
Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR ( #3091 )
2022-09-10 18:05:10 -07:00
76705fc2ee
Update doc
2022-09-10 15:06:09 -07:00
21c2137e77
Add class name output to formatter for std::exception ( #3076 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-10 08:04:00 -07:00
ecffca6726
Don't parse '}' as fill
2022-09-07 17:33:31 -07:00
3176e0fad7
Add locale overload for formatted_size ( #3084 ) ( #3087 )
...
Co-authored-by: Gerbo Engels <gerbo.engels@ortec-finance.com >
2022-09-07 14:15:12 -07:00
1feb430faa
Fix intellisense on Windows ( #3082 )
...
__INTELLISENSE__ is 1 on vs2022 and clang, causing FMT_HAS_INCLUDE, FMT_USE_FCNTL, etc to be 0.
That results in VS and VSCode having a lot of linter errors while code compiles just fine.
2022-09-05 11:50:06 -07:00
b98ffb7dbd
Improve locale handling
2022-09-04 21:07:30 -07:00
bac53951b8
Add starts_with to basic_string_view. ( #3080 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-04 11:41:16 -07:00
d59b89e9cd
More locale
2022-09-04 11:23:45 -07:00
58a5563a9f
Implement grouping
2022-09-04 09:01:26 -07:00
1b94271ff6
Add support for UTF-8 digit separators
2022-09-03 11:01:05 -07:00
768d79a839
Implement format_facet
2022-09-03 09:42:36 -07:00
91ecb38a34
Localize negative integers
2022-09-03 07:01:11 -07:00
aec3bb5d0a
Workaround C complex.h idiocy
2022-09-03 06:35:55 -07:00
29c6000137
Simplify is_variant_like_ check, fix compile error before GCC 11 ( #3072 )
...
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru >
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-02 21:08:07 -07:00
fec5515c55
num_format_facet -> format_facet
2022-09-02 18:55:08 -07:00
f187274d36
Add loc_value
2022-09-02 13:45:23 -07:00
fc5e59fe4a
Don't use stringstream
2022-09-02 13:05:26 -07:00
d6a8704605
Improve locale support
2022-09-02 11:52:19 -07:00
56c72a671c
Reduce locale dependency
2022-09-02 10:22:11 -07:00
4191477b98
Add formatter for std::exception ( #3062 )
...
Co-authored-by: fekir <federico.kircheis@gmail.com >
Co-authored-by: Alexey Ochapov <alexez@alexez.com >
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru >
Co-authored-by: fekir <federico.kircheis@gmail.com >
Co-authored-by: Alexey Ochapov <alexez@alexez.com >
Co-authored-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-09-02 08:33:37 -07:00
75383a87f9
Inline trivial functions
2022-09-01 18:25:23 -07:00
48327a82e3
Make format.h compile faster
2022-09-01 17:06:47 -07:00
b79ed4105a
Remove unnecessary type_identity
2022-09-01 16:29:08 -07:00
64e29893cf
Improve locale support
2022-09-01 14:48:43 -07:00
0b0f7cfbfc
hip workaround
2022-09-01 09:18:53 -07:00
40e414d823
Fix compilation error with gcc-7.2.0
...
Without the added line, the gcc-7.2.0 compiler will give the following error:
```
/opt/compiler-explorer/libs/fmt/trunk/include/fmt/format.h:1240:8: error: uninitialized variable 'buffer' in 'constexpr' function
Char buffer[digits10<UInt>() + 1];
^~~~~~
```
See https://godbolt.org/z/fh7TMs9qs
2022-08-30 10:55:57 -07:00
33b4c33c5b
Requires FMT_CONSTEXPR20 support
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-29 13:33:48 -07:00
a07411c2b9
Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated()
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-29 13:33:48 -07:00
797d82b21a
Disable non-type template args for LCC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-29 13:33:48 -07:00
a553521d6d
Disable "GCC optimize" pragma for LCC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-29 13:33:48 -07:00
a33701196a
Update version
2022-08-27 08:57:10 -07:00
1f575fd5c9
Bump version
2022-08-27 08:55:39 -07:00
c7635288f7
Fix docs, take 2
2022-08-27 08:28:07 -07:00
c8ed78e315
Fix docs
2022-08-27 08:01:47 -07:00
e07cfb2068
Update changelog
2022-08-27 07:55:06 -07:00
1dc7af5693
Fix markup
2022-08-27 07:52:58 -07:00
f7d21c3a1a
Update changelog
2022-08-27 07:51:24 -07:00
a55bcb24bd
Update changelog
2022-08-27 07:13:36 -07:00
30cb2b3122
Remove appveyor config
2022-08-27 06:52:25 -07:00
cf8d3c3229
Update changelog
2022-08-26 16:17:42 -07:00
3c3cb6f6b1
Update changelog
2022-08-26 16:00:24 -07:00
91481f255c
Detemplatize code_point_length_impl
2022-08-26 15:45:00 -07:00
f98048b621
Fix bugs in utf8 decoder ( #3056 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-26 15:37:15 -07:00
4a8e2949bb
Fix formatting of ranges of code unit types
...
Thanks Nicole Mazzuca.
2022-08-26 13:48:58 -07:00
3a3b0709e2
Disable bogus -Wstringop-overflow on GCC 11 ( #3054 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-24 12:37:34 -07:00
e724bbea16
Fix wchar_t corner cases
2022-08-24 12:23:10 -07:00
665d9779ec
Disable non-type template args for nvhpc ( #3053 )
2022-08-24 10:56:45 -07:00
13d07c6a3d
Apply doc fixes retroactively
2022-08-24 09:16:12 -07:00
391f922acc
Improve error reporting in format string compilation
2022-08-24 09:05:15 -07:00
dc59d3df3f
Fix a warning in gtest
2022-08-24 07:18:14 -07:00
489dabbd31
Fix decoder on broken utf8 sequences. ( #3044 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-24 07:13:27 -07:00
541cd21838
Fix locale name (thanks Mikhail Paulyshka)
2022-08-20 08:06:20 -07:00
1f95c34381
Fix sign handling with large code units
2022-08-20 07:46:58 -07:00
779449fd99
Belarusify test
2022-08-20 07:37:15 -07:00
fbb568bce0
nvhpc/22.3: workaround for c++17 mode. ( #3043 )
2022-08-18 11:30:40 -07:00
36c23bd5fd
Prepare for deprecating FindPythonInterp module. ( #3040 )
...
* Prepare for deprecating FindPythonInterp module.
Since FindPythonInterp module is deprecated after CMake 3.12, it is better to start using the new FindPython module.
* Add the proper punctuation in comments.
2022-08-17 14:18:39 -07:00
9ff0f3a7d6
Fix docs
2022-08-16 11:31:11 -07:00
fd41110d38
Add MinGW to CI
2022-08-14 08:40:38 -07:00
fc23cfbf4e
Fix testsuite on MinGW + MSVCRT
...
Fixes #2952 . The testsuite indirectly called strftime() with conversion
specifiers defined only in C99. In MSVCRT this function conforms only to
C89. Only in the updated UCRT this functon provides the functionality of
C99.
2022-08-14 08:40:38 -07:00
fd93b633b8
Constexpr formatted_size ( #3026 )
...
* Constexpr formatted_size
* Add C++20 tests for gcc 9 and 10
* Adjust unit test to require __cpp_lib_bit_cast
2022-08-10 09:35:30 -07:00
7fb8d33f9d
Fix compile-time width/precision type check
2022-08-09 16:10:02 -07:00
8bd02e93b2
Reduce conditional compilation
2022-08-09 09:05:01 -07:00
d9c1c7353a
Use is_utf8() in print(std::ostream&, ...)
...
This patch concludes the Unicode support for print(ostream&, ...)
2022-08-09 09:05:01 -07:00
682e097bee
Remove -Wl,--as-needed linker option
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-07 06:51:41 -07:00
b9087ee587
Suppress unused typedef warning
2022-08-05 15:27:01 -07:00
df56fdf883
Clarify docs for compile-time checks
2022-08-05 07:00:34 -07:00
90c48b8525
Remove double code execution
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
5a8b7cd742
Add comment
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
36a25d75b4
Reuse detail::string_literal in the chrono formatter
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
6c9304b2c2
Replace ParseContext with basic_format_parse_context
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
24ab9dd19e
Remove duplicate method
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
a95dc17017
Remove unused condition
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-05 06:15:59 -07:00
5f774c0aed
I shouldn't be there
2022-08-02 16:35:50 -07:00
6567df7f24
Update README.rst
2022-08-02 06:50:09 -07:00
6c6b1fbf6e
Workaround a bug in MSVC
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-08-02 06:46:02 -07:00
9beddd08f9
Improve CI on Windows
2022-08-02 06:46:02 -07:00
6452e3c9eb
Fix a typo in example
2022-08-02 06:26:19 -07:00
756822ba39
Fix Unicode handling for ostream under Windows with libc++. ( #3001 )
...
Also replaces the SFIANE tricks applied in
ce7ecdb7af
with conditional compilation.
The code was too complicated along with the other trick to access private
data members.
2022-07-30 06:49:21 -07:00
0b2862a1e4
Range formatter ( #2983 )
...
* Implement range_formatter and format_kind
* Attempted gcc 4.8 fix
* gcc 4.8 interprets inaccessible as a hard error (instead of... not available)
* Attempting to delete set_debug_format.
* clang-format
* Different implementation of FMT_STATICALLY_WIDEN
* Renaming copy_str_range to copy_str.
* I guess I need a definition
* Forgot to delete these.
* Other PR comments.
2022-07-29 13:55:16 -07:00
258000064d
Add fmt:: namespace to doc ( #3009 )
...
Otherwise as-is the example does not compile on Visual Studio due to the conflict with std::format_to:
https://gcc.godbolt.org/z/qe4jEvvqY
2022-07-29 13:10:09 -07:00
e9ca7ea472
Suppress a bogus warning
2022-07-28 07:12:49 -07:00
81f1cc74a7
Improve Unicode handling when writing to an ostream on Windows ( #2994 )
...
* Refactor detail::print() by splitting into two functions.
The part with SetConsoleW is a separate function, without fwrite().
* Make Unicode handing when writing to std::ostream more robust.
Calls to print(ostream&) in the special Unicode case on Windows fallback
to writing via ostream::write instead of fwrite().
* Fix Unicode handling when writing to an ostream on GCC on Windows
* Add TODO note about detail::is_utf8()
* Fix warning -Wundef
* Fix for non-Windows OSs
* Fix building as DLL on Windows
* Refactor
* Suppress warning
2022-07-23 08:03:31 -07:00
bbcb129e02
Reduce filesize of the tests on MinGW ( #2995 )
...
This patch removes the workaround applied here
1acfd07f1e
.
MinGW is not tested on Appveyor anymore.
2022-07-22 20:11:33 -07:00
48e0a59222
Implement compile-time checks for dynamic width/precision type
2022-07-22 17:00:40 -07:00
bc5c7c50fd
Fixes IBM XLC behavior with uint128 fallback ( #2985 )
...
* Fixes IBM XLC behavior with uint128 fallback
* Replace legacy xlc with clang-based xlc
* simplify xlc intrinsics handling
Co-authored-by: Federico Busato <fbusato@nvidia.com >
2022-07-22 13:49:17 -07:00
00adc7120d
Add a regression test for here be dragons
2022-07-22 11:08:00 -07:00
c48be439f1
Add additional search paths for doxygen on Windows
...
`find_program(DOXYGEN doxygen)` didn't find the executable automatically even if I installed Doxygen on Windows. Therefore, I added some additional search paths.
2022-07-19 08:59:18 -07:00
371f9c71ca
Fix even in format_dragon
2022-07-19 08:36:34 -07:00
91abfcd6cf
Suppress an msvc warning
2022-07-16 08:57:09 -07:00
deeab54b40
Remove unused include
2022-07-15 20:11:35 -07:00
688a627d6c
Remove unused constants.
2022-07-14 15:25:35 -07:00
9bb1605f10
Remove some branches
2022-07-14 15:25:35 -07:00
8061d9afbe
Simplify Dragonbox implementation
2022-07-14 15:25:35 -07:00
d82e1a108d
Make sure the correct fmod overload is called
2022-07-13 12:42:03 -07:00
defa04e730
Fix for EDG frontend (Intel, NVHPC compilers) ( #2982 )
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-13 11:34:43 -07:00
92d36e82c4
The n specifier for ranges ( #2981 )
...
* The n specifier for ranges.
* Flipping flag polarity.
2022-07-12 10:08:38 -07:00
0db43cf7fe
Pointless comparison warnings ( #2971 )
...
Co-authored-by: Federico Busato <fbusato@nvidia.com >
2022-07-11 12:29:39 -07:00
05be7a0764
Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__
2022-07-10 08:54:34 -07:00
2a1b3ac629
Fix large shift in uint128_fallback
2022-07-10 08:27:21 -07:00
e1d3d3a326
Exclude recursive ranges from the formatter specialization for ranges ( #2974 )
...
* 2954: Add test case
* Eliminate extra-test and merge it into existing std-test instead. Add conditionals for filesystem::path testing that does not run into the ambiguity problem.
* #2968 : Introduce additional compile-time predicate to detect recursive ranges and reject them in formatter specialization for ranges. In addition, introduce additional wrapper traits for the individual logical operands of the complete range constraints
* #2968 : Eliminate preprocessor condition that enables the formatter specialization for std::filesystem::path
* #2968 : Eliminate preprocessor condition that enables the test for the formatter specialization for std::filesystem::path
* Use own bool_constant, which is available for all C++ versions
* Reintroduce previous workaround but restrict to VS 2015 for now
* Comma fix
* - Rename is_not_recursive_range to is_nonrecursive_range and add comment that explains it being depending on is_range being true
- Merge has_fallback_formatter_delayed into is_formattable_delayed and add comment that explains it being depending on is_not_recursive_range being true
- Replace disjunction in formatter specialization by has_fallback_formatter_delayed
- Get rid of unneeded detail:: prefixes within namespace detail
2022-07-10 06:26:23 -07:00
b761f1279e
Improve forward using the idea from Jonathan Müller
2022-07-07 16:48:17 -07:00
cc1926942f
Inline std::forward
2022-07-07 14:41:54 -07:00
d5e9166f54
Fixed typo in changelog example.
2022-07-05 19:07:39 -07:00
b31d1a75a0
Add xchar support for fmt::streamed().
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-05 19:07:06 -07:00
c4ee726532
Update version
2022-07-04 09:50:06 -07:00
fa2eb2d2e3
Bump version
2022-07-04 09:37:29 -07:00
35f72bf210
Bump version
2022-07-04 09:10:55 -07:00
d22f00d7e4
Update changelog
2022-07-04 09:01:56 -07:00
4e8d215606
Update changelog
2022-07-04 08:56:18 -07:00
84eecb6561
Prune CI configs
2022-07-04 08:51:35 -07:00
55727e3b21
More compile-time checks
2022-07-04 08:25:27 -07:00
1010b7f148
Update docs
2022-07-04 08:18:44 -07:00
2ac51fc448
Update changelog
2022-07-04 08:13:27 -07:00
831132293b
Workaround for Microsoft Visual Studio 2022 Internal compiler error.
...
D:\a\fmt\fmt\test\compile-test.cc(362,3): fatal error C1001: Internal compiler error. [D:\a\fmt\build\test\compile-test.vcxproj]
(compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\constexpr\constexpr.cpp', line 8635)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-04 07:18:21 -07:00
115e00e0b9
Replace __cplusplus with FMT_CPLUSPLUS.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-04 07:18:21 -07:00
94114b05ca
New CI: Microsoft Visual Studio 2022.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-04 07:18:21 -07:00
d2a2320820
Fix partial specialization problem for filesystem for Visual Studio ( #2957 )
...
* #2954 : Provide std::conjunction and std::disjunction substitutes
* #2954 : Use conjunction and disjunction substitute to make formatter specializations for ranges and maps more robust (especially for Visual Studio compiler family)
* #2954 : As workaround for older MSVC compilers split formatter<std::filesystem::path> partial template specialization into two explicit specialization.
* 2954: Add test case
* Provide simplified implementations of conjunction and disjunction
* Remove workaround explicit specializations if the partial specialization would cause an ambiguity error
* Eliminate extra-test and merge it into existing std-test instead. Add conditionals for filesystem::path testing that does not run into the ambiguity problem.
2022-07-03 11:06:54 -07:00
0c06c81da8
Deprecated implicit conversion of enums to ints for consistency with scoped enums
2022-07-03 09:02:22 -07:00
c12b4c0cf1
New CI: GCC-8 C++17, Clang-8 C++17.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-02 08:34:52 -07:00
99bb5b1d17
Fix std::variant, std::filesystem::path tests on GCC-8, Clang-7,8.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-07-02 08:34:52 -07:00
e29c2bc60e
Update docs
2022-06-30 08:13:34 -07:00
c65e4286bf
Update changelog
2022-06-29 09:02:08 -07:00
69c24e47e8
Update changelog
2022-06-28 11:00:56 -07:00
6a775e9560
Add support for 'std::variant' in C++17 ( #2941 )
...
Add support for 'std::variant' in C++17.
For C++17, if all the alternatives of a variant are formattable
the variant is now also formattable. In addition 'std::monostate'
is now formattable.
Moves implementation into 'std.h', and tests into 'std-test.cc'.
Avoid fold-expression since MSVC was crashing.
Add section for 'fmt/std.h' in API-docs.
2022-06-26 07:28:01 -07:00
51535866d0
Update docs
2022-06-25 09:13:29 -07:00
3ef5caa9fe
Update docs
2022-06-25 09:11:10 -07:00
dccd3e6742
Fix docs
2022-06-25 09:04:31 -07:00
9cb02aaaad
Fix UDLs
2022-06-25 08:52:10 -07:00
e6d478f8e8
Update changelog and docs
2022-06-25 08:33:57 -07:00
2d931b1497
Add fmt::streamed
2022-06-24 09:26:24 -07:00
0506a5733d
Update changelog
2022-06-24 09:04:56 -07:00
e8bd2a804d
Fix enable_ifs for map formatter ( #2944 )
2022-06-23 08:24:11 -07:00
7c56e11ecf
Update changelog
2022-06-23 07:40:56 -07:00
69a20db081
Update changelog and fix an apidoc comment
2022-06-22 08:32:46 -07:00
7a2a97c882
Update changelog
2022-06-22 07:31:34 -07:00
5682338891
Fix is_formattable for tuple-like types. ( #2940 )
2022-06-19 08:25:58 -07:00
f0de128449
Remove /source-charset:utf-8 compile option.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-06-19 07:37:39 -07:00
eaa8efb950
Fix ofstream handling in msvc
2022-06-16 15:02:33 -07:00
fb991e9d3b
Update changelog
2022-06-12 12:17:39 -07:00
8e47cfd1cd
fix -Wsign-conversion warning
2022-06-11 12:31:33 -07:00
2471875867
Make the tests pass on a CHERI system.
2022-06-10 07:02:03 -07:00
b135f1c014
Refactor handling of argument types
2022-06-09 17:03:33 -07:00
f61a1e8132
Add format_arg_types
2022-06-09 15:50:30 -07:00
48b7e3dafb
Added a FMT_STRING wrapper for system_error() call.
...
This enables the use of FMT_ENFORCE_COMPILE_STRING on MSVC 2019.
2022-06-07 07:00:57 -07:00
4bb3af7a6b
Improve compile-time checks
2022-06-05 13:58:04 -07:00
d02c582b96
Fix 'duplicate symbol' error.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-06-05 07:17:25 -07:00
b59d8c3a23
Make std::filesystem::path formatter utf-8 compatible.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-06-04 10:10:21 -07:00
232e21d51f
Add utf-8 test for std::filesystem::path formatter.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-06-04 10:10:21 -07:00
8644654190
Docs: add comment about empty format context range
2022-06-02 08:40:29 -07:00
ba50c19e82
use qualified call to avoid ADL conflict with std::format_to
2022-06-01 15:57:15 -07:00
9d60395953
Fix compilation on ppc64
2022-05-31 13:53:15 -07:00
a2681aabcb
Debug ppc failure
2022-05-31 11:30:22 -07:00
bfc5767368
Add support for std.h in Bazel build
2022-05-30 16:52:25 -07:00
798d09bb70
Debug ppc failure
2022-05-30 13:06:34 -07:00
8c7cf51395
Cleanup
2022-05-30 08:21:01 -07:00
cdfacb4345
Cleanup parse_format_string
2022-05-30 07:30:11 -07:00
926ddd0631
Move compile string to detail
2022-05-30 07:06:36 -07:00
cb682f36f4
Move to_string_view to detail
2022-05-29 22:51:31 -07:00
156744ad47
Simplify fmt::runtime
2022-05-29 21:18:52 -07:00
d9c7166cf0
bi_iterator -> base
2022-05-29 21:01:57 -07:00
11316b29af
chore: Set permissions for GitHub actions
...
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.
- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs
[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ )
Signed-off-by: nathannaveen <42319948+nathannaveen@users.noreply.github.com >
2022-05-29 19:12:52 -07:00
fe6eb792d5
Cleanup check_format_string
2022-05-29 19:01:06 -07:00
054b1d9808
Remove unused include
2022-05-29 18:24:10 -07:00
e927149f8e
Cleanup macros
2022-05-29 17:23:02 -07:00
1761e2666a
Remove FMT_CONSTEXPR_DECL
2022-05-29 16:42:58 -07:00
d6b568a6cc
Cleanup string_view checks
2022-05-29 16:30:39 -07:00
c83a5d42bb
FMT_MSC_VER -> FMT_MSC_VERSION
2022-05-29 15:39:08 -07:00
27cd68c301
Cleanup macros
2022-05-29 14:45:59 -07:00
08be4abb30
Remove FMT_NVCOMPILER_VERSION
2022-05-29 13:54:31 -07:00
661b192545
Remove FMT_HEADER_ONLY_CONSTEXPR20
2022-05-29 13:22:45 -07:00
d1026fa5d2
Remove extern format_float
2022-05-29 13:11:19 -07:00
7e63b600b6
Make to_string work with __float128
2022-05-29 12:23:57 -07:00
b2ea212cd1
Update README.rst
2022-05-29 11:44:09 -07:00
c2fcdc54e2
Move format_float to format.h for __float128
2022-05-29 11:30:33 -07:00
2b9037a190
Move basic_fp to format.h for compile-time formatting
2022-05-29 07:32:52 -07:00
542785ccbf
Get rid of detail::bits
2022-05-29 07:10:36 -07:00
65dd2ea52c
Use write_escaped_string to std::filesystem::path.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-05-28 07:48:02 -07:00
9860f67cde
Improve xchar support for std formatters.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-05-28 07:48:02 -07:00
03b1b2838e
Improve std::filesystem::path formatter.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-05-28 07:48:02 -07:00
4f9311e689
Fix definition of error_handler::on_error
2022-05-27 10:49:19 -07:00
652fea45a9
Visual Studio 2022: fmt/format.h(1526,27): warning C4127: conditional expression is constant #2908
2022-05-27 10:38:13 -07:00
1f9eae7e31
Add xchar support for write_escaped_string.
...
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru >
2022-05-27 08:36:38 -07:00
90b68783ff
Skip cmake targets inclusion if fmt::fmt already exists ( #2907 )
2022-05-27 08:35:40 -07:00
ce246aaf74
Remove deprecated APIs
2022-05-22 07:10:09 -07:00
edeb3d8091
Remove deprecated APIs
2022-05-21 19:57:38 -07:00
496aff7c33
Remove deprecated APIs
2022-05-21 15:12:38 -07:00
f5cdf7cb04
Simplify snprintf_float
2022-05-21 12:34:21 -07:00
440512f08d
Remove deprecated APIs
2022-05-21 12:20:31 -07:00
621eb80bbb
Remove deprecated APIs
2022-05-21 11:34:07 -07:00
5c7d315ded
Remove locale.h
2022-05-21 08:19:09 -07:00
c6324009ba
Add initial double-double support
2022-05-21 07:32:54 -07:00
147e8ca580
Fix Windows max mix-up ( #2903 )
2022-05-18 16:35:26 -07:00
6bf039d750
Add std: 🧵 :id formatter
2022-05-17 16:37:19 -07:00
9730fb0156
Fix path formatter
2022-05-17 14:29:49 -07:00
f0903ad9df
Add a path formatter
2022-05-16 17:32:25 -07:00
8833f386e4
Merge branch 'master' of github.com:fmtlib/fmt
2022-05-15 09:51:38 -07:00
5ab9d39253
Namespace-qualify format_to to avoid conflict with std::format_to
2022-05-15 09:51:20 -07:00
af5644c274
Update README.rst
2022-05-15 06:29:15 -07:00
3e28dc021c
VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891 ( #2892 )
...
VS2022 17.2: C4189: 'zero': local variable is initialized but not referenced #2891
Co-authored-by: Ivan Shynkarenka <Ivan_Shynkarenka@epam.com >
2022-05-13 07:04:34 -07:00
f6f920a1a8
Tweak a comment and apply clang-format
2022-05-11 14:40:26 -07:00
ae963e444f
Implement constexpr isfinite to avoid producing NaN
2022-05-11 08:43:22 -07:00
358f5a7e50
Make precision computation consistent with width
2022-05-11 06:34:51 -07:00
f63afd161f
Fixed all clang -Wsigned-enum-bitfield warnings ( #2882 )
...
Made enums involved in bitfields unsigned by specifying their underlying type as unsigned char.
Due to a bug, when specifying an underlying type, gcc < 9.3 warns about bitfields not being big enough to hold the enum, even though they are. So keep the plain enum for old gcc.
An example of the bug is here:
https://godbolt.org/z/58aEv8zEq
2022-05-09 11:03:51 -07:00
7e4ad40171
Add initial support for double-double
2022-04-24 07:43:02 -07:00
ffb5e6a732
Suppress a -Wliteral-range warning on Apple M1 ( #2861 )
2022-04-19 11:10:18 -07:00
5d804ee7fe
Fix handling of subnormals in exotic FP
2022-04-17 08:56:35 -07:00
86e27ccb41
Suppress a warning
2022-04-12 09:30:29 -07:00
192f79aaae
Fix handling of locale separators in FP formatting
2022-04-12 08:00:17 -07:00
395cf0f03e
Fix detection of unformattable pointers
2022-04-12 06:45:46 -07:00
fc429d18b6
Avoid overhead on sensible platforms
2022-04-11 16:52:34 -07:00
ce7ecdb7af
Replace conditional compilation with SFINAE
2022-04-11 12:16:05 -07:00
8751a03a04
Fix Unicode handling when writing to an ostream
2022-04-10 09:46:01 -07:00
c55175a589
Add an issue template
2022-04-08 07:53:42 -07:00
a935ac3e60
MSVC CMake generation optimization ( #2852 )
2022-04-08 06:27:23 -07:00
22d31b31f0
Add a __float128 test
2022-04-03 14:56:29 -07:00
f607e3e970
Add __float128 support
2022-04-03 12:58:06 -07:00
686de58886
Implement 128-bit constant mul in bigint
2022-04-03 07:24:18 -07:00
02eb215f2f
Replace uint128_wrapper with uint128_fallback
2022-04-02 18:01:41 -07:00
b4dc7a1d34
Add 128-bit operations to bigint
2022-04-02 09:29:13 -07:00
ef54f9aa38
Suppress -Wfloat-equal
2022-04-01 12:18:22 -07:00
288c3b928b
Remove dead code in ostream.h format_value
2022-03-29 10:21:19 -07:00
96930161f9
Implement 128-bit operator+= for uint128_fallback
2022-03-27 08:07:54 -07:00
b41890c1e5
Make arg_mapper SFINAE-friendly again
2022-03-27 07:10:15 -07:00
e2408f37c8
Check if formatter is not defined if there is format_as
2022-03-26 09:44:49 -07:00
db5b8993ac
Fix formatting of std::byte via format_as
2022-03-26 09:01:30 -07:00
1c83eaf75e
Fix incompatible between Jinja2 >= 3.1 and sphinx 3.3.0
2022-03-26 07:30:17 -07:00
5379063b54
Fixed clang -Wreserved-identifier warings
...
Created FMT_UNCHECKED_TYPE that resolves to special identifier _Unchecked_type for Microsoft, but to a dummy string otherwise. Using
_Unchecked_type is invalid because underscore + uppercase is a reserved identifier.
2022-03-24 07:33:43 -07:00
b591fc87dc
Fixed all clang -Wreserved-id-macro warnings (on macOS at least)
...
Avoid defining various reserved identifiers (starting with underscore and capital letter). Fortunately, they were all Windows-only, so it was easy to conditionalize them in Window-only preprocessor checks.
2022-03-24 07:33:43 -07:00
17dda58391
constexpr -> const for portability
2022-03-23 21:14:22 -07:00
7ffe87c0bc
Fix docs
2022-03-22 19:13:01 -07:00
3c4273dd09
Simplify UDL
2022-03-22 17:43:37 -07:00
36d95c9fcc
Fix docs
2022-03-22 17:31:31 -07:00
44abd1f483
Update signatures in docs and ostream.h
2022-03-22 16:05:30 -07:00
db745986f2
Workaround broken std::numeric_limits
2022-03-20 08:50:52 -07:00
8271e43e5e
Improve __float128 support and use constexpr
2022-03-20 07:20:41 -07:00
3f9b7433a3
Improve __float128 support
2022-03-19 09:44:14 -07:00
71778e8b90
Specialize float_info for __float128
2022-03-19 08:39:16 -07:00
f024565c3f
Improve exponent handling in Dragon
2022-03-19 08:23:32 -07:00
e7f31f5cdb
Cleanup format_dragon
2022-03-18 16:03:19 -07:00
3c61799fbf
Cleanup fuzzing mode
2022-03-18 12:01:52 -07:00
4e39e13085
Remove xchar.h include from ostream.h
2022-03-18 10:53:15 -07:00
ac0d9d5fe2
Issue #2816 : also strip named-arg for the fallback formatter
2022-03-18 10:11:14 -07:00
4ad90578f7
Fix #2818 : diagnose unformattable arguments in unpacked case
2022-03-18 10:11:14 -07:00
17ba99c1d2
Fix #2817 : add compile-time checking to ostream overloads of fmt::print
2022-03-18 10:11:14 -07:00
3d19be282a
Fix #2816 : strip named argument wrappers for compile-time checking
2022-03-18 10:11:14 -07:00
c076a54a4d
Move snprintf_float to format.h
2022-03-18 08:31:31 -07:00
0419d23882
Add FMT_USE_FLOAT128
2022-03-18 07:43:51 -07:00
69396347af
Update color.h ( #2815 )
...
fixed typo in comment
2022-03-17 10:55:02 -07:00
c51604a0e1
Reduce the number of configs
2022-03-15 18:20:59 -07:00
587dc9946d
Remove windows-2016 env no longer suppported by GA
2022-03-15 18:16:13 -07:00
1f3d44b859
Update std::tm/chrono docs
2022-03-15 16:53:51 -07:00
bc654faf82
Add is_floating_point that works with __float128
2022-03-15 08:26:05 -07:00
26bffce66d
Simplify basic_memory_buffer
2022-03-15 07:15:52 -07:00
ed18ca3eae
Implement isnan
2022-03-14 20:37:46 -07:00
a204b8dde7
Add initial __float128 support
2022-03-14 19:34:41 -07:00
b6b003b073
Cleanup test
2022-03-14 15:48:38 -07:00
f2543b0a98
Add initial support for 128-bit floats
2022-03-14 14:00:15 -07:00
72f487562d
Simplify float_info
2022-03-14 13:37:03 -07:00
f91f61cd13
Reuse num_significand_bits
2022-03-14 11:34:24 -07:00
9a1beab574
Workaround Windows API garbage
2022-03-11 17:31:39 -08:00
a8fe8becf4
Fix compilation error for ranges with ADL begin
/end
( #2807 )
...
* Use `range_begin`/`end` to get formatted range iterators
* Add test for adl `begin`/`end`
* Apply clang-format
* Simplify tests
2022-03-11 11:36:39 -08:00
f6bcb25e16
Remove extra dot
2022-03-10 16:26:17 -08:00
b4a4189d0c
Fix handling of implicit bit
2022-03-10 15:34:56 -08:00
32d477e5f1
Add styled
in documentation ( #2805 )
2022-03-10 12:24:47 -08:00
0b7c045a2f
Simplify _cf
2022-03-08 15:31:51 -08:00
c10fffecdc
Make _cf visible in the doc build
2022-03-08 11:00:04 -08:00
dcfbe4a77a
Document output_file default behavior correctly ( #2803 )
...
The documentation for output_file incorrectly says that opening an output file happens with `file::WRONLY | file::CREATE` by default, but this includes `file::TRUNC` is also included since 119f7dc3d
.
2022-03-08 10:02:22 -08:00
8c9bc070f5
Implement styled arguments ( #2793 )
...
* Implement styled arguments
* Inherit from formatter<Arg> to get the underlying `parse` and `format`
* Move styled_arg definition into the previous detail block
* Change styled_arg ctor parameters names to avoid shadowing members
* Move const before auto
* Remove redundant constructor for styled_arg
* Use the iterator instead of the buffer in styled_arg::format
* Remove unnecessary `styled` overloads
* Remove defaulted text_style parameter in styled function
2022-03-08 09:50:14 -08:00
5bc39d363a
Eliminate intel compiler warnings ( #2802 )
...
The intel compiler emits `declaration hides parameter "loc" ..." and similar warnings for "out" and "args" since the function arguments are the same as other visible symbols. This is for intel-2021.3.0 20210609.
2022-03-07 15:34:33 -08:00
e3d688e79a
Fix warning C4251: class fmt::v8::file needs to have dll-interface ( #2797 )
...
* Fix warning C4251: class fmt::v8::file needs to have dll-interface
* Add CMake target dependency between test-main and fmt
2022-03-07 12:09:48 -08:00
8d4f3e91b2
Update docs
2022-03-06 10:12:40 -08:00
0cef1f819e
Fixing formatting of certain kinds of ranges of ranges. ( #2787 )
...
* Fixing formatting of certain kinds of ranges of ranges.
* Renaming const_range to range_type.
2022-03-04 16:21:00 -08:00
5c0d656401
Fix apt install
2022-03-03 15:50:25 -08:00
d416a995ea
Update README.rst
2022-03-01 13:53:02 -08:00
3f67a12477
Update README.rst
2022-03-01 13:48:54 -08:00
cc57e35974
Update godbolt link in the readme ( #2789 )
2022-02-25 13:47:23 -08:00
86477f7ecc
Fix size computation
2022-02-22 17:21:07 -08:00
0742606f19
Fix Conversion Warning ( #2782 )
...
With -Wconversion and 32 Bit I get a warning here with unsigned long
long converted to unsigned long.
2022-02-22 08:16:36 -08:00
1ba69fb5a1
Remove snprintf FP fallback
2022-02-21 08:01:55 -08:00
ea6f0bf0e5
Minor cleanup
2022-02-21 07:29:36 -08:00
1a18a2f3dd
Fixing "C4127: conditional expression is constant" Visual Studio 2022 warning in pedantic mode ( #2783 )
2022-02-21 07:26:16 -08:00
4fcacea354
Parameterized fp on significand type
2022-02-21 07:25:13 -08:00
cf940ae82e
Simplify to_decimal
2022-02-20 19:38:02 -08:00
70dc3de053
Update format.h
...
To prevent the following compiler message:
[...]/include/fmt/format.h:392:20: warning: conversion to 'long unsigned int' from 'int' may change the sign of the result [-Wsign-conversion]
392 | unsigned value[size];
| ^~~~
2022-02-20 11:38:03 -08:00
cbc59ca893
Clear moved from memory buffer
2022-02-20 08:12:59 -08:00
ea3d326c63
Fix clang -Wliteral-range warning ( #2779 )
2022-02-19 10:52:33 -08:00
aad44f2839
Add fmt::enums::format_as
2022-02-19 08:03:42 -08:00
1319719a5e
Add underlying_t
2022-02-19 07:57:43 -08:00
af5d8004fc
Limit Dragonbox to supported FP formats
2022-02-19 07:14:18 -08:00
7b96420961
Remove unused include
2022-02-18 18:56:51 -08:00
a0b43bfae2
Add support for 96-bit long double
2022-02-18 18:01:49 -08:00
2c8cd2db34
Fix handling of zero precision
2022-02-18 12:38:30 -08:00
b6d56170fc
Remove unnecessary inline
2022-02-18 07:41:55 -08:00
05432e570e
Use consistent indentation
2022-02-18 07:38:42 -08:00
47da218cc3
Remove uintptr_fallback
2022-02-18 07:03:33 -08:00
4ddab8901c
Merge accumulator into int128_fallback
2022-02-18 06:17:28 -08:00
d38f72aff2
Refactor fallback ints
2022-02-17 20:24:42 -08:00
15c2a3bacc
int128_t -> int128_opt
2022-02-17 20:03:25 -08:00
532a69a639
Fix handling of 96-bit long double with -m32
2022-02-17 15:51:59 -08:00
d8e1dd4ab2
improve installing headers
2022-02-17 08:13:26 -08:00
ae25f7968e
add ability to build Apple framework using CMAKE_FRAMEWORK
2022-02-17 08:13:26 -08:00
ce93a66dfb
Implement a fallback uint128_t
2022-02-17 07:37:09 -08:00
6a13464059
Include 128-bit with other signed integers in specifier check
2022-02-16 16:57:06 -08:00
70de324aa8
Apply 2746 fix for NVidia compiler also ( #2770 )
2022-02-16 12:04:16 -08:00
a1ea3e015b
Move built-in formatter specialization to core
2022-02-16 07:37:00 -08:00
161059dd98
Add support for extended precision FP
2022-02-16 06:07:04 -08:00
c4c6b42de7
Bump version
2022-02-15 13:36:59 -08:00
21785040c7
Fix markup
2022-02-15 13:28:53 -08:00
2b6f7fc7a3
Add partial support for extended precision FP
2022-02-15 07:22:41 -08:00
0a24a0714e
Clz builtin may be not constexpr (Issue #2761 ) ( #2762 )
2022-02-14 18:19:06 -08:00
ba6f89c76e
Update .bazelversion ( #2766 )
2022-02-14 06:08:46 -08:00
5594edaf67
Address https://github.com/fmtlib/fmt/issues/2763 ( #2765 )
2022-02-13 20:14:28 -08:00
10e3b83a75
Replace `make_args_checked
with
make_format_args
` ( #2760 )
...
* Replace make_args_checked to make_format_args
* Deprecate legacy make_args_checked
2022-02-13 20:13:35 -08:00
c48353cb75
Update docs
2022-02-13 07:41:15 -08:00
083510f0f0
Add FMT_CONSTEXPR to rotr instead
2022-02-13 06:15:17 -08:00
dba99bc860
Revert adding constexpr to rotr to satisfy C++11 compilers
2022-02-13 06:15:17 -08:00
c04af4bfc7
Simplify remove_trailing_zeros
2022-02-13 06:15:17 -08:00
b348caa9e9
Remove some C-style casts for consistency
2022-02-13 06:15:17 -08:00
c8bd1e646e
Simplify remove_trailing_zeros
2022-02-13 06:15:17 -08:00
9b23e9dcb8
Fix wrong comment/refer to a correct reference
2022-02-13 06:15:17 -08:00
69f2c550ab
Remove std:: infront of uint32_t/64_t & add constexpr to rotr
2022-02-13 06:15:17 -08:00
9b62310f03
Fix some conversion issues
2022-02-13 06:15:17 -08:00
08d12f31d1
Fix typo
2022-02-13 06:15:17 -08:00
dbddb1d066
Remove literal separator to satisfy some compilers
2022-02-13 06:15:17 -08:00
7dbe3dcded
Recover log10_2_significand
2022-02-13 06:15:17 -08:00
10642e6082
Optimize remove_trailing_zeros
2022-02-13 06:15:17 -08:00
7b4323e1e0
Add rotr
2022-02-13 06:15:17 -08:00
f1bd6f7731
Check r < deltai first, because that is the major branch chosen for short inputs
2022-02-13 06:15:17 -08:00
5d8eb6a1a0
Reflect the new paper
...
- Change constants appearing in log & division computations
- Rename beta_minus_1 to beta
2022-02-13 06:15:17 -08:00
8e2e4d4034
Suppress a gcc warning
2022-02-12 09:26:48 -08:00
a44716f58e
Workaround to Intel compiler ( #2758 )
2022-02-11 06:25:42 -08:00
c71b070168
Add missing const qualifier ( #2755 )
2022-02-10 10:51:32 -08:00
ecd6022c24
Update docs
2022-02-08 06:28:22 -08:00
afbcf1e8ea
Remove legacy C locale wrapper
2022-02-05 12:37:21 -08:00
90325d0970
Fix stored type detection
2022-02-05 10:44:34 -08:00
e2ba01fcb0
Fix overload ambiguity in print
2022-02-05 08:35:19 -08:00
17b362f78c
Simplify ostream opt-in API
2022-02-04 18:33:59 -08:00
a5a7e3a261
Update docs
2022-02-04 15:42:22 -08:00
f055ebbd25
Make ostream operators opt in to reduce the risk of ODR violations
2022-02-04 15:06:45 -08:00
8a21e328b8
Remove problematic constructibility check
2022-02-04 12:20:02 -08:00
31e743d06e
Don't use ostream for types convertible to string_view
2022-02-04 11:00:00 -08:00
35c0286cd8
Simplify byte handling
2022-02-02 16:13:24 -08:00
c7173a36a1
Drop :: and fix formatting
2022-02-02 07:00:33 -08:00
3e8372b96e
qualify unqualified calls to format in compile.h ( #2742 )
2022-02-01 18:41:19 -08:00
a34a97cc1d
Supporting ? as a string presentation type ( #2674 )
...
* Supporting ? as a string presentation type.
* Supporting ? as a char presentation type.
* Adding iterator_category to counting_iterator.
2022-01-30 08:55:28 -08:00
ae1aaaee5f
Fix access mode of files created ( #2530 ) ( #2733 )
...
The previous fix for this in 4a85db1
was incomplete. The intent was to
mimic what `fopen()` is doing. As per standard[1] `fopen()` also sets
`S_IWGRP` and `S_IWOTH` and lets the umask handle the rest.
[1] https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/functions/fopen.html
2022-01-28 17:12:49 -08:00
1557ab7644
Add format_as for enums
2022-01-28 06:38:02 -08:00
b00a1eac75
Fixes NVIDIA HPC compiler and Intel ICC compatibility ( #2732 )
...
* Fixes NVIDIA HPC compiler and Intel ICC compatibility
* Fixes NVIDIA HPC compiler and Intel ICC compatibility
* Rename FMT_NVHPC_VERSION to FMT_NVCOMPILER_VERSION
Co-authored-by: Federico Busato <fbusato@nvidia.com >
2022-01-26 15:53:04 -08:00
a7aecbfcaa
Remove an old mingw workaround
2022-01-23 09:44:53 -08:00
dfcc730cbd
Making target_compile_options PRIVATE, fix #2726 , fix #2507
2022-01-23 09:36:11 -08:00
f7a809be6e
Clarify the choice of magic numbers and compute the most magic one
...
https://github.com/fmtlib/fmt/pull/2713#discussion_r788349826
2022-01-23 08:58:58 -08:00
09fde7f4b8
Add fmt::underlying for enum classes
2022-01-22 08:06:22 -08:00
0014024a2c
Don't rely on transitive includes
2022-01-21 15:03:28 -08:00
c28500556a
FMT_NOEXCEPT -> noexcept
2022-01-20 16:55:47 -08:00
6240d02011
Improve comments
2022-01-19 17:03:44 -08:00
925b744ae8
Improve comments
2022-01-19 17:03:44 -08:00
22b14ff252
Simplify cache recovery
2022-01-19 17:03:44 -08:00
3dc26b44d3
Make a fallback path more compiler-friendly
2022-01-19 17:03:44 -08:00
2e4038bf51
Simplify lines with __builtin_addcll and friends
2022-01-19 17:03:44 -08:00
76336b4f63
Replace noexcept with FMT_NOEXCEPT
2022-01-19 17:03:44 -08:00
9181983483
Fix syntax errors
2022-01-19 17:03:44 -08:00
74097a149b
Remove now-unused stuffs
2022-01-19 17:03:44 -08:00
21a1c53381
Fix typo
2022-01-19 17:03:44 -08:00
04eea0f0a8
Remove now-unused stuffs
2022-01-19 17:03:44 -08:00
35a468ed38
Simplify integer checks
2022-01-19 17:03:44 -08:00
1882a7a2c1
Replace Dragonbox cache which allows simpler cache recovery & integer checks
2022-01-19 17:03:44 -08:00
f4dd1b1b8b
Simplify Dragonbox Step 3.
2022-01-19 17:03:44 -08:00
70561ed13e
Minimize the usage of built-in 128-bit ints
...
It usually generates slower code than manual handling.
2022-01-19 17:03:44 -08:00
cdf1a3b530
Fix codecvt warning ( #2408 ) ( #2725 )
2022-01-19 10:26:09 -08:00
b8b037e930
Fix -Wconversion warning ( #2724 )
...
* - try fixing the warning "chrono.h:1217:37: warning: conversion from 'std::make_unsigned<long long int>::type' {aka 'long long unsigned int'} to 'size_t' {aka 'unsigned int'} may change value [-Wconversion]" by casting int to size_t (occurs when cross-compiling to Raspberry Pi ARMv7)
* - remove call to to_unsigned() because using static_cast<size_t> is enough
2022-01-19 06:31:33 -08:00
5985f0a7d2
Fix overflow for chrono durations ( #2722 )
2022-01-17 12:14:59 -08:00
8f8a1a02d5
Fix handling of formattable types implicitly convertible to pointers
2022-01-14 13:42:01 -08:00
b02e5af52c
fmt::join support FMT_COMPILE ( #2720 )
2022-01-14 09:58:49 -08:00
58fb782396
Improve docs
2022-01-13 14:57:17 -08:00
4fe6129d6c
Fix FMT_NOEXCEPT definition
2022-01-13 10:20:32 -08:00
c056a009de
Docs: Fix link to "Compile-time Format String Checks" section ( #2712 )
2022-01-12 16:07:56 -08:00
7c12118c19
Deprecate buffered_file::fileno
2022-01-12 10:54:44 -08:00
2a09d468da
Use noexcept unconditionally
2022-01-12 09:42:29 -08:00
a126b4d888
Check if right shift is arithmetic
2022-01-11 08:23:30 -08:00
9ff91b18cd
Simplify write_fractional_seconds
2022-01-09 15:08:46 -08:00
d9f045fba1
Fix a UB in chrono
2022-01-09 14:06:13 -08:00
c06bef7273
Adding comments for range formatting. ( #2706 )
...
* Adding comments for range formatting.
* Adding missing quotes
2022-01-08 16:37:21 -08:00
3c98f1a4cd
Comment style
2022-01-08 09:52:39 -08:00
6e0f1399d7
Supporting nested format specs for ranges. ( #2673 )
...
* Supporting nested format specs for ranges.
* I dedicate this commit to Eric Niebler.
* clang-format
* PR comments.
* throw -> FMT_THROW
* Need to map every element too.
* Clarifying uncvref_type
* Trying to add a workaround for MSVC.
2022-01-08 09:48:26 -08:00
0102101acc
Make colored print handle UTF-8 ( #2701 )
...
* Fix #2681 - Make detail::print handle UTF-8
* Okay, let's do this Windows-only
* drop extra \0
* yay we can throw!
2022-01-06 16:10:53 -08:00
4ac5269b4f
Update ChangeLog.rst
2022-01-06 15:03:01 -08:00
b6f4ceaed0
Update version
2022-01-06 14:35:15 -08:00
15f812dae8
Update changelog
2022-01-06 14:13:01 -08:00
6884aab49b
Update changelog
2022-01-06 12:38:33 -08:00
88ec4e7061
Bump version
2022-01-06 12:32:43 -08:00
dd3d2490ed
Update changelog
2022-01-06 12:07:13 -08:00
739055ae7b
Fix apidocs
2022-01-06 11:06:39 -08:00
dbbd711f46
Suppress a warning
2022-01-05 09:41:35 -08:00
98cbb6a43c
Fix ABI compatiblity issue
2022-01-05 08:08:38 -08:00
214cf13f17
Fix endianness bug in write_digit2_separated ( #2699 )
...
* Fix endianness bug in write_digit2_separated
* Move endianness check to compile time if it possible
* Turn 8 into a constant
2022-01-04 14:23:42 -08:00
17a5c808da
Restore FMT_API on error_handler::on_error() ( #2696 )
...
this fixes a breaking ABI change that was introduce in the upgrade from
8.0.1 to 8.1.0.
Fixes #2695 .
2022-01-04 10:53:44 -08:00
fc1783fcc6
Avoid undefined symbols with mingw-w64 ( #2692 )
...
Fixes issue #2691
2022-01-03 15:29:29 -08:00
1b193e7b37
Deprecate more
2022-01-03 11:13:09 -08:00
8e59744b8d
Switch to new github auth mechanism
2022-01-02 09:29:42 -08:00
7081a6aa34
Update version
2022-01-02 09:01:32 -08:00
64dc8fbada
Bump version
2022-01-02 08:34:01 -08:00
fc8e3de7db
Fix manage.py script
2022-01-02 08:22:25 -08:00
57bee9fcdd
Fix formating
2022-01-02 08:09:55 -08:00
dce52e491e
Update changelog
2022-01-02 08:02:45 -08:00
9405a47245
Update changelog
2022-01-02 07:57:36 -08:00
495b8bf12e
Update changelog
2022-01-01 13:56:31 -08:00
e221166fab
Update changelog
2022-01-01 11:34:04 -08:00
035cab8da3
Update changelog
2022-01-01 09:36:40 -08:00
89c6ed12bf
Clarify in comments (for now) deprecated map functions
2022-01-01 09:29:50 -08:00
e462da828d
Add some noexcept ( #2684 )
...
I got warnings from -Wnoexcept, fixed them.
2022-01-01 08:44:00 -08:00
79c66d66bd
Update changelog
2021-12-29 15:33:30 -08:00
5d37f705f4
Update changelog
2021-12-29 15:31:03 -08:00
6bb370cec1
Update changelog
2021-12-29 15:26:11 -08:00
bb69201578
Fix tuple join
2021-12-29 14:46:45 -08:00
4fac7daaef
Cleanup bit_cast
2021-12-29 12:14:51 -08:00
3617c2795a
Update changelog
2021-12-29 08:25:12 -08:00
9c0c1bcdbd
Simplify tuple formatting
2021-12-29 08:03:12 -08:00
187e8db1be
Update changelog
2021-12-28 08:11:03 -08:00
c7f88180f6
add tests for format string compile-time checks
2021-12-27 20:55:06 -08:00
8a2c3fb88f
add reverse tests to compile-error-test
...
to make sure that error tests do not fail because they become outdated
2021-12-27 20:55:06 -08:00
1164eda5af
disable compile-error-test on Windows
...
since it takes too much time to complete, similar to other tests with additional
CMake invocation
2021-12-27 20:55:06 -08:00
4482f6f1f0
rewrite compile-error-test to use non-header-only library
2021-12-27 20:55:06 -08:00
796662a612
Escape range items convertible to std::string_view
2021-12-27 09:38:06 -08:00
33ee4cc516
Improve noexception test
2021-12-26 16:28:41 -08:00
3bbf2c673c
Fix throw with exceptions disabled
2021-12-26 16:28:41 -08:00
074c9c52ef
Update changelog
2021-12-26 08:36:29 -08:00
3110ec5a23
Update changelog
2021-12-26 08:19:32 -08:00
3014b3d770
Clarify that C strings must be null-terminated
2021-12-26 07:23:43 -08:00
eab2ea9fc2
Replace an assert with an exception
2021-12-26 07:05:45 -08:00
21ed92a6e9
Update changelog
2021-12-24 07:25:23 -08:00
04111dd1e4
Fix issue #2670 ( #2671 )
2021-12-23 12:38:48 -08:00
817788fbf0
remove incorrect C++20 check from test/CMakeLists.txt ( #2663 )
...
It disables entire branch of tests declaration unconditionally because CXX_STANDARD
is not defined there. But even we use CMAKE_CXX_STANDARD here, these tests should
not be disabled with standard >= C++20.
2021-12-23 12:32:03 -08:00
4511030af2
Minor code style tweaks for consistency
2021-12-23 11:55:58 -08:00
7812813a32
Don't explicitly delete copy ctor of dynamic_format_arg_store ( #2664 )
...
* Don't explicitly delete copy ctor of dynamic_format_arg_store
Explicitly deleting the copy ctor causes the move constructor to not be
implicitly generated. This behaviour is different than what was in
v8.0.1 and causes code that relied on the move ctor of
dynamic_format_arg_store to break.
* Add test for dynamic_format_arg_store's move ctor
* include <memory>, don't use make_unique
2021-12-23 11:34:16 -08:00
664cd6067d
Remove std-format-test
2021-12-23 10:58:02 -08:00
784e2a7b42
Fix an overflow when formatting very large durations
2021-12-23 10:34:32 -08:00
fc2a376d8e
Remove two expressions which had no effect (reported by LGTM)
...
Signed-off-by: Stefan Weil <sw@weilnetz.de >
2021-12-22 16:29:16 -08:00
c5aafd8f90
expose headers as SYSTEM depending on special configuration option
2021-12-19 08:29:51 -08:00
eaddd1e3cd
Fix handling of byte
2021-12-19 06:46:24 -08:00
2d44577586
Try fixing byte regression
2021-12-18 08:51:21 -08:00
e46392ea2c
deprecate _format UDL in code using FMT_DEPRECATED
2021-12-18 08:33:20 -08:00
c882790a2e
Add a set formatter
2021-12-18 07:35:40 -08:00
121002d700
Add a map formatter
2021-12-18 07:12:53 -08:00
be51ee1ceb
Disable broken copy ctor of dynamic_format_arg_store
2021-12-17 17:18:18 -08:00
659de779e6
Fix a UB in parse_format_specs when begin is null
2021-12-17 16:51:24 -08:00
51b14b6c0c
remove commented out lines
2021-12-17 16:05:56 -08:00
223a0fa55d
move gtest-specific check into gtest/CMakeLists.txt
2021-12-17 16:05:56 -08:00
ef72b471fc
enable named arguments check in compile-time checks ( #2649 )
...
works only if all named arguments are UDL-based
2021-12-17 15:53:05 -08:00
82246b8766
fix throw with exceptions disabled ( #2647 )
2021-12-17 13:44:36 -08:00
35f60377aa
Update ChangeLog.rst
2021-12-17 06:49:29 -08:00
3a951a66cb
Avoid qualifying by inline namespace. Fixes #2642 . ( #2643 )
2021-12-10 08:28:25 -08:00
e0136fc8bd
Qualify calls to make_wformat_args. Fixes #2639 . ( #2641 )
2021-12-10 06:36:42 -08:00
ac1b5f3da5
Refactor problematic trailing returns in arg_mapper
2021-12-09 18:08:30 -08:00
fd62fba985
Don't convert scoped enums to integers
2021-12-09 12:09:33 -08:00
c652f8243a
Make header guard consistent with header name
2021-12-09 10:49:47 -08:00
a9c7b9b8f7
Clarify that _format is deprecated
2021-12-09 10:34:27 -08:00
e4f0564aa6
Disable is_streamable for string[_view]
2021-12-09 10:02:18 -08:00
91533d3c33
Minor tweaks to chrono subsecond formatting
2021-12-09 06:55:31 -08:00
0bbc9708f9
Implement c++20 std::chrono::duration subsecond formatting ( #2623 )
...
* Add support for subsecond printing for std::chrono::duration according to the c++20 standard
* Remove assert test that overflows intmax_t
* * Hopefully fix int64_t to int32_t conversion errors.
* Allow proper Duration::rep type to propagate via template argument deduction
* * Hopefully fix int64_t to int32_t conversion errors.
* Allow proper Duration::rep type to propagate via template argument deduction
* Fix sign conversion (-Wsign-conversion) warning treated as error in num_digits()
* Format chrono.h with clang-format
* Remove extra forward slash in doxygen style comment
Co-authored-by: Victor Zverovich <victor.zverovich@gmail.com >
* Apply all suggestions from GitHub, except for replacing the utility subsecond_helper class with a function
* * Move logic of handling subseconds from utility class to function with name write_fractional_seconds()
* Revert write(Rep value, int width) function to previous state
* Fix -Wshadow warning
* Remove unsued get_subseconds() function, its logic has been moved to write_fractional_seconds()
* Change comment from lowercase int to uppercase Int
* Simplify test check
* Integrate suggested changes
* Remove static from detail functions, they are no longer member functions of a class and static is unnecessary.
* Change comment from "amount" to "number"
Co-authored-by: Victor Zverovich <victor.zverovich@gmail.com >
2021-12-09 06:45:13 -08:00
9d5b9defde
Enable tzset only on Windows desktop app ( #2633 )
2021-12-07 15:22:36 -08:00
215f21a038
Detect overflow on large precision
2021-12-05 07:26:58 -08:00
c240d98ffd
Optimize tm formatting (Non C-locales and %Z) ( #2617 )
...
* Move fmt::detail::formatbuf to format.h
* Replace std::basic_ostringstream to std::basic_ostream with custom formatbuf
* Use tm.tm_zone
2021-12-04 11:02:31 -08:00
6ab73113fc
Mark grow as FMT_CONSTEXPR20 ( #2630 )
...
resolves https://github.com/fmtlib/fmt/issues/2627
2021-12-03 07:13:30 -08:00
713c7c7c62
Cleanup os.cc
2021-12-01 06:47:41 -08:00
9b1807a8a2
fix int -> uint warning ( #2611 )
...
* fix int -> uint warning
* change unsigned int to mode_t
* undef + warn uint -> ushort loss presision
* fix mode_t
* mode_t in detail
Co-authored-by: Acretock <George.Goncharov@finch-xr.com >
2021-12-01 06:40:17 -08:00
ec3b097cb9
[doc] FMT_STRING supports C++14 and no-op in C++11 ( #2620 )
...
* FMT_STRING supports C++14 and no-op in C++11
* Move requirement to the end. Modify description.
2021-11-28 07:02:15 -08:00
c472a27818
Fix handling of very large precision in fixed format
2021-11-27 08:23:05 -08:00
201971e293
Make MSVC use [[nodiscard]] ( #2615 )
...
* Make MSVC use [[nodiscard]]
* Uniformly detect attributes for __cplusplus and _MSVC_LANG
2021-11-26 07:32:50 -08:00
acad8cfab1
Reformat all source code; no functional changes
...
Before adding the format checker, the mainline should be clean, to
avoid false failures.
2021-11-25 09:15:25 -08:00
491ba2dda5
Annotate fmt::format and fmt::formatted_size as [[nodiscard]]
...
This prevents accidentally writing fmt::format when fmt::print was
intended. Other than running tests, there's not a good use case for
discarding the formatted output.
2021-11-25 07:30:30 -08:00
5abe9e8266
Add platform-specific 'z' formatter
2021-11-25 06:52:39 -08:00
be3a3a5aed
Use predefined formats for C-locale
2021-11-25 06:52:39 -08:00
a3ab36c803
Formatting of function pointers, member function pointers, member object pointers... ( #2610 )
2021-11-23 12:55:22 -08:00
19cac63fe4
Broken link in README.rst
...
Added src directory to link
2021-11-19 09:24:38 -08:00
43419a4ada
Workaround a bug in gcc
2021-11-19 07:32:42 -08:00
c089f7d497
Simplify std::tm formatter
2021-11-14 07:16:22 -08:00
aa5517f6b9
Reuse tm_writer in chrono_formatter
2021-11-14 07:16:22 -08:00
50140be7ae
Reuse tm_writer in weekday formatter
2021-11-14 07:16:22 -08:00
8b89454994
Improve consistency
2021-11-13 08:59:56 -08:00
5380ff4d88
Detect types convertible to unformattable pointers
2021-11-13 08:26:27 -08:00
094b66e81d
changed locale retrieval way to a fancy one
2021-11-12 12:46:38 -08:00
b69ae4854c
Reorder classes ( #2591 )
2021-11-10 17:09:23 -08:00
0b843af56b
sped up chrono.h formatting for cases without providing locale ( #2576 )
2021-11-07 08:52:57 -08:00
12b1d8b14a
Fix precision 0 with std::chrono::duration and added additional tests. ( #2588 )
2021-11-06 08:57:22 -07:00
e67f92c55c
Cleanup warnings with nvhpc/21.9. ( #2582 )
...
* Cleanup warnings with nvhpc/21.9.
* Move __NVCOMPILER check.
* Be more explicit.
* Immediately executed lambda.
* Fix shadowing warning.
2021-11-05 12:17:11 -07:00
812733cc96
const qualify format function for systen_clock
2021-10-31 09:41:16 -07:00
028f227752
Handle implicit conversions in write
2021-10-31 08:58:54 -07:00
5b0aa638cf
Minor grammar fix
2021-10-30 09:14:13 -07:00
6eaceb5f73
Fix incompatible between docutils 1.18.0 and sphinx 3.3.0 ( #2575 )
2021-10-30 09:12:36 -07:00
0697c5edb6
FMT_USE_FCNTL can be predefined ( #2573 )
...
'os.h' accepts a predefined FMT_USE_FCNTL override so using FMT with e.g. the NXP toolchain for ARM (e.g. for FreeRTOS) does not have a fcntl() call, but the detection routine does not detect this correctly.
2021-10-30 08:35:48 -07:00
1031eedf27
Replacing strftime with std::time_put ( #2550 )
...
* Fix unicode test
* Add xchar support to chrono formatter
* Replace strftime with std::time_put
* Add std::locale support to std::tm formatter
* Use predefined names and formats for C-locale
* Performance improvement
* Make locale-independent and C locale formats consistent among platforms
2021-10-30 08:25:45 -07:00
90034e4c4b
Add FMT_ASSERT and validation of values of struct tm members ( #2564 )
...
Switch internal year calculations to long long
2021-10-27 13:29:07 -07:00
df40e94673
Upgrade module-test
to msvc 16.11.5 and 17.0-pre5 ( #2558 )
2021-10-24 08:12:39 -07:00
e6d5059cbb
Simplify js tag in basic-bootstrap theme ( #2562 )
...
When build the docs for debian package, it uses a sphinx building
helper, which does a sanity check for the output.
The sanity check complains missing data-url_root attribute in the
js tag. So this patch changes the js tag to use the same function like
the origin basic theme, which adds additional information like
data-url_root.
Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997437
2021-10-24 06:36:10 -07:00
3b6e409cd8
Enable consteval
for msvc 17.0-pre5 ( #2559 )
2021-10-23 07:19:57 -07:00
249f03bbb7
do not detect LLVM based IBMXL compiler (on ppc) as clang ( #2555 )
2021-10-20 06:21:49 -07:00
7463c83205
Fix overflow for very bigger years (>2*10^9) ( #2551 )
2021-10-19 07:04:55 -07:00
1266c2b600
Fix handling of exotic character types
2021-10-17 09:07:48 -07:00
684e2fdc94
Minor cleanup
2021-10-17 06:33:27 -07:00
a1d586302f
Minor cleanup
2021-10-17 06:07:03 -07:00
7a604cdd98
Cleanup
2021-10-16 15:03:57 -07:00
aeb54b0dd9
Fix bug on '%Y' and '%C' formats with negative years
...
Requested changes
2021-10-16 15:03:57 -07:00
f88c020fc0
Generalization of strftime/wcsftime function calls in tests
2021-10-16 15:03:57 -07:00
2eeddba756
Renaming, splitting of functions
2021-10-16 15:03:57 -07:00
2754546080
Fix errors in ISO week-base-year formatter
2021-10-16 15:03:57 -07:00
218cecb6d1
Fix error in test
2021-10-16 15:03:57 -07:00
e9f4453b0e
Fix Microsoft Visual Studio 14.0 build
2021-10-16 15:03:57 -07:00
27c3674ce1
Improve performance
2021-10-16 15:03:57 -07:00
5dc3dd3d4a
New tests
2021-10-16 15:03:57 -07:00
f8542cd988
Unified formatters for std::chrono::time_point<std::chrono::system_clock, Duration> and std::tm
2021-10-16 15:03:57 -07:00
4707373d33
Fix year formatter
2021-10-16 15:03:57 -07:00
79c00ad8f2
Improve ISO week-base-year formatter
2021-10-16 15:03:57 -07:00
fbaaa5906b
Improve week of the year formatter
2021-10-16 15:03:57 -07:00
cde44ddb72
Improve year formatter
2021-10-16 15:03:57 -07:00
b04601b918
Switch from std::strftime/std::wcsftime to internal implementation for locale independent formats
2021-10-16 15:03:57 -07:00
d3d30a46f0
New tests
2021-10-16 15:03:57 -07:00
7911d8d3f5
Add format spec checker
2021-10-16 15:03:57 -07:00
fbbfc3b03c
Reorder formatters
2021-10-16 15:03:57 -07:00
509eac9575
Workarounds for implementation-defined std::strftime behavior
2021-10-16 15:03:57 -07:00
85b38190d1
New tests for all C++11 std::strftime format specifiers
2021-10-16 15:03:57 -07:00
7aca36bca4
Extending fmt::join to support C++20-only ranges. ( #2549 )
2021-10-16 10:02:03 -07:00
f5371a75f4
locale.h -> format.h
2021-10-14 15:57:10 -07:00
febdef43f5
fix: add workaround for intel parameter pack bug
2021-10-14 10:44:24 -07:00
f56756986b
fix: check to make sure both 'if constexpr' and return type deduction are available
...
fix: remaining ifdefs
2021-10-14 10:44:24 -07:00
dcd282bb26
Namespace qualify calls to get
2021-10-09 07:15:14 -07:00
9c14474d30
Include <bit>
when using std::bit_cast
2021-10-09 06:11:36 -07:00
1e96e01766
Fix compiler flag check ( #2540 )
2021-10-09 06:05:05 -07:00
7e4bc94510
Speeding up write_significand() ( #2499 )
2021-10-09 05:27:38 -07:00
26c1ca4c3e
Replaced default spec with equivalent one, which is potentially more optimizable ( #2537 )
2021-10-08 07:09:54 -07:00
1e865b3539
Fix docs
2021-10-03 07:05:31 -07:00
4a85db1ce1
Change default open mode to -rw-r--r-- ( #2530 )
2021-10-03 06:36:40 -07:00
0a985fd4c6
Move size_ initialization to initializer list ( #2529 )
2021-10-02 17:20:33 -07:00
012cc709d0
Workaround gcc _Pragma bug 59884
2021-10-02 15:41:47 -07:00
d6590e3bd2
Fix compiler check
2021-10-02 08:46:18 -07:00
134aec40f0
Fix search in docs
2021-10-02 07:58:08 -07:00
48a476ae0f
Update example ( #2522 )
2021-10-02 07:33:33 -07:00
023c2018f7
Don't use strlen in constexpr
2021-10-02 07:17:05 -07:00
800d4c8ac8
Refactor Windows workarounds
2021-10-02 06:06:08 -07:00
32865aeaab
changed detection of Intel Compiler Classic to distinguish MS-Windows ( #2510 )
...
* changed detection of Intel Compiler Classic to distinguish MS-Windows
* replaced !FMT_ICC_ON_WINDOWS by FMT_ICC_POSIX
removed #pragma manged
* replaced FMT_ICC_POSIX with FMT_ICC_INTRINSIC_BUG to be crystal clear about the macro's purpose
2021-10-02 05:43:41 -07:00
7b339795a1
Describe a better approach of how to use {fmt} as a depency in a Bazel project ( #2516 )
2021-10-02 05:36:43 -07:00
ae9bbe1169
Suppress warning C4127 in chrono.h (conditional expression is constant) ( #2518 )
2021-09-30 09:14:38 -07:00
927dbd134d
Misplaced comma in README.rst ( #2515 )
2021-09-28 09:53:37 -07:00
2a9a77dd8c
Remove misplaced comment
2021-09-26 18:01:39 -07:00
1aee4bc90a
Refactor FP formatting
2021-09-26 14:37:33 -07:00
e1bd6cc913
Refactor FP formatting
2021-09-26 10:25:46 -07:00
027fcaf05e
Replace use_grisu with fallback since Grisu is only one of multiple implemented algorithms
2021-09-26 08:44:05 -07:00
716d69f27e
Refactor FP formatting
2021-09-26 08:27:18 -07:00
ff7e73af66
Always run grisu_gen_digits before fallback_format
2021-09-26 07:54:25 -07:00
2976e31ac9
Refactor format_float
2021-09-25 11:20:56 -07:00
807ee5ec31
Disable consteval in Apple clang
2021-09-25 05:55:05 -07:00
d9a731d486
Add basic support for Bazel ( #2505 )
2021-09-24 13:17:26 -07:00
9c57357e05
Add static
to a table ( #2509 )
2021-09-24 06:25:08 -07:00
2742611cad
Fix formatting
2021-09-18 11:09:24 -07:00
5092b198bc
Document group_digits
2021-09-18 10:50:30 -07:00
b4d9d82e1d
make FP formatting available to be used at compile-time ( #2426 )
...
* works only with FMT_HEADER_ONLY
* works only with float and double types (not long double)
2021-09-18 08:03:23 -07:00
d9fd695ac7
Fix wchar_t tm formatting
2021-09-15 07:33:24 -07:00
92614ecbf9
Optimize %T in tm formatting
2021-09-15 07:33:24 -07:00
aaeca12d89
Move FMT_MAYBE_UNUSED to format.h where it is used
2021-09-13 07:51:36 -07:00
3d0c7ae385
Move data to format.cc
2021-09-13 06:23:57 -07:00
04e3a79f76
Use memcpy in more cases in copy2
2021-09-12 12:23:45 -07:00
e47e99bb09
Simplify format_decimal ( #2498 )
...
* Add copy2() constexpr
* Removed redundant format_decimal implementation for constexpr context
2021-09-12 10:36:06 -07:00
9b6b0e403c
Remove data
2021-09-12 09:46:00 -07:00
4d1c6034eb
Deprecate basic_data
2021-09-12 09:37:23 -07:00
a3348eccdd
Deprecate most of basic_data
2021-09-12 08:59:39 -07:00
3a04481485
Remove data::hex_digits
2021-09-11 17:54:40 -07:00
ad77331c04
Move log10_2_significand to format-inl.h
2021-09-11 09:36:23 -07:00
d9ebc4e821
Add a function to get sign char
2021-09-11 09:17:59 -07:00
c00eb4f4c6
Add missing inline
2021-09-10 09:01:18 -07:00
25af02f21a
positive -> nonnegative ( #2493 )
2021-09-10 08:52:54 -07:00
67cb2dad37
Optimize %F in tm formatting
2021-09-10 07:48:50 -07:00
1aa98f8b93
Eliminate double copying in vformat_to_n ( #2489 )
2021-09-09 08:10:29 -07:00
a58c133821
Improve code_point_length codegen on older gcc
2021-09-07 19:34:13 -07:00
aeee70a815
Remove unnecessary cast
2021-09-07 10:53:43 -07:00
c771ba361c
Fix build for the clang-10 / libstdc++-9 couple ( #2491 )
2021-09-07 08:52:34 -07:00
ab6e2272cc
Clarify shifts encoding
2021-09-06 18:45:34 -07:00
e4728409e7
Use throw_format_error in more places to reduce bloat
2021-09-06 16:42:17 -07:00
e3ebf366a6
Inline padding shifts
2021-09-06 16:26:50 -07:00
894faf3fed
Refactor presentation types
2021-09-06 13:32:33 -07:00
4eb97fa4e3
Reduce code bloat
2021-09-05 16:24:20 -07:00
6b55c83252
is_const_formattable -> has_const_formatter
2021-09-05 08:35:08 -07:00
2fe94ad7e3
Make specifiers support in tuple_join an opt-in
2021-09-05 07:34:06 -07:00
3940de5952
thousands -> group_digits
2021-09-05 06:47:18 -07:00
c4d0f96a6d
Implement format specs in fmt::thousands
2021-09-04 06:56:51 -07:00
3b9c442689
Implement thousands separators without locales
2021-09-04 06:32:46 -07:00
08f98c7fac
Simplify get_arg_index_by_name
2021-09-03 21:17:36 -07:00
a151f955a0
Remove FMT_OVERRIDE
2021-09-03 18:15:17 -07:00
42a225cbd9
Remove redundand final
2021-09-03 17:33:26 -07:00
bf20d19901
Simplify the core API
2021-09-03 16:57:33 -07:00
fc0884037e
Move FMT_GCC_VISIBILITY_HIDDEN to format.h
2021-09-03 16:34:42 -07:00
1aeed2dbca
Require inline namespaces
2021-09-03 15:59:23 -07:00
799bea4730
Remove FMT_HAS_GXX_CXX11
2021-09-03 15:49:40 -07:00
60cd5ea3f2
Add support for more formattable types in ranges
2021-09-03 14:55:41 -07:00
4fd9a00f35
Simplify ostream interface
2021-09-03 13:07:54 -07:00
5681563898
Cleanup ostream interface
2021-09-03 10:35:19 -07:00
20931baf1d
Disable fallback_formatter for arrays
2021-09-03 08:59:36 -07:00
d58d19ba32
Fix an odr violation in ranges.h ( #2483 )
...
* Add a testcase demonstrating ODR violation in ranges.h
* Fix ODR violation in ranges.h
* Fix comments
Co-authored-by: Pierre-Antoine Lacaze <pa.lacaze@gmail.com >
2021-09-02 08:47:44 -07:00
ee0659f8b6
Fix formatting of abstract classes via ostream
2021-09-02 08:19:12 -07:00
8029bf955c
Fix copy_str performance ( #2477 )
2021-09-02 07:25:26 -07:00
2520f410c8
Workaround for #2478 ( #2482 )
...
_MSC_VER 1911 (Visual Studio 2017 15.3)
2021-09-02 07:13:30 -07:00
ee63f5f04e
Workaround to MSVC bug ( #2474 ) ( #2476 )
2021-08-31 07:54:42 -07:00
1aaf72fb6d
Add an example to fmt::runtime
2021-08-29 12:10:40 -07:00
c1313c2057
Clarify that format_to[_n] do not append a terminating null
2021-08-29 12:07:35 -07:00
cb0f177c35
Improve docs
2021-08-29 11:30:35 -07:00
71677e5204
Improve docs
2021-08-29 11:21:38 -07:00
4db5723525
add fuzzers for chrono timepoint and localtime,gmtime ( #2469 )
...
* add fuzzers for chrono timepoint and localtime,gmtime
* reorder cases to improve throughput
mutating the first byte of the input now always results in picking
on of the two paths. Before, two of the four possible outcomes resulted
in doit() not being invoked.
* drop the localtime fuzzer
* inline aliases
* only fuzz std::chrono::system_clock
2021-08-29 06:58:23 -07:00
dc7f3ef2bb
Fix header name
2021-08-28 20:34:45 -07:00
419ba86a91
Improve docs
2021-08-28 16:54:58 -07:00
6a5b4d5faf
Document format_string
2021-08-28 16:51:48 -07:00
2599163b8a
Document format_string
2021-08-28 15:20:56 -07:00
8ef22f7740
Update docs
2021-08-28 12:05:30 -07:00
c0c4d1adab
Update docs
2021-08-28 11:52:13 -07:00
729a44e67d
Depreate strtod and remove problematic tests
2021-08-28 09:20:36 -07:00
74c1118964
Apply force inline
2021-08-26 21:17:35 -07:00
596508a928
Cleanup
2021-08-26 20:56:28 -07:00
043e3b3429
Remove static_assert from arg_mapper
2021-08-26 20:45:01 -07:00
8b0cb944da
Fix error reporting when mixing character types
2021-08-26 18:16:05 -07:00
117fc67077
CI: replace g++ C++20 build to test FP formatting at compile-time
2021-08-26 17:16:45 -07:00
c79a3841e8
make detail::fp and detail::bigit constexpr
2021-08-26 17:16:45 -07:00
5888de9f34
make detail::make_checked() constexpr
2021-08-26 17:16:45 -07:00
04b4b69b11
make detail::bit_cast() constexpr with C++20
2021-08-26 17:16:45 -07:00
fd34a3d246
make detail::basic_memory_buffer constexpr with C++20
2021-08-26 17:16:45 -07:00
6d597e39c3
Fix overload ambiguity in arg_mapper
2021-08-26 16:54:27 -07:00
b9ce56d936
Improve comments
2021-08-26 16:30:58 -07:00
f889e52a15
Improve error reporting
2021-08-26 15:47:44 -07:00
34caecd6b6
Use consistent initialization style
2021-08-23 10:10:56 -07:00
a44c8f651b
reimplement formatter<tuple_join_view>
( #2457 )
...
* reimplement `formatter<tuple_join_view>`
1. completely reimplement `formatter<tuple_join_view<Char, T...>, Char>`
2. Add some tests
* use FMT_THROW
2021-08-23 09:51:19 -07:00
4b8bda25c0
Fix 2462
...
Signed-off-by: owent <admin@owent.net >
2021-08-23 06:31:10 -07:00
6b5e6119ee
set clang in one place
2021-08-22 17:52:45 -07:00
7af1dc1d27
fix UB in fuzzer common (memcpy on nullptr)
2021-08-22 17:52:45 -07:00
e77686f7a8
clang format
...
using clang format 11
2021-08-22 17:52:45 -07:00
2207ea0b36
More escaping
2021-08-22 16:54:26 -07:00
a212ff757f
Escape invalid code points
2021-08-22 15:51:33 -07:00
a76031e11d
check -> is_printable
2021-08-22 13:23:38 -07:00
a7f280765c
Improve naming
2021-08-22 12:44:00 -07:00
07d033ecb4
Fix is_printable
2021-08-22 10:37:18 -07:00
cdb4299acb
Add Unicode support to is_printable
2021-08-22 09:11:35 -07:00
7df2c82a8a
Rewrite printable.py codegen to emit C++
2021-08-22 09:10:10 -07:00
6cf90d7cee
Add script license and fix python version
2021-08-22 08:17:58 -07:00
2f1ad8ed3c
Add printable codegen from Rust
2021-08-22 08:15:34 -07:00
371d8e2ee0
Escape Unicode
2021-08-22 07:55:59 -07:00
6397095ca4
More escaping
2021-08-21 16:36:25 -07:00
f69a572538
Don't overescape wide strings
2021-08-19 17:25:16 -07:00
11b07a56b2
We should escape
2021-08-19 14:50:59 -07:00
b559cfd4c0
Implement basic escaping
2021-08-19 14:12:26 -07:00
11d49491cb
Handle global locale
2021-08-14 09:38:41 -07:00
6ea6cf9464
Add decimal separator support to float
2021-08-14 09:16:26 -07:00
9730a2af0a
Update ChangeLog.rst
2021-08-13 10:07:48 -07:00
c2ed5f6863
Update ChangeLog.rst
2021-08-13 10:07:20 -07:00
7b66e72e2c
Use builtin intrinsics on intel ( #2450 )
2021-08-11 06:22:02 -07:00
d57b2a6525
Suppress a warning
2021-08-08 09:18:46 -07:00
bdfbd794e3
Cleanup begin/end usage
2021-08-07 08:55:01 -07:00
111de881fa
Don't copy non-const-iterable ranges
2021-08-07 07:34:02 -07:00
d6e882ed84
Undo the move because the doc is not a GH template
2021-08-06 11:22:33 -07:00
f488eed101
Resolve default constructor error in Xcode 7.2.1 and 8.2.1
...
Fix issue that produces the error 'default initialization of an object
of const type 'const detail::buffer_size' without a user-provided
default constructor'
2021-08-06 11:17:02 -07:00
652c3653bb
Move CONTRIBUTING.md to .github
2021-08-06 10:56:05 -07:00
fb19faa31b
Improves README with svg badge ( #2446 )
...
Looks much better now!
2021-08-05 06:50:15 -07:00
07211701f4
Disable the -Wstringop-overflow warning from GCC 7 ( #2442 )
2021-08-02 14:20:18 -07:00
bba0a9d962
Make flush public
2021-07-30 07:02:49 -07:00
f1794a8853
Switch to threadsafe death test style
2021-07-29 06:56:38 -07:00
0544a2279b
Exclude fallback functions when FMT_BUILTIN_CLZ(LL) is not defined ( #2434 )
2021-07-25 10:37:18 -07:00
5c222f0561
Add support for nonconst formattable types
2021-07-24 09:53:53 -07:00
3def950b84
Set FMT_CAN_MODULE=OFF for MSVC 19.29.30035+
2021-07-23 09:35:09 -07:00
63fe2d5bd2
Add copy constructor for dynamic_format_arg_store, and test
2021-07-23 09:35:09 -07:00
561834650a
Improve digit count
2021-07-18 09:14:56 -07:00
f20f50368f
Replace throw
with FMT_THROW
( #2427 )
...
Using `throw` results in compile errors with `-fno-exceptions`. gcc seems fine with it, but arm-gcc and clang would complain.
2021-07-18 07:08:24 -07:00
00235d8a99
fix module test odr violations ( #2414 )
2021-07-17 09:16:49 -07:00
2038bf6183
Update format_to usage
2021-07-13 07:56:24 -07:00
e41ac1f875
Don't use deprecated API in docs
2021-07-10 13:42:51 -07:00
8465869d7b
Move ignore_unused to detail
2021-07-09 08:24:11 -07:00
3d53d1539d
Warning removals in test code ( #2399 )
...
* Warning removals in test code.
Mostly 0 to nullptr and adding override to virtual function implementations.
* Fix module-test.
2021-07-09 08:05:02 -07:00
20e4ef8b4c
Pass significand_size by value
2021-07-05 08:51:43 -07:00
c4a3c2342a
Refactor locale handling
2021-07-05 08:25:12 -07:00
7a0d301753
Update README.rst
2021-07-04 07:03:20 -07:00
f2b03facd9
Include test sources to pick up functions and classes from the module rather than from the non-modular library which is baked into the test-main
library. ( #2356 )
...
This averts linker problems:
- strong ownership model: missing linker symbols
- weak ownership model: duplicate linker symbols
Simplify `gtest-extra.cc` while at it.
2021-07-03 07:21:54 -07:00
02ad5e11da
Add faint, blink, reverse and conceal to the emphases ( #2394 )
2021-07-02 20:03:55 -07:00
d141cdbeb0
Update version
2021-07-02 16:14:33 -07:00
cfc05e05f0
Bump version
2021-07-02 14:43:31 -07:00
8ea312633b
Update changelog
2021-07-02 14:43:00 -07:00
e461f3dbbe
Minor consitency and comment tweaks
2021-07-02 13:56:37 -07:00
54014e42e3
silence warning C4100 on MSVC 2019 when exceptions are disabled ( #2397 )
2021-07-02 13:51:49 -07:00
3e7a29cc92
Workaround clang/gcc incompatibility
2021-07-02 13:29:22 -07:00
00a57a9f8f
Update changelog
2021-07-02 08:07:48 -07:00
1d7384530e
Add missing presentation type checks for std::string ( #2402 )
2021-07-02 07:51:04 -07:00
889bbf27a2
Fix missing std::get overload in MSVC ( #2407 )
...
This replaces the `std::get` call with an unqualified equivalent to allow
it to be treated as a dependent call.
ranges.h needs std::get overloads from `<tuple>` but does not directly
include it. This causes compilation failures in MSVC with /permissive-.
On other platforms `<tuple>` is included as a dependency from other headers
(specifically from `<memory>`), but there is no such implicit dependency in
MSVC's STL.
Fixes #2401
2021-07-01 10:55:46 -07:00
5f8473914c
Remove outdated apidoc
2021-07-01 07:56:53 -07:00
785908ee37
Fix warnings
2021-06-30 06:42:29 -07:00
fbb70eec5c
suppress unused variable warnings ( #2381 )
...
* suppress unused variable warnings
An arguably better method for suppressing unused variable warnings. The `(void)var` method does not work on many intel compiilers.
This is from Herb Sutter's blog post https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/
* Format to eliminate long lines
* Run clang-format
2021-06-30 06:33:30 -07:00
002bb759ff
Remove unneeded num_result_bigits
decrement
...
For what I see this seems unused?
2021-06-29 06:23:02 -07:00
a3f762c5aa
[doc] Minor: fix `code
`.
2021-06-29 06:21:15 -07:00
c3c27e5ab5
Fix MSVC warning C4819
2021-06-28 06:14:53 -07:00
c6b1f181aa
Fix docs
2021-06-27 09:06:21 -07:00
94564b058e
Fix docs
2021-06-27 08:55:16 -07:00
0fc73a2a85
Merge branch 'master' of github.com:fmtlib/fmt
2021-06-27 08:10:49 -07:00
3156fcf5f4
Switch to older breathe version
2021-06-27 08:10:37 -07:00
f85fb9fdff
Adjust definition for FMT_HAS_INCLUDE
...
Adjust definition for FMT_HAS_INCLUDE
Remove check for `!FMT_MSC_VER`
2021-06-27 07:08:29 -07:00
0bc3d664e3
Fix docs
2021-06-27 06:41:54 -07:00
e5c46e13e8
Fix docs: breathe 18 and earlier corrupts trailing return type
2021-06-26 09:55:27 -07:00
49a3b58c8b
Specify size for static data arrays
2021-06-26 06:55:24 -07:00
d0c8d45a2e
apt update before install
2021-06-26 06:29:53 -07:00
c9a10631cb
format: do not use udl_{arg,formatter} return types when UDL is not in use
...
The udl_{arg,formatter} structs are only defined when
FMT_USE_USER_DEFINED_LITERALS is set, so don't try to define things that
return that struct when it's not defined.
2021-06-26 06:25:16 -07:00
3bd806f12f
Eliminate intel compiler warning
...
The intel compiler defines `__GNUC__`, but does not support the gcc `_Pragma`. This PR filters out the intel compiler to avoid warnings about an unrecognized function.
2021-06-26 06:16:12 -07:00
fd16bcb20c
Fix bug in cmake join function
2021-06-24 09:10:53 -07:00
5221242f6e
Instruct msvc to report the _true_ value in __cplusplus
and force _full_ C++ conformance
...
* do this in _some_ tests to improve test coverage and catch possible problems due to that
* fix invalid export of `static constexpr` constant
* fix msvc warnings about unreachable code in high warning levels
2021-06-24 09:10:08 -07:00
31a5f0d399
Bump version in inline namespace
2021-06-22 14:47:59 -07:00
102a4d492a
Bump version in inline namespace
2021-06-22 07:04:02 -07:00
f68508b6ce
Update ChangeLog.rst
2021-06-21 18:37:56 -07:00
9e8b86fd2d
Update version
2021-06-21 05:59:17 -07:00
92fec0f050
Bump version
2021-06-21 05:57:50 -07:00
4749cc930a
Update changelog
2021-06-19 08:16:43 -07:00
78a0ba0a6a
Improve conversion of paragraphs
2021-06-19 08:02:52 -07:00
7a39837d96
Use a working breathe version
2021-06-19 07:35:09 -07:00
55b6e92db5
Fix docs
2021-06-19 06:31:19 -07:00
69dc3a8535
Fix docs
2021-06-18 12:51:48 -07:00
27f4cdd586
Update changelog
2021-06-18 12:23:16 -07:00
70d61a0ae3
Update changelog
2021-06-18 08:32:43 -07:00
427b534054
Add no_value state to value
2021-06-15 07:53:28 -07:00
e421d52713
Simplify error handling in parse_nonnegative_int
2021-06-14 16:05:37 -07:00
a59678f376
Fix chrono_test.locale
...
UTF-8: https://datatracker.ietf.org/doc/html/rfc3629
2021-06-14 09:41:08 -07:00
c98254c3d7
Install locales into CI
2021-06-14 09:41:08 -07:00
c123a72844
Fix set locale error in chrono formatter
2021-06-14 09:41:08 -07:00
3c8fad126c
Optimize parse_nonnegative_int
2021-06-13 19:20:44 -07:00
f28cf3302d
adding a default format for std::chrono::time_point<std::chrono::syst… ( #2345 )
2021-06-11 10:52:39 -07:00
55010a9d3a
Support non-char
overloads (module)
2021-06-11 09:38:53 -07:00
0193e7c428
Support compile-time strings and compile-time format string compilation in module
...
Make just the necessary parts available for lookup from client context.
2021-06-11 09:38:53 -07:00
3423d75475
Remove the msvc workaround ( #2351 )
2021-06-11 06:20:25 -07:00
f6b5cc9f84
Fix chrono_test.weekday on legacy glibc
2021-06-10 16:17:10 -07:00
59a298f124
Enable enforce-checks-test
for MSVC, too
2021-06-10 12:54:54 -07:00
36c2948225
Update docs
2021-06-08 08:25:50 -07:00
c9fe1fa5ba
Remove unused flag
2021-06-08 08:00:37 -07:00
dccddc2bdb
Apply clang-format
2021-06-07 08:49:47 -07:00
0e36681b8e
Cleanup digit count
2021-06-07 07:42:22 -07:00
1de80f5b22
Workaround lack of static constexpr in constexpr functions
2021-06-07 07:27:56 -07:00
2039dce75f
Detect consteval
2021-06-07 06:57:43 -07:00
d551b88a6d
Move is_char specializations to xchar.h
2021-06-06 15:32:30 -07:00
16c3514d01
wchar-test -> xchar-test
2021-06-06 07:59:18 -07:00
206000a017
Workaround pathological conversion ( #2343 )
2021-06-06 07:18:44 -07:00
76ee490468
Move wchar/custom char overloads to xchar.h
2021-06-05 22:57:45 -07:00
e77b22d6da
Deprecate memory buffer overload of format_to
2021-06-05 14:58:36 -07:00
07039f4b19
Update README.rst
2021-06-05 06:32:22 -07:00
4678192c88
Remove bsr2log10
2021-06-04 21:33:05 -07:00
7c3d3dfa29
Update thousands_sep_impl signature
2021-06-04 21:12:47 -07:00
ef826b86cb
Fix docs
2021-06-04 20:34:58 -07:00
5223f552c8
Remove FMT_ALWAYS_INLINE
2021-06-04 20:29:54 -07:00
cfde93afe0
Add FMT_STATIC_CONSTEXPR
2021-06-04 16:50:09 -07:00
986a5a6c2c
Fixed join_view formatter for wchar_t
2021-06-04 14:50:45 -07:00
7c8b35ff32
fix MSVC Win32 count_digits
2021-06-04 11:06:25 -07:00
3eeb084e71
Optimize count_digits
2021-06-04 09:14:58 -07:00
2ac0bfe59e
Improve handling of thousands separator
2021-06-04 06:12:44 -07:00
024741b476
CI: set up multi-thread build for all platforms
2021-06-04 05:56:55 -07:00
f4c95f6dd9
Improve handling of thousands separator
2021-06-03 18:25:08 -07:00
d4fbeacc33
Fix docs build
2021-06-03 18:25:08 -07:00
0eef389ddb
Code style
2021-06-03 18:25:08 -07:00
e27b1ce50c
Fix docs
2021-06-03 09:32:12 -07:00
9f8b6daca2
Fix wheel installation
2021-06-03 09:10:07 -07:00
6060bcfc8a
Fix docs
2021-06-03 09:03:00 -07:00
ff9673463c
Fix docs
2021-06-03 08:43:41 -07:00
1085cc2178
Fix docs
2021-06-03 08:28:02 -07:00
11addaa16e
Update docs
2021-06-03 06:24:17 -07:00
760ca5ccc0
Update docs
2021-06-02 19:45:42 -07:00
290d3f8b61
Cleanup ranges API
2021-06-02 17:06:02 -07:00
aa09e0f5dd
Update docs
2021-06-02 16:25:21 -07:00
d142579e97
Cleanup the format API
2021-06-02 16:25:21 -07:00
f286139d22
Fix "undefined reference to `fmt::v7::detail::basic_data<void>::digits'"
...
Remove unused FMT_EXTERN_TEMPLATE_API
2021-06-02 14:33:17 -07:00
7b9d69b827
Add xchar.h to docs
2021-06-02 08:19:54 -07:00
cbd861f188
Update docs
2021-06-02 08:06:52 -07:00
faf972f039
Update docs
2021-06-02 07:46:26 -07:00
622d1c0423
Update changelog
2021-06-02 07:36:27 -07:00
634c948769
Update changelog
2021-06-02 07:13:06 -07:00
a04e3a2dc8
Comment
2021-06-01 20:47:16 -07:00
87876d5474
Cleanup the printf implementation
2021-06-01 20:32:56 -07:00
d338d66324
Cleanup the printf implementation
2021-06-01 19:30:46 -07:00
272660e704
Remove deprecated printf functions
2021-06-01 18:08:31 -07:00
5a95c5ae2c
Update changelog
2021-06-01 17:47:23 -07:00
70e67ae018
Re-enable module testing
...
Prepare for compilation with gcc (modules branch).
2021-06-01 14:49:56 -07:00
ad97258915
Merge branch 'master' of github.com:fmtlib/fmt
2021-06-01 13:38:26 -07:00
ed2a6377e7
Workaround msvc constexpr issues
2021-06-01 13:32:44 -07:00
9976869549
fix custom types formatting at compile-time, add test
2021-06-01 11:16:05 -07:00
8c1b22ba6d
Workaround a gcc 9.1 bug ( #2334 )
2021-06-01 06:43:30 -07:00
2dba1cfac1
Update changelog
2021-05-31 19:19:09 -07:00
d7ba6c3ea8
Use qualified name-lookup in module. ( #2324 )
...
Allow lookup of non-exported names from local classes in function templates.
2021-05-31 09:11:24 -07:00
bf9904ee4d
Workaround msvc bugs
2021-05-31 08:25:05 -07:00
577bce9029
Apply clang-format
2021-05-31 08:09:10 -07:00
ba4c7f193b
Swap parameter order to match #2327 ( #2329 )
2021-05-31 07:44:33 -07:00
e9e89b355b
Update ChangeLog.rst
2021-05-31 07:43:29 -07:00
9bb406d78d
Update changelog
2021-05-31 07:37:10 -07:00
11a14db286
Update format_to taking a buffer and remove undocumented vformat_to overload
2021-05-30 07:57:51 -07:00
832ec098fc
Fix argument order in locale overload of vformat_to ( #2327 )
2021-05-30 06:42:09 -07:00
486a80e8ef
Move wchar_t overloads to xchar.h
2021-05-30 06:41:39 -07:00
19d45f4b31
Update changelog
2021-05-29 16:56:33 -07:00
5a2b88f6e9
Reduce binary size
2021-05-29 16:45:43 -07:00
00a39ad5f8
Enable Char
types other than char
( #2323 )
2021-05-29 11:42:16 -07:00
ff37e41625
wchar.h -> xchar.h because it handles other code unit types too
2021-05-29 09:37:17 -07:00
0901176fe4
arg_join -> join_view
2021-05-29 08:47:16 -07:00
a9a9018191
Move wmemory_buffer to wchar.h
2021-05-29 08:26:04 -07:00
4a7801c3ec
Update changelog
2021-05-29 08:14:25 -07:00
517578f80e
Update changelog
2021-05-29 07:48:59 -07:00
85442ed045
Update changelog
2021-05-29 07:43:21 -07:00
6a12b13a85
Update changelog
2021-05-29 07:39:35 -07:00
1cfe3c7382
Update ChangeLog.rst
2021-05-29 07:30:47 -07:00
c06014792b
Update changelog
2021-05-29 07:30:07 -07:00
6fe04871f4
Update changelog
2021-05-29 07:20:29 -07:00
9d67988aed
FMT_DEPRECATED_WCHAR -> FMT_DEPRECATED_INCLUDE_WCHAR
2021-05-29 06:41:07 -07:00
765b451edd
Update changelog
2021-05-29 06:15:49 -07:00
17c993c753
Fixed compilation with CMake < 3.7 ( #2321 )
2021-05-28 20:24:31 -07:00
dde6937319
Update changelog
2021-05-28 16:20:46 -07:00
272b0f36b3
More module tests ( #2309 )
...
core.h, format.h, args.h, chrono.h, color.h, printf.h, os.h
2021-05-28 15:49:39 -07:00
126c8cb46b
Export os.h API, too ( #2318 )
2021-05-28 09:27:45 -07:00
98b9ff47a1
Align hex floats right as default ( #2317 )
2021-05-28 09:21:01 -07:00
ece4b4b33a
Update changelog
2021-05-28 06:53:33 -07:00
a70a4ae053
Ignore zero-padding for non-finite floating points ( #2310 )
...
* Ignore zero-padding for non-finite floating points
* keep width for non-finite formatting with 0-padding
* clang-format
* preserve alignment
* align code-style
2021-05-27 14:13:05 -07:00
7612f18dc8
Update changelog
2021-05-27 07:06:13 -07:00
b9f2c27661
Update changelog
2021-05-26 21:12:03 -07:00
4e21baff43
Simplify get_units
2021-05-26 18:26:00 -07:00
683ef11ab9
Update changelog
2021-05-26 18:25:21 -07:00
ca466374bd
qualify make_format_args ( #2315 )
...
Co-authored-by: John Melas <john@jmelas.gr >
2021-05-26 06:42:02 -07:00
5a2a185682
Make buffers non-movable
2021-05-25 17:30:17 -07:00
ee52a6dc40
add fmt::print()
overload to support compiled format ( #2304 )
2021-05-25 14:54:56 -07:00
82607efb57
Fixed int conversion warning ( #2313 )
...
* Fixed int conversion warning
Compiler warns about conversion from int to size_t, thus added explicit cast.
* now using detail::to_unsigned for the cast
2021-05-25 08:13:39 -07:00
35a2c2a743
Refactor chrono formatting
2021-05-25 06:57:47 -07:00
b955e7a6b2
Refactor chrono formatting
2021-05-24 15:33:33 -07:00
883d9595c5
Support alternative locale names in tests
2021-05-24 14:09:19 -07:00
1f308a3cea
Update integer presentation types documentation.
...
Documents that the 'c' type is a valid type for integer types. Since
boolean uses the same types as integer its documentation is
automatically updated.
2021-05-24 10:55:08 -07:00
1cd9899cf3
Add initial support for weekday formatting
2021-05-24 10:21:34 -07:00
069131dc25
Add unicode-test
2021-05-24 06:20:51 -07:00
dd8f38fcbb
Cleanup printf API
2021-05-23 20:30:26 -07:00
a216f2562d
Remove undocumented and obsolete vprintf overload
2021-05-23 20:15:02 -07:00
0c0926395d
Add is_exotic_char trait
2021-05-23 19:50:17 -07:00
bc13c6de39
Update README.rst
2021-05-23 07:45:33 -07:00
8ec0b9e33b
Do *not* export namespace detail
2021-05-23 06:49:07 -07:00
b99c2bd345
Remove deprecated locale.h
from module interface unit
2021-05-23 06:17:25 -07:00
c04a24399a
Update changelog
2021-05-22 20:55:56 -07:00
b099a56f9f
Update changelog
2021-05-22 16:12:38 -07:00
703005c8ba
Deprecate locale.h
2021-05-22 10:21:17 -07:00
51f0178625
Cleanup the format API
2021-05-22 07:09:09 -07:00
5d59dcf66e
Remove deprecated aliases / undeprecate has_formatter
2021-05-22 06:53:34 -07:00
c242dd402c
Move cerrno include to where it is used
2021-05-22 06:18:40 -07:00
2216e0b779
Update changelog
2021-05-22 06:04:33 -07:00
1c83a49be9
Simplify buffer extraction
2021-05-21 20:15:56 -07:00
2617384d8e
Improve buffer extraction
2021-05-21 19:44:49 -07:00
34b8acaef7
More wchar_t-specific API to wchar.h
2021-05-21 18:24:39 -07:00
6326c18906
Improve code style consistency
2021-05-21 17:29:15 -07:00
5c4b0c86fb
Add missing Allocator template argument for basic_memory_buffer in format_to
...
Remove deduced default template arguments in format_to and moves the
SFINAE check to a non-deduced template parameter.
2021-05-21 12:13:46 -07:00
00149c0b6a
Move detail::null to chrono where it is used
2021-05-21 09:16:45 -07:00
c5c968cb22
Improve binary size
2021-05-21 08:50:35 -07:00
128cbdeb2f
cmake: hide private symbols by default
2021-05-21 08:25:08 -07:00
18af1dc460
Fix binary size regression caused by b268f88
2021-05-20 18:33:45 -07:00
d1e6f0f8c6
Fix binary size regression caused by b268f88
2021-05-20 18:00:19 -07:00
5a0d99fa0b
Add a test for the module
2021-05-20 10:26:31 -07:00
6e2e6b796f
Restore support for wchar_t
overloads in module
2021-05-20 10:03:58 -07:00
24b677d053
Improve symbol sizes
2021-05-20 07:21:20 -07:00
63271a51c4
Fix ADL issues
2021-05-20 06:31:43 -07:00
61b4c923d7
Reduce code bloat
2021-05-20 05:51:45 -07:00
2a2e4c5801
addressing nits.
2021-05-19 16:09:49 -07:00
be48f4d657
Avoid unwanted sign extensions from MSVC in is_utf8.
...
Microsoft's constexpr evaluator treats the type of micro[0] and micro[1] as
plain char, and so sign extends before comparing them to ints.
The normal compiler, including the optimizer, does not fail in this way,
so this is merely a "future proof" change in case someone uses is_utf8()
in a constant expression.
2021-05-19 16:09:49 -07:00
13e652939b
export missed symbols
...
Enable `-fvisibility=hidden` and `-fvisibility-inlines-hidden` by default in CI builds to ensure all public symbols are exported correctly.
2021-05-19 16:03:45 -07:00
71fb113818
fix compile error on msvc preview 4 (16.10) involving lookup clash /w STL
2021-05-19 13:17:20 -07:00
08d22503bb
Remove outdated comments
2021-05-19 11:47:21 -07:00
56f518a98f
Update signatures
2021-05-19 09:45:33 -07:00
b7f2933744
Update signatures
2021-05-19 09:39:32 -07:00
7483dfc652
Update signatures
2021-05-19 09:36:12 -07:00
95c358f721
Improve separation between code unit types
2021-05-19 09:06:57 -07:00
39c3c4ec22
Simplify the core API
2021-05-19 08:32:57 -07:00
e9c1c415b8
Improve compile-time checks
2021-05-19 07:57:57 -07:00
21d93bfd33
Move generic format functions to format.h
2021-05-18 19:01:43 -07:00
9a92eb4158
Move more wchar overloads to wchar.h
2021-05-18 05:53:25 -07:00
0dd91e20d5
Add wchar.h for wide char overloads
2021-05-17 21:59:10 -07:00
ce14eafc24
Simplify format string checks
2021-05-17 19:25:50 -07:00
8d70c0edab
Refactor the format API
2021-05-17 18:25:36 -07:00
813ac49543
More API cleanups
2021-05-17 07:58:13 -07:00
4ab01fb198
Cleanup printf API
2021-05-17 07:19:50 -07:00
d5036b11b1
Remove deprecated APIs
2021-05-17 06:59:46 -07:00
2581946231
Cleanup the core API
2021-05-16 13:02:01 -07:00
b35db4e006
Improve handling of 128-bit ints
2021-05-16 11:43:44 -07:00
d35f1ad5c1
Cleanup core
2021-05-16 10:02:33 -07:00
8f1902c05a
Move format string checks to core.h
2021-05-16 07:08:49 -07:00
6469b9037c
Silence msvc warning about an unused named parameter
...
Warning C4100 may cause compile failures under strict warning regimes.
2021-05-16 06:14:30 -07:00
7d4c92fb00
Update ChangeLog.rst
2021-05-15 17:19:27 -07:00
0763d8cadf
Fix Visual Studio warning
2021-05-15 17:13:15 -07:00
5466373a11
Do *not* export namespace detail
...
Introduce `FMT_BEGIN_DETAIL_NAMESPACE` and `FMT_END_DETAIL_NAMESPACE` for `namespace detail` sections embedded in that part of the code that contains all declarations that are exported from the module, i.e. which is enclosed by `FMT_MODULE_EXPORT_BEGIN` and `FMT_MODULE_EXPORT_END`. Given a correct implementation of C++20 modules, neither the name `fmt::detail` nor any of its contents will become visible outside of the module.
2021-05-15 12:08:42 -07:00
588bdb5404
Simplify get_arg_index_by_name
2021-05-15 06:47:43 -07:00
54f22a3eef
add support for statically named arguments with FMT_STRING
2021-05-14 16:31:10 -07:00
ea94d6d93c
Prevent ambiguity in name lookup
...
Unqualified calls to 'make_format_args' may find the same name by ADL in <format> if this C++20 header happens to be directly or indirectly included in a translation unit. Do a qualified lookup instead.
2021-05-14 07:10:02 -07:00
57280762b6
Move specs checker to core.h
2021-05-13 19:33:09 -07:00
ced3037523
Move dynamic specs to core.h
2021-05-13 19:01:21 -07:00
dd2bc998ab
Move specs to core.h
2021-05-13 18:48:15 -07:00
08da1adcf6
Remove unused headers
2021-05-13 17:58:15 -07:00
3be0cc2087
Fix handling of 128-bit ints
2021-05-13 17:53:23 -07:00
9648bdce30
add missing header
2021-05-13 05:39:18 -07:00
d1aebdbde0
Inline format_to
2021-05-12 18:07:59 -07:00
8f0fadfaaa
Cleanup docs
2021-05-11 20:20:03 -07:00
02896dabee
Avoid use after move ( #2278 )
2021-05-11 16:58:07 -07:00
0036a1d195
Fix issue #2274 .
2021-05-10 15:57:23 -07:00
2a9b314627
Replace fmt::error_code to std::error_code
2021-05-09 12:26:19 -07:00
2165bef4ca
Update README.rst
2021-05-09 09:35:44 -07:00
4862930845
Optimize format string compilation
2021-05-09 09:15:55 -07:00
3207a8bbbf
Get rid of unnecessary recursion to enable inlining
2021-05-09 07:54:13 -07:00
6214f15a0c
Optimize standard formatter specialization
2021-05-09 07:11:35 -07:00
cd2c78fb8a
Use write directly in formatter specializations
2021-05-09 07:07:51 -07:00
4211d86539
Add a formatter specialization for std::error_code.
2021-05-09 06:29:39 -07:00
39f28424ca
Cleanup tests
2021-05-07 21:27:58 -07:00
84feeb0f36
Remove redundant comments and put common case check first
2021-05-07 17:14:29 -07:00
2665afb515
Cleanup add-subdirectory-test
2021-05-07 16:42:02 -07:00
d0abe7c246
Make chrono formatting locale-independent by default
2021-05-07 16:14:10 -07:00
50fb0b5eae
Fix formatting
2021-05-07 08:52:49 -07:00
16f2ef91ab
Replace fmt::system_error with std::system_error
2021-05-07 08:33:39 -07:00
4b885c8633
Replace windows_error with system_error
2021-05-07 06:19:03 -07:00
5238055f40
Move esoteric char type support to format.h
2021-05-06 09:02:00 -07:00
9ac088f376
Add fmtlog to projects
2021-05-06 08:39:36 -07:00
849c9f6168
Move is_name_start to core
2021-05-06 08:12:24 -07:00
23892caf53
Move more parsing to core
2021-05-06 07:37:40 -07:00
8e6390c32c
Move FMT_STRING to core
2021-05-06 07:19:41 -07:00
51a33713fc
Move parsing to core
2021-05-06 07:01:29 -07:00
9c3af11a92
Cleanup tests
2021-05-05 18:31:41 -07:00
9d7b53cb9b
Remove redundant formatter specialization for byte
2021-05-05 08:14:12 -07:00
f0095ccd34
Add support for ranges of types without formatters to join ( #2262 )
2021-05-05 07:43:46 -07:00
4f0eadfce4
Exclude fallback from is_formattable
2021-05-05 06:29:51 -07:00
400b953fbb
Use [] instead of {} in ranges for consistency with Python format
2021-05-04 21:04:21 -07:00
38bcc04a11
Drop range limit and cleanup tests
2021-05-04 20:53:56 -07:00
c738c3431f
Cleanup tests
2021-05-04 17:23:13 -07:00
ed7c4320f6
Cleanup tests
2021-05-02 09:28:38 -07:00
9155e2de4c
Cleanup tests
2021-05-01 17:11:45 -07:00
38127d9ec0
Cleanup tests
2021-04-30 15:50:03 -07:00
c9c0e5077d
Cleanup tests
2021-04-30 06:42:38 -07:00
ccf4ccde23
Cleanup tests and format string compilation
2021-04-29 19:50:04 -07:00
e96a92f869
Cleanup tests and format string compilation
2021-04-29 16:21:08 -07:00
fd43e4dcbc
gtest: fix std::is_trivially_copy_constructible for GCC 4.8 & 4.9 properly
...
`std::is_pod<T>` was deprecated in C++20
original (pre `is_pod`) error on GCC 4.8:
```
/fmt/test/gtest/gtest.h: In static member function 'static constexpr bool testing::internal::MatcherBase<T>::IsInlined()':
/fmt/test/gtest/gtest.h:6512:12: error: 'is_trivially_copy_constructible' was not declared in this scope
std::is_trivially_copy_constructible<M>::value &&
^
/fmt/test/gtest/gtest.h:6512:45: error: expected primary-expression before '>' token
std::is_trivially_copy_constructible<M>::value &&
^
/fmt/test/gtest/gtest.h:6512:46: error: '::value' has not been declared
std::is_trivially_copy_constructible<M>::value &&
^
```
2021-04-29 07:11:49 -07:00
3d51ccdaae
gtest: remove obsolete GTEST_LANG_CXX11
compile definition setting
2021-04-29 07:11:49 -07:00
833377ff1e
gtest: add .clang-format
file into test/gtest
directory to prevent formatting there
2021-04-29 07:11:49 -07:00
53ca0cbe75
gtest: move GTest/GMock files to separate directory, update GTest/GMock usages
...
* all GTest/GMock files moved to `test/gtest` directory
* `CMakeLists.txt` created in `test/gtest` from `CMakeLists.txt` in `test`
* GTest/GMock target in CMake renamed to `gtest` (was `gmock`)
* CMake `gtest` target updated to export includes as "gtest/gtest.h" or "gmock/gmock.h" only
* includes in tests updated: "gtest.h" -> "gtest/gtest.h", "gmock.h" -> "gmock/gmock.h"
* removed duplications of `target_include_directories` for GTest/GMock directories (CMake manages them)
2021-04-29 07:11:49 -07:00
342973b349
Make wchar_t overloads usable in module
...
Bring ''detail::find()' into scope.
2021-04-28 09:37:57 -07:00
355be4b13f
Make FMT_COMPILE fallback on runtime without if constexpr ( #2261 )
2021-04-28 09:11:47 -07:00
0cd0fb9184
C++17: std::char_traits<>::{compare,length} is constexpr - v2
2021-04-28 07:05:32 -07:00
d1a6e5603f
Keep defaulted destructors inline
...
applies to exception classes in case of msvc only
2021-04-28 06:17:26 -07:00
84a36b99bf
Move data to functions
2021-04-27 17:21:32 -07:00
ab7c33ede0
Suppress checked iterator warnings
2021-04-27 13:54:39 -07:00
77258f6069
fix FMT_CONSTEXPR_CHAR_TRAITS check for MSVC
2021-04-26 16:35:32 -07:00
d23e315ea2
CI windows: add MSVC C++20 build
2021-04-26 16:35:32 -07:00
f085c3d7a0
use proper check for non-type template parameters
2021-04-26 16:35:32 -07:00
69bdc20a3c
Workaround missing std::system on iOS, take 2
2021-04-26 06:21:44 -07:00
847aac4315
Follow naming conventions in tests
2021-04-25 21:26:30 -07:00
39818e7979
Cleanup core-test
2021-04-25 17:59:23 -07:00
0e6f989b0d
__THROW warning fix for e2k ( #2253 )
2021-04-25 08:51:37 -07:00
1678ed6235
simplify field::format() and spec_field::format(), fix typo
2021-04-25 07:53:49 -07:00
ca821982ee
use named arg with static name in compile-time API
...
to get arg index by name at compile-time
2021-04-25 07:53:49 -07:00
ce6e7d8620
use fixed_string to create named arg class with static name for _a literal
2021-04-25 07:53:49 -07:00
fc56af14c2
move fixed_string from compile.h to format.h
2021-04-25 07:53:49 -07:00
bb006f9735
Replace TYPED_TEST_CASE with TYPED_TEST_SUITE
2021-04-24 17:46:49 -07:00
6956b10b2d
Fix gcc 4.8 build
2021-04-24 11:04:34 -07:00
b4f9a05894
Update gtest
2021-04-24 11:03:40 -07:00
8f9ddf452d
Remove deprecated posix.h
2021-04-24 07:03:11 -07:00
dacd1356e4
Add module interface unit
2021-04-24 06:39:57 -07:00
d3c523e0d2
Export printf-related contexts from printf.h
2021-04-24 06:39:57 -07:00
2c25df089f
Export replacement type_traits, too
2021-04-24 06:39:57 -07:00
553022dc56
Don't use std::system on iOS ( #2248 )
2021-04-24 06:17:05 -07:00
8a040d187a
Cleanup core-test
2021-04-23 20:07:48 -07:00
064cac2bf9
Bump version
2021-04-23 16:05:03 -07:00
5b2c740ad8
Remove deprecated APIs
2021-04-23 15:27:25 -07:00
b9ab5c8836
Remove printf.h dependency on ostream.h
2021-04-23 10:42:57 -07:00
c47f211296
Simplify data handling
2021-04-23 06:52:10 -07:00
54d3b1710e
Move more data out of basic_data
2021-04-23 06:45:23 -07:00
128f007b25
C++17: std::char_traits<>::{compare,length} is constexpr. ( #2246 )
2021-04-23 06:11:34 -07:00
841aad95b4
Move data out of basic_data
2021-04-22 15:29:42 -07:00
1d4199f46b
fix udl_compiled_string with non-byte chars (e.g. wchar) ( #2242 )
2021-04-19 08:29:35 -07:00
c5d4fcb119
Appending a space to guarantee non-empty strftime() result. ( #2244 )
2021-04-18 19:13:51 -07:00
6271406233
Fix a warning ( #2233 )
2021-04-16 15:58:17 -07:00
52bd62c72f
Create separate dllexport marking points for clang and msvc. ( #2229 )
...
* add FMT_INSTANTIATION_DEF_API for msvc
This should fix https://github.com/fmtlib/fmt/issues/2228
To fix difference dllexport requirements
msvc: dllexport at template instantiation definition in format.cc
clang: dllexport at template instantiation declaration (extern template) in format.h
2021-04-16 12:34:18 -07:00
f4bbc54cc4
Tag official API for module export ( #2235 )
...
* functions
* classes
* UDLs
* other declarations
Export everything in namespace 'fmt' from core.h and format.h
2021-04-16 11:04:55 -07:00
d8910af80d
Use qualified name lookup rather than ADL. ( #2239 )
...
Name lookup within exported templates cannot find non-exported entities by ADL when instantiation takes place outside the module.
2021-04-16 09:38:25 -07:00
9260114162
Ranges wide strings support ( #2236 )
...
* Ranges copy wchar_t
* arg_join formatter not working for wide strings
* Added ranges wide string tests
Co-authored-by: Cristi <cristi@emailaddressmanager.com >
2021-04-16 06:25:35 -07:00
24c9751558
Try to suppress MVSC warn of narrowing ( #2230 )
2021-04-13 07:30:43 -07:00
a1c6bfd77b
Add a link to llvm diff
2021-04-12 10:05:14 -07:00
42eccac454
Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition ( #2220 )
2021-04-12 09:31:44 -07:00
aec504344a
Update README.rst
2021-04-10 08:48:11 -07:00
0b41145443
Update README.rst
2021-04-10 08:31:47 -07:00
00f3d16b12
Update docs
2021-04-10 08:07:16 -07:00
99c2f7a349
Allow including fmt/core.h in the header-only mode
2021-04-10 07:44:36 -07:00
b441532396
CI linux: add clang++-11 C++20 (with LLVM libc++) build
...
* find-package-test fixed by passing CXX_FLAGS, i.e. -stdlib=libc++
* std::array usage in compile-test.cc replaced with plain array, because
<array> header was not included
2021-04-10 07:20:05 -07:00
1dbadb6527
CI linux: add clang++-11 C++20 build
2021-04-10 07:20:05 -07:00
09dbad47e1
CI linux: add missing build_type
...
for g++-8 C++14, g++10 C++17, g++10 C++20
2021-04-10 07:20:05 -07:00
e2facffe4d
CI linux: remove excessive clang++-9 include
2021-04-10 07:20:05 -07:00
273d8865e3
Suppress redef warning of _CRT_SECURE_NO_WARNINGS if any. ( #2218 )
2021-04-08 11:56:35 -07:00
5a8bf1f6a3
Workaround hexfloat inconsistency on windows ( #2205 )
2021-04-07 11:20:08 -07:00
78776ee4e2
Fix a conditional expression is constant warning #2210 ( #2211 )
2021-04-07 10:42:11 -07:00
266107f57c
constexpr uint128_wrapper ( #2215 )
...
* constexpr uint128_wrapper
* change FMT_CONSTEXPR to constexpr
* clang format
Co-authored-by: Jake Staahl <jstaahl@snapchat.com >
2021-04-06 22:07:01 -07:00
2e0d64cf2f
specify size for prefixes
static data
2021-04-06 17:07:14 -07:00
95da484727
Fix a link
2021-04-03 09:14:52 -07:00
06b3a1000c
Add support for time points with arbitrary durations ( #2208 )
2021-04-02 11:17:14 -07:00
dac42f52b2
Inline fallback is_constant_evaluated
2021-04-01 10:42:09 -07:00
7c43f8b896
Don't use strlen at compile time ( #2205 )
2021-04-01 10:04:21 -07:00
c62e4c30f4
Make buffer_appender default-constructible when back_insert_iterator is
2021-04-01 09:52:44 -07:00
0d6b70d96b
Install gcc 8
2021-04-01 09:19:36 -07:00
15c10b0c66
Add speech synthesis support
2021-04-01 09:19:36 -07:00
308510eb4f
"Use" fwrite
result (workaround for warn_unused_result
)
...
Fixes #2185
2021-03-31 08:31:35 -07:00
afe23e7f10
Don't call fileno on NULL file in tests ( #2196 )
2021-03-30 10:41:12 -07:00
b49af043d7
Remove noexcept from file's move assignment
2021-03-30 09:51:25 -07:00
14848875bf
Fix: fmt::ostream cannot be moved while holding buffered data #2197 ( #2198 )
...
* Add a test case: move ostream while holding data
* Fix moving ostream while holding data
Co-authored-by: Junliang HU <jlhu@cse.cuhk.edu.hk >
2021-03-30 08:43:26 -07:00
7d8c34018e
Update pull_request_template.md
2021-03-30 08:42:11 -07:00
b966afcc7a
Remove formattable
2021-03-28 14:21:12 -07:00
ec5315a987
Use strlen when possible in fallback basic_string_view
2021-03-28 08:01:55 -07:00
4f8778bab9
Inline basic_format_args's ctor
2021-03-28 07:32:17 -07:00
e2d87548f8
user-defined constructor
...
user-defined constructor added to prevent Intel compilers
warnings. According to the standard, objects need to have a
user-defined constructor if instances are delcared const.
2021-03-28 06:56:14 -07:00
f7151d384b
Extra flag to prevent Intel compiler with Clang front-end warning of 'unknown attribute no_sanitize'
2021-03-28 06:56:14 -07:00
0fb8ef8f79
Inline trivial argument handling functions
2021-03-27 19:05:39 -07:00
1b23e25f95
Simplify formattability check
2021-03-27 18:57:18 -07:00
35c71ff536
Only use -Og with optimizations disabled
2021-03-27 11:35:01 -07:00
243d8bebd1
Enable minimal optimizations in debug mode
2021-03-27 08:40:07 -07:00
9b34681d97
Work around xl compiler bug when nvcc preprocesses this file ( #2190 )
2021-03-27 06:05:49 -07:00
4dc7170d21
Fix C++17 builds: ( #2192 )
...
- Fix C++17 Visual Studio builds.
- Use C++17 for `windows-2019` builds.
- Removed options for unsupported compiler (MSVC11).
- Removed options, not needed after enabling C++11+ features in gmock/gtest.
2021-03-26 06:19:43 -07:00
9cb347b4b2
Simplify argument formatters
2021-03-21 09:31:46 -07:00
0f85a4683a
add default cases ( #2186 )
...
Adding default case for switch statements where the compilation
flag -Wswitch-default is present on the command line when spdlog
is included in external projects.
Signed-off-by: Ryan Sherlock <ryan.m.sherlock@gmail.com >
2021-03-19 16:56:52 -07:00
417e1cee9e
Stop using deprecated UDL templates
2021-03-19 08:34:55 -07:00
f7e900e12e
Simplify UDL definitions
2021-03-19 08:10:58 -07:00
d9661c8f3b
Mark grouping as deprecated
2021-03-19 07:54:57 -07:00
14a2a64df4
Fix handling of formattable types with to_string_view ( #2181 )
2021-03-19 06:43:38 -07:00
6ae402fd0b
Fix handling of types with to_string_view and formatter specialization ( #2180 )
2021-03-18 11:25:43 -07:00
a6408a3b09
Add args-test
2021-03-18 09:04:17 -07:00
1147782c79
Fix an ambiguous call to check caused by ADL ( #2184 )
2021-03-17 20:59:36 -07:00
2f3f3862fa
Fix harmless MSVS warning about using undefined _MANAGED symbol ( #2183 )
...
Since the changes of 1305cbeb
(Fix MSVC2019 error C2049 when compiling
with /clr (#1897 ), 2020-09-23), compiling fmt with MSVS 2019 resulted in
fmt\include\fmt\core.h(180,32): warning C4668: '_MANAGED' is not defined
as a preprocessor macro, replacing with '0' for '#if/#elif'.
when the (disabled by default) warning C4668 was enabled.
Fix this simply by checking if _MANAGED is defined before testing it.
2021-03-17 11:21:50 -07:00
d0bded5988
Fix MSVC /clr builds ( #2179 )
2021-03-15 08:17:28 -07:00
8308f52c2a
Fix dynamic_format_arg_store::push_back comment
2021-03-15 07:10:28 -07:00
6151d0dc1e
Fix the comment
2021-03-14 09:26:18 -07:00
5a1127b726
Don't wrap named arg in cref and clarify docs
2021-03-14 09:08:08 -07:00
b8ff3c1820
optimize append ( #2164 )
2021-03-13 07:21:23 -08:00
c8d8b88223
fix GCC 7,8,9 warning about unused but set parameter ( #2177 )
2021-03-13 06:36:53 -08:00
d28101878a
Document ostream support limitation
2021-03-12 15:49:22 -08:00
bac14ef985
Simplify integer spec checking
2021-03-12 15:02:01 -08:00
8f9db3fcb8
Make ubsan happy on empty format specs ( #2175 )
2021-03-12 09:13:47 -08:00
af567538a0
Bitpack integral prefixes
2021-03-11 21:22:33 -08:00
cdf877d4b1
Workaround missed optimization opportunity
2021-03-11 16:44:59 -08:00
eef4ba9c02
Optimize integer formatting without padding
2021-03-11 15:47:58 -08:00
a1ea8a82c3
Unbloat my heart
2021-03-11 08:27:53 -08:00
a457e16360
Simplify integer formatter
2021-03-11 08:14:03 -08:00
05bc87a66f
Optimize padding
2021-03-10 17:59:36 -08:00
605b603735
Optimize count_digits for powers of 2
2021-03-10 14:48:07 -08:00
85ba271639
Implement 128-bit count_digits in terms of count_digits_fallback
2021-03-10 12:57:46 -08:00
d9835737f0
spec -> specs
2021-03-10 12:51:03 -08:00
f9e0e90441
Apply clang-format
2021-03-10 12:08:02 -08:00
60f5d24411
Simplify arg_formatter
2021-03-10 09:35:48 -08:00
30e1302e73
Simplify on_format_specs
2021-03-10 08:46:16 -08:00
87c5cd46ac
Optimize parsing of argument ids
2021-03-10 07:04:04 -08:00
6a9016ea60
fix formatted_size
with "compiled format" as argument ( #2161 )
2021-03-07 06:44:36 -08:00
6e1fc01752
Move detail::truncating_iterator to fmt/compile.h
2021-03-06 08:35:36 -08:00
e718ec3e93
Make truncating_iterator an output_iterator ( #2158 )
2021-03-04 15:53:08 -08:00
772aeca338
Don't include <cassert>. ( #2148 ) ( #2152 )
...
* Don't include <cassert>. (#2148 )
This commit replaces use of the assert() macro in format-inl.h with
FMT_ASSERT(). This allows us to drop the cassert include.
* FMT_GCC_VERSION is not defined when we include test-assert.h, use __GCC__ instead.
* Don't explicitly suppress GCC's -Wterminate in tests' FMT_ASSERT.
Throwing from a separate function is enough to silence the warning, no need to
explicitly suppress it.
* Remove messages from assertions added in 2f699d2
.
* Correct formatting around throw_assertion_failure().
2021-03-04 07:28:04 -08:00
684b5b0e40
Fix fallback to runtime API from compile-time API ( #2143 )
...
* fix fallback to the runtime API, add FMT_ENABLE_FALLBACK_TO_RUNTIME_API define, add test
* remove `FMT_ENABLE_FALLBACK_TO_RUNTIME_API`
* pass format string to format_to() inside format_to_n() in compile-time API
instead of compiling it inside format_to_n(), to eliminate code duplication
2021-03-04 07:20:57 -08:00
d8b9254301
use simplified void_t
for all compilers other than gcc 4.x ( #2160 )
2021-03-02 14:42:27 -08:00
835b910e7d
Add an is_formattable trait
2021-02-28 15:25:33 -08:00
578874033a
Revert "Optimize handling of integer constants" ( #2147 )
...
This reverts commit 2797588be1
.
2021-02-25 05:58:58 -08:00
640acba850
Print x.what() of FMT_THROW when exception is disabled ( #2145 )
...
Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com >
2021-02-24 06:29:04 -08:00
d8e1c9f175
fix fmt::get
for some GCC versions and legacy Clang ( #2144 )
...
fixes https://github.com/fmtlib/fmt/issues/2140
- some GCC versions decay function pointers to `const void*`, exactly like
MSVC does
- legacy Clang (prior to 7.0) treats function pointers also as `const T*`
pointers, but unable to convert them
2021-02-23 07:18:30 -08:00
2797588be1
Optimize handling of integer constants
2021-02-21 11:11:57 -08:00
e8eff3b8fd
Fix FMT_STATIC_THOUSANDS_SEPARATOR ( #2142 )
2021-02-21 07:42:12 -08:00
ab0f7d7fdc
use const& for arguments
2021-02-20 11:50:12 -08:00
29cc8282b1
update chrono duration formatter (constness), use it in compile-test for specs checks
2021-02-20 11:50:12 -08:00
3f69af3aaf
update wording in the error inside arg_id_handler
, use FMT_ASSERT
instead of throw
2021-02-20 11:50:12 -08:00
499047e132
fix incorrect indexing mode for named args, update tests
2021-02-20 11:50:12 -08:00
78c67157c1
prepare tests, fix incorrect handling of named args with simple {}
replacement fields
2021-02-20 11:50:12 -08:00
b31bc2dc9f
simplify try_format_argument()
, make manual_indexing_id()
a variable
2021-02-20 11:50:12 -08:00
95e1aa2dc5
add support for manual indexing and named fields, add tests
2021-02-20 11:50:12 -08:00
7e72673d87
Improve width estimation ( #2033 )
2021-02-13 09:30:29 -08:00
13b117b5bc
Improve code point computation
2021-02-13 08:46:19 -08:00
ee0fed639c
Fix handling of the + flag with locales ( #2133 )
2021-02-13 07:08:01 -08:00
c5979d564e
Fix fmt::localtime formatting not working in wide-char string contexts
2021-02-13 06:53:30 -08:00
e6ef927e6b
fmt::ptr: Support function pointers ( #2131 )
...
Passing a function pointer to fmt::ptr results in:
In file included from /home/mac/git/fmt/test/gmock/gmock.h:238,
from /home/mac/git/fmt/test/format-test.cc:31:
.../fmt/test/format-test.cc: In member function ‘virtual void FormatterTest_FormatPointer_Test::TestBody()’:
.../fmt/test/format-test.cc:1486:56: error: no matching function for call to ‘ptr(void (&)(int, double, std::__cxx11::string))’
format("{}", fmt::ptr(function_pointer_test)));
with GCC and Clang. Let's add an overload to support that usage.
Unfortunately, MSVC would
consider the overload to be ambiguous for unknown reasons:
D:\a\fmt\fmt\test\format-test.cc(1485,1): error C2668: 'fmt::v7::ptr': ambiguous call to overloaded function [D:\a\fmt\build\test\format-test.vcxproj]
D:\a\fmt\fmt\include\fmt/format.h(3742,60): message : could be 'const void *fmt::v7::ptr<void,int,double,std::string>(T (__cdecl *)(int,double,std::string))' [D:\a\fmt\build\test\format-test.vcxproj]
with
[
T=void
]
D:\a\fmt\fmt\include\fmt/format.h(3735,42): message : or 'const void *fmt::v7::ptr<void(int,double,std::string)>(T (__cdecl *))' [D:\a\fmt\build\test\format-test.vcxproj]
with
[
T=void (int,double,std::string)
]
D:\a\fmt\fmt\test\format-test.cc(1486,1): message : while trying to match the argument list '(overloaded-function)' [D:\a\fmt\build\test\format-test.vcxproj]
but luckily this means that the overload is unnecessary in that case
anyway, so we can just make it conditional.
2021-02-09 07:35:16 -08:00
58aa04573f
Fix ordering of install commands for CMake ( #2122 )
...
the library itself needs to be installed before
the fmt-targets.cmake file is installed,
otherwise the installed targets file doesn't
actually point to the library using
IMPORTED_LOCATION
2021-01-30 09:03:55 -08:00
1980ca8c4e
fix #2118 : FMT_COMPILE did not work with tm formatter ( #2119 )
...
Co-authored-by: summivox <summivox@github.com >
2021-01-30 08:44:49 -08:00
2a25e2bf4d
Make ranges-test available with C++11 ( #2114 )
...
* make ranges-test available with C++11, fix problem with some gcc versions
* potentially fix build for MSVC 19.10, a bit reorganizing in test
2021-01-30 07:42:58 -08:00
b0b56b4379
fix #2116 (FMT_COMPILE requires exceptions enabled) ( #2117 )
...
Co-authored-by: summivox <summivox@github.com >
2021-01-28 06:58:49 -08:00
373262f9fb
Update docs
2021-01-24 09:11:44 -08:00
ce519e939b
Fix exception propagation from iterators ( #2097 )
2021-01-23 17:27:24 -08:00
acef0bb51a
use gcc-10.2 instead of gcc-10.1 on CI, also fix one problem ( #2110 )
...
the problem was not detected by test because of wrong gcc-10 minor version on CI
2021-01-23 07:52:41 -08:00
8bf28e6bb1
Add support for s format specifier to bool ( #2094 ) ( #2109 )
2021-01-23 07:32:41 -08:00
9c418bc468
Update README.rst
2021-01-21 07:45:34 -08:00
456efa4666
add missing detail namespace ( #2107 )
...
Co-authored-by: Walter Gray <walter.gray@getcruise.com >
2021-01-19 17:44:15 -08:00
80dc7cceb8
Fixed format.h(1465): warning C4702: unreachable code ( #2106 )
...
* Fixed format.h(1465): warning C4702: unreachable code
* Fixed format.h(1416): warning C4702: unreachable code
2021-01-19 17:13:10 -08:00
7fd535c6ae
Cleanup 'L' handling
2021-01-18 07:57:38 -08:00
b4b8917caf
Update docs
2021-01-17 09:36:06 -08:00
e4f2cf455e
Make 'L' a modifier
2021-01-17 09:28:46 -08:00
6972b5f3d2
Add build variable: FMT_MASTER_PROJECT ( #2100 )
2021-01-16 16:56:49 -08:00
ac35208115
Install fmt/args.h ( #2096 )
2021-01-16 08:13:38 -08:00
532e846b86
Fix width computation in float formatter
2021-01-15 11:07:55 -08:00
f8c2f8480a
Fix handling of width when formatting int as char
2021-01-14 08:41:17 -08:00
0fe0b15e71
Fix handling of # in width computation
2021-01-13 16:48:07 -08:00
061e364b25
Document output_file
2021-01-09 07:18:56 -08:00
018688da2a
Correct a typo on syntax.rst (documentation) ( #2081 )
2020-12-31 16:23:42 -08:00
9ec5592bb5
Fix writing to stdout when redirected to NUL on Windows ( #2080 )
2020-12-30 13:23:37 -08:00
cdc5ef6710
Remove fallback to inline specifier from FMT_CONSTEXPR(20) macro ( #2075 )
2020-12-30 06:23:20 -08:00
c9dd1eb97d
Don't change charset
2020-12-27 07:44:02 -08:00
d09b5c1453
Fix std::byte formatting with compile-time API ( #2072 )
...
* add test for byte formatting with `FMT_COMPILE`
* fix byte formatting with `FMT_COMPILE`, use `__cpp_lib_byte` macro
* use is not custom mapped type check
* workaround MSVC bug
2020-12-27 07:23:28 -08:00
bbd6ed5bc5
Add support of most format_specs for formatting at compile-time ( #2056 )
2020-12-25 06:40:03 -08:00
a750bf3ac6
Update api.rst
2020-12-24 07:09:49 -08:00
1256541d7a
Fix formatting
2020-12-24 07:07:15 -08:00
4fa4c9248f
Add tests for FMT_ENFORCE_COMPILE_STRING, fix several errors ( #2038 )
2020-12-24 06:40:46 -08:00
aa89e380d9
add cwchar to format.h for std::fputws ( #2073 )
2020-12-23 07:02:25 -08:00
5a37e182de
Disable warning about format string ( #2067 )
...
Reported by MinGW/GCC 10
2020-12-21 08:43:30 -08:00
fa43fd1444
Forward arguments to work with views ( #2068 )
2020-12-20 07:14:54 -08:00
3551f5d118
Workaround a gcc 10 -Warray-bounds bug ( #2065 )
2020-12-19 09:34:43 -08:00
e737672614
Remove an old mingw workaround ( #2059 )
2020-12-10 06:36:04 -08:00
25a41b80fc
Fix a link to Android.mk ( #2057 )
2020-12-09 08:04:58 -08:00
9293f7072e
Suppress gcc warning on privates-only class ( #2053 )
...
Since gcc 9 it warns about is_streamable to have only private methods.
Add explicit default ctor instead of suppression
2020-12-09 06:55:17 -08:00
c20874c28f
Reenable support for fallback formatter in join ( #2040 ) ( #2050 )
2020-12-08 08:56:53 -08:00
5de0bc1d4f
Add UDL as replacement for FMT_COMPILE ( #2043 )
2020-12-07 15:53:11 -08:00
a6fafe2f01
docs: use https for some links ( #2051 )
2020-12-05 06:41:38 -08:00
33f9a6d360
Fix handling of enums in to_string ( #2036 )
2020-12-03 15:18:33 -08:00
aabe0a8473
simplify tests by reordering arguments of EXPECT_EQ
( #2044 )
2020-12-03 14:21:23 -08:00
1f4a76d2c8
Add a missing include ( #2047 )
2020-12-03 14:17:09 -08:00
4a6eadbde0
Make std::byte formattabe ( #1981 )
2020-12-03 08:59:07 -08:00
683a74501f
fix formatting with empty compiled format string ( #2042 )
2020-12-02 07:14:57 -08:00
f43416e1d7
Add a link to contents from index
2020-12-02 06:30:09 -08:00
5a493560f5
Move some code from core.h to format.h where it is used
2020-11-29 09:45:15 -08:00
9ed0a98178
Fix docs build
2020-11-29 09:33:09 -08:00
dac753b81e
Basics of formatting at compile-time based on compile-time API ( #2019 )
2020-11-29 08:59:11 -08:00
119f7dc3d6
Truncate file by default
2020-11-27 08:15:14 -08:00
22a68d1613
Don't emit trailing zeros by default
2020-11-27 07:45:54 -08:00
d0110b7e35
Update README.rst
2020-11-26 19:51:31 -08:00
3f4839ce3d
Merge branch 'release' of github.com:fmtlib/fmt
2020-11-25 06:41:05 -08:00
7bdf0628b1
Update version
2020-11-24 17:15:02 -08:00
fc1355114d
Update changelog
2020-11-24 17:14:00 -08:00
926233bde8
Fix test
2020-11-24 14:54:15 -08:00
0683fa7d1d
Bump version
2020-11-24 08:36:21 -08:00
6ce207b9a5
Fix formatting
2020-11-24 08:29:17 -08:00
07b1c1a15f
Update changelog
2020-11-24 08:24:14 -08:00
58992761cf
Reintroduce ostream support to range formatters ( #2014 )
2020-11-24 08:22:29 -08:00
b8957f50c3
Fix an overflow in format_to_n ( #2029 )
2020-11-24 08:22:12 -08:00
df66516ed3
Workaround an issue with mixing std versions in gcc ( #2017 )
2020-11-24 08:21:10 -08:00
a57baa69a5
Fix more linkage errors ( #2011 )
2020-11-24 08:17:31 -08:00
85534a1397
Fix linkage errors when linking with a shared library ( #2011 )
2020-11-24 08:15:59 -08:00
a2fa5d6288
Update changelog
2020-11-23 10:35:07 -08:00
cd3003683d
Fix more linkage errors ( #2011 )
2020-11-23 10:34:27 -08:00
d1ef29d679
Fix initialization of iterator_buffer ( #1996 )
2020-11-23 10:28:35 -08:00
5f41bb0f77
clang-format
2020-11-23 10:23:54 -08:00
a58a6b27c3
Add a newline
2020-11-21 16:52:40 -08:00
a036cc97b7
Reintroduce ostream support to range formatters ( #2014 )
2020-11-21 16:31:22 -08:00
38c7def47a
Update clang version to 3.4 since there are ICEs on earlier ones
2020-11-19 10:37:43 -08:00
5533641319
🆕 [CI] Test with C++14 in Windows 2019 ( #2020 )
...
Problem:
- Both Windows builds test C++14
Solution:
- Use C++11 for `windows-2016` builds and C++14 for `windows-2019`
builds.
Co-authored-by: Jonathan Gopel <jgopel@quantlab.com >
2020-11-19 06:04:16 -08:00
55dfdd9299
Update README.rst
2020-11-18 07:33:38 -08:00
2c734c9bca
Fix an overflow in format_to_n ( #2029 )
2020-11-18 06:50:43 -08:00
6cdd1be93e
Update build.gradle for latest AGP ( #2026 )
...
* update build.gradle for latest AGP
* bump Android Gradle Plugin version to 4.1.1
* ignore .cxx which was externalNativeBuild in old versions
Use variable 'rootDir' instead of using relative path.
* build.gradle copies AAR files to libs/
2020-11-17 06:31:06 -08:00
bcc20b29df
Implement compile-time checks by default
2020-11-15 17:24:36 -08:00
befd7d4a2f
Always use FMT_STRING internally where possible [Issue #2002 ] ( #2006 )
...
Co-authored-by: Walter Gray <walter.gray@getcruise.com >
2020-11-15 05:19:06 -08:00
f8640d4050
Add more standards
2020-11-14 12:02:46 -08:00
f81c14aa1e
Workaround an issue with mixing std versions in gcc ( #2017 )
2020-11-14 11:41:51 -08:00
5555651ce0
Fix more linkage errors ( #2011 )
2020-11-14 06:06:10 -08:00
b268f8815d
detail::write in one more place relevant to printf with long argument… ( #2016 )
2020-11-13 12:14:16 -08:00
aa9b09a9e3
🐛 Cannot call non-constexpr function in constexpr context ( #2010 )
...
Problem:
- gcc-8 gives the following error when compiling this function on all
standards:
test/std-format-test.cc: In member function 'constexpr auto std::formatter<S>::parse(std::format_parse_context&)':
test/std-format-test.cc:112:17: error: call to non-'constexpr' function 'int isdigit(int)'
if (!isdigit(c) || (++iter, get_char()) != '}')
~~~~~~~^~~
Solution:
- Write a `constexpr` version of `isdigit` for use in this function.
Co-authored-by: Jonathan Gopel <jgopel@quantlab.com >
2020-11-12 10:10:52 -08:00
986fa00406
Printf get container ( #1982 )
...
* eliminate one case where basic_print_context would copy a string into a fmt::basic_memory_buffer character by character instead of using fmt::basic_memory_buffer::append
* use detail::write instead of re-implementing it
* use to_unsigned to avoid signedness conversion warnings
2020-11-12 08:37:04 -08:00
7abc3c01e0
Suppress a useless warning ( #2004 )
2020-11-12 08:18:28 -08:00
6d14f78115
Fix linkage errors when linking with a shared library ( #2011 )
2020-11-12 06:11:17 -08:00
9534b9fe69
Refactor warning suppression
2020-11-12 05:45:36 -08:00
60dc273513
Simplify on_text
2020-11-11 15:13:44 -08:00
b5dac0f0f8
Reduce <algorithm> usage ( #1998 )
2020-11-11 09:12:15 -08:00
a07627b1f8
🐛 Implicit sign conversion warning in clang in c++17 and 20 modes ( #2009 )
...
Problem:
- On Apple clang version 11.0.3 (clang-1103.0.32.62) in C++17 and C++20
mode, clang 11.0.0 in C++17 and C++20 mode, and clang 9.0.1 in C++17
mode, the following error is generated:
In file included from test/compile-test.cc:16:
include/fmt/compile.h:518:25: error: implicit conversion changes signedness: 'long' to 'unsigned long' [-Werror,-Wsign-conversion]
return {f, pos + (end - str.data()) + 1, ctx.next_arg_id()};
~ ~~~~^~~~~~~~~~~~
include/fmt/compile.h:538:31: note: in instantiation of function template specialization
'fmt::v7::detail::parse_specs<int, char>' requested here
constexpr auto result = parse_specs<id_type>(str, POS + 2, ID);
^
include/fmt/compile.h:569:17: note: in instantiation of function template specialization
'fmt::v7::detail::compile_format_string<fmt::v7::detail::type_list<int>, 0, 0, FMT_COMPILE_STRING>' requested here
detail::compile_format_string<detail::type_list<Args...>, 0, 0>(
^
include/fmt/compile.h:648:37: note: in instantiation of function template specialization
'fmt::v7::detail::compile<int, FMT_COMPILE_STRING, 0>' requested here
constexpr auto compiled = detail::compile<Args...>(S());
^
test/compile-test.cc:140:24: note: in instantiation of function template specialization
'fmt::v7::format<FMT_COMPILE_STRING, int, 0>' requested here
EXPECT_EQ("42", fmt::format(FMT_COMPILE("{:x}"), 0x42));
^
In file included from test/compile-test.cc:16:
include/fmt/compile.h:518:25: error: implicit conversion changes signedness: 'long' to 'unsigned long' [-Werror,-Wsign-conversion]
return {f, pos + (end - str.data()) + 1, ctx.next_arg_id()};
~ ~~~~^~~~~~~~~~~~
include/fmt/compile.h:538:31: note: in instantiation of function template specialization
'fmt::v7::detail::parse_specs<char [4], char>' requested here
constexpr auto result = parse_specs<id_type>(str, POS + 2, ID);
^
include/fmt/compile.h:494:27: note: in instantiation of function template specialization
'fmt::v7::detail::compile_format_string<fmt::v7::detail::type_list<int, int, char const (&)[4], int>, 5, 2, FMT_COMPILE_STRING>'
requested here
constexpr auto tail = compile_format_string<Args, POS, ID>(format_str);
^
include/fmt/compile.h:539:14: note: in instantiation of function template specialization
'fmt::v7::detail::parse_tail<fmt::v7::detail::type_list<int, int, char const (&)[4], int>, 5, 2, fmt::v7::detail::spec_field<char, int, 0>, FMT_COMPILE_STRING>' requested here
return parse_tail<Args, result.end, result.next_arg_id>(
^
include/fmt/compile.h:569:17: note: in instantiation of function template specialization
'fmt::v7::detail::compile_format_string<fmt::v7::detail::type_list<int, int, char const (&)[4], int>, 0, 0, FMT_COMPILE_STRING>'
requested here
detail::compile_format_string<detail::type_list<Args...>, 0, 0>(
^
include/fmt/compile.h:648:37: note: in instantiation of function template specialization
'fmt::v7::detail::compile<int, int, char const (&)[4], int, FMT_COMPILE_STRING, 0>' requested here
constexpr auto compiled = detail::compile<Args...>(S());
^
test/compile-test.cc:145:18: note: in instantiation of function template specialization
'fmt::v7::format<FMT_COMPILE_STRING, int, int, char const (&)[4], int, 0>' requested here
fmt::format(FMT_COMPILE("{:{}}{:{}}"), 42, 4, "foo", 5));
^
2 errors generated.
Solution:
- Explicitly cast the result of the subtraction to the (unsigned) outer
type.
Co-authored-by: Jonathan Gopel <jgopel@quantlab.com >
2020-11-11 07:57:52 -08:00
1b8f499ee1
🔧 Silence useless cast warnings ( #2008 )
...
Problem:
- gcc-10 is generating the following warning at all standards:
test/format-test.cc: In member function 'virtual void UtilTest_BitCast_Test::TestBody()':
test/format-test.cc:108:42: error: useless cast to type 'uint64_t' {aka 'long long unsigned int'} [-Werror=useless-cast]
108 | s = fmt::detail::bit_cast<uint32_pair>(uint64_t(~0ull));
| ^~~~~~~~~~~~~~~
- gcc-8 is generating the following warning at all standards:
test/format-test.cc: In member function 'virtual void UtilTest_BitCast_Test::TestBody()':
test/format-test.cc:108:56: error: useless cast to type 'uint64_t' {aka 'long long unsigned int'} [-Werror=useless-cast]
s = fmt::detail::bit_cast<uint32_pair>(uint64_t(~0ull));
^
Solution:
- Cast 0 to a 64 unsigned bit int and then invert.
Co-authored-by: Jonathan Gopel <jgopel@quantlab.com >
2020-11-11 07:56:59 -08:00
f428d286a1
Update README.rst
2020-11-11 07:11:43 -08:00
beb248b6ac
Optimize handling of large format strings
2020-11-11 06:11:05 -08:00
1936dddc3c
fix gcc warning of missing override ( #2001 )
...
Co-authored-by: Lieven de Cock <killerbot@linux-2x3u.suse >
2020-11-10 07:57:21 -08:00
14f6bd0f4e
Move one more headers to args.h
2020-11-09 20:35:03 -08:00
e01d26e1a4
Optimize includes
2020-11-09 16:34:54 -08:00
e528d919a8
Merge branch 'master' of github.com:fmtlib/fmt
2020-11-08 12:45:15 -08:00
4881677268
Update signatures
2020-11-08 12:29:26 -08:00
3302fd1088
use memchr for searching for '%' in printf format string ( #1984 )
2020-11-08 10:36:00 -08:00
4c2d637203
Update signatures
2020-11-08 10:10:44 -08:00
beaff39618
Update signatures
2020-11-08 10:00:08 -08:00
ffa0a0834a
Use newer versions of Sphinx and Breathe
2020-11-08 09:46:27 -08:00
038057eb3e
Document contexts
2020-11-08 08:16:23 -08:00
5bedcb665b
Fix initialization of iterator_buffer ( #1996 )
2020-11-08 08:08:55 -08:00
2435ea4113
Workaround MSVC mess
2020-11-08 07:48:03 -08:00
8c6215f5de
Fix fmt/color.h
2020-11-08 07:24:07 -08:00
10ebe6cb48
Document color
2020-11-08 07:18:01 -08:00
1ac50fcb5a
Suppress more bogus warnings
2020-11-08 07:04:42 -08:00
e098be8e88
Fix warning filtering
2020-11-08 06:58:41 -08:00
8cf0afaf1c
Improve docs
2020-11-08 06:48:34 -08:00
e29f93e8a8
Suppress more bogus warnings
2020-11-08 06:33:42 -08:00
4e8d000f76
Suppress more bogus warnings
2020-11-08 06:29:50 -08:00
7787792e8d
Fix re usage
2020-11-08 06:20:53 -08:00
6ee5e507c7
Fix imports
2020-11-08 06:16:49 -08:00
06ee32d1b5
Filter useless doxygen warnings
2020-11-08 06:13:56 -08:00
86bb7fe614
Add a missing import
2020-11-08 05:55:49 -08:00
959a9f5cad
Merge branch 'master' of github.com:fmtlib/fmt
2020-11-08 05:50:48 -08:00
4f7df299ea
Improve docs
2020-11-08 05:40:39 -08:00
b3ab0bc7e3
🎨 [CI] Specify the exact version of clang to use ( #1991 )
...
Problem:
- The version of clang to use is specified only as `clang++`. This is
inconsistent with the specifications for gcc and exposed to unexpected
failure if the default changes.
Solution:
- Specify the exact version of clang to use. I chose `clang++-9` as that
is the version that `clang++` is currently resolving to.
Co-authored-by: Jonathan Gopel <jgopel@quantlab.com >
2020-11-08 05:18:24 -08:00
701ed6c874
Install deps in github actions instead of script
2020-11-07 11:16:38 -08:00
8f2131cf2d
Document chrono
2020-11-07 10:51:08 -08:00
32c4af8f0d
Document chrono
2020-11-07 10:38:51 -08:00
295a60ec8d
Document chrono
2020-11-07 10:30:23 -08:00
a4fae96c96
Document chrono
2020-11-07 10:24:27 -08:00
263bb0e68d
Document chrono
2020-11-07 10:19:40 -08:00
0506b328b5
Document chrono
2020-11-07 09:59:57 -08:00
4e426c19d0
Document chrono
2020-11-07 09:47:56 -08:00
9795d87348
Update docs
2020-11-07 09:27:06 -08:00
2eb0be0b73
Remove debug code and fix bot contact
2020-11-07 09:16:55 -08:00
cd95579834
Move less installation to actions
2020-11-07 09:12:54 -08:00
98639d0f6f
Debug doc build
2020-11-07 09:04:07 -08:00
ab5e0632fe
Debug doc build
2020-11-07 08:54:58 -08:00
b123129f4e
Dump the content of html dir
2020-11-07 08:42:13 -08:00
81d2b986af
Print less command
2020-11-07 08:24:58 -08:00
7a0b1d5781
Add key
2020-11-07 08:09:01 -08:00
9f0617cbfb
Fix branch ref
2020-11-07 08:04:01 -08:00
75b07598fe
Chrono docs
2020-11-07 07:56:53 -08:00
dfbb6975b3
Remove travis config
2020-11-07 07:38:20 -08:00
5b3052f999
Switch doc build to github actions
2020-11-07 07:31:15 -08:00
506ff320f2
Fix build failure when not using fcntl with -Werror ( #1990 )
2020-11-06 15:39:59 -08:00
a30b279bad
Apply clang-format and tweak comments
2020-11-04 17:17:23 -08:00
6a2495c840
-Wattributes visibility warning with some GCC versions ( #1975 )
2020-11-04 17:11:31 -08:00
cba5970cd8
Remove migrated build configs
2020-11-04 10:03:00 -08:00
689081d832
Merge branch 'release' of github.com:fmtlib/fmt
2020-11-04 07:46:02 -08:00
cc09f1a679
Update version
2020-11-04 06:50:09 -08:00
e4eb242ce8
Update changelog and bump version
2020-11-03 21:20:53 -08:00
ce98e0c6a0
Fix fallback float formatter at assymetric bounds ( #1976 )
2020-11-03 21:18:04 -08:00
49544ea943
Fuzz fallback formatter
2020-11-03 19:34:35 -08:00
6b7bfed40c
Fix fallback float formatter at assymetric bounds ( #1976 )
2020-11-03 19:19:10 -08:00
bcab36da3f
Update CI config
2020-11-03 16:01:26 -08:00
1689e73e90
Move PR template
2020-11-03 14:52:47 -08:00
0103408a5c
Update CI config
2020-11-03 14:39:43 -08:00
38a16ecba2
Move build config to github actions
2020-11-03 13:35:37 -08:00
205eb3a8f2
Update CI config
2020-11-03 13:27:15 -08:00
fe61b8c630
Update CI config
2020-11-03 11:59:59 -08:00
867b15d77c
Update CI config
2020-11-03 11:48:20 -08:00
98cb9f9931
Update CI config
2020-11-03 11:43:00 -08:00
95077d60c9
Update CI config
2020-11-03 11:41:25 -08:00
bc49f094e7
Update CI config
2020-11-03 11:02:49 -08:00
cef6dfb422
Update CI config
2020-11-03 10:46:03 -08:00
c8703ba40b
Update CI config
2020-11-03 10:45:16 -08:00
ab4405bea5
Update README.rst
2020-11-03 10:42:06 -08:00
78a55e2898
Update CI config
2020-11-03 10:37:30 -08:00
d0a2494a99
Update cmake.yml
2020-11-03 10:17:38 -08:00
89d009ba6e
Update cmake.yml
2020-11-03 10:14:38 -08:00
1f4ff47b41
Create cmake.yml
2020-11-03 10:04:28 -08:00
eb52ac7a35
🆕 Enable -Wshadow in pedantic mode
...
Problem:
- All `-Wshadow` warnings are fixed but there is nothing stopping them
from being reintroduced.
Solution:
- Fail pedantic builds on `-Wshadow` warnings. This allows CI to prevent
reoccurrence of the warning.
Notes:
- Not enabling `-Wshadow` for gcc versions 4 or lower because the
warning is much more aggressive there to the point that it's mostly
just noise.
2020-11-03 07:30:27 -08:00
e904e891bd
🎨 🐛 Rename all shadowed types and variables
2020-11-03 07:30:27 -08:00
771292c328
Remove sizeof from unused variable silencer ( #1974 )
...
Using sizeof causes some compilers to complain:
'operand of sizeof is not a type, variable, or dereferenced pointer'
static_cast itself should be enough to silence unused variable warning
Co-authored-by: Łukasz Mitka <lukasz.mitka@aptiv.com >
2020-11-03 06:48:19 -08:00
86bf6045c6
Merge branch 'release' of github.com:fmtlib/fmt
2020-11-02 06:27:49 -08:00
5f7f7b954d
Update version
2020-11-01 06:30:39 -08:00
5d3f0741e3
Update changelog and bump version
2020-11-01 06:28:06 -08:00
563cbb6c21
Add a macro to workaround clang/gcc ABI incompatibility on ARM
2020-11-01 06:10:04 -08:00
425778aa67
Fix ABI compatibility ( #1961 )
2020-11-01 06:09:31 -08:00
69a84198b0
Remove accidental parenthesis ( #1968 )
...
fails only when FMT_BUILTIN_CTZLL is not defined
2020-11-01 06:09:25 -08:00
5c04504932
Removed [-Wsign-conversion] warning in GCC
2020-11-01 06:09:11 -08:00
556a1cfb34
Instantiate to_decimal to make gcc lto happy ( #1955 )
2020-11-01 06:08:57 -08:00
28a8eae850
Cleanup
2020-11-01 06:08:50 -08:00
236fea1f00
Workaround bugs in gcc 8
2020-11-01 06:08:28 -08:00
e50ced88c6
Add a macro to workaround clang/gcc ABI incompatibility on ARM
2020-10-31 07:52:08 -07:00
112755cf91
Remove FMT_SAFEBUFFERS ( #1966 )
2020-10-29 17:42:45 -07:00
4081b2fe94
Fix ABI compatibility ( #1961 )
2020-10-29 11:29:47 -07:00
2d9311e860
Remove accidental parenthesis ( #1968 )
...
fails only when FMT_BUILTIN_CTZLL is not defined
2020-10-29 07:08:06 -07:00
b3a4f28ad1
Fix implicit signedness conversion warning ( #1963 )
...
Problem:
- On Apple clang 11.0.3 (clang-1103.0.32.62), pedantic mode compilation
generates the following error:
test/std-format-test.cc:114:22: error: implicit conversion changes
signedness: 'int' to 'size_t' (aka 'unsigned long')
[-Werror,-Wsign-conversion]
width_arg_id = c - '0';
~ ~~^~~~~
Solution:
- Use a `to_unsigned` to make the conversion explicit. This is
guaranteed to be safe due to the check before the ASCII-to-int
conversion.
2020-10-29 06:26:18 -07:00
97c8873214
Allocator::max_size support in basic_memory_buffer ( #1960 )
2020-10-29 06:17:00 -07:00
bb68f6089b
Removed [-Wsign-conversion] warning in GCC
2020-10-28 06:02:17 -07:00
f4ca065cfb
Range support
2020-10-28 05:35:37 -07:00
cb224ecaa3
Instantiate to_decimal to make gcc lto happy ( #1955 )
2020-10-27 07:46:40 -07:00
7977c2b4d0
Cleanup
2020-10-27 07:19:28 -07:00
e54eb67639
Workaround bugs in gcc 8
2020-10-27 06:11:31 -07:00
4fe0b11195
Update version
2020-10-25 10:44:22 -07:00
df4bd60f42
Bump version
2020-10-25 10:43:03 -07:00
764fb35e1f
Always install the required version of breathe
2020-10-25 10:34:47 -07:00
e1bdc0ecaf
Use the correct version of sphinx
2020-10-25 09:52:21 -07:00
39bde329bd
Tweak markup
2020-10-25 09:19:38 -07:00
204d299abb
Tweak markup
2020-10-25 09:12:22 -07:00
e0995b1c14
Update readme
2020-10-25 09:04:39 -07:00
4af178bdfe
Remove outdated build config
2020-10-25 09:01:44 -07:00
aa41dc02b1
Remove unused script
2020-10-25 09:00:25 -07:00
6a77ea3c93
Tweak markup
2020-10-25 08:59:36 -07:00
62c72059d9
Update changelog
2020-10-25 08:56:46 -07:00
c10e3f7f4f
Update changelog
2020-10-25 07:29:24 -07:00
e542e6953e
Update changelog
2020-10-25 06:46:45 -07:00
530cf316b8
Point to the release, not dev documentation
2020-10-24 12:02:12 -07:00
740385d636
Update changelog
2020-10-24 11:18:33 -07:00
cd4651116e
Update changelog
2020-10-24 09:24:47 -07:00
46291be348
Update changelog
2020-10-23 07:38:01 -07:00
90071c1df0
Update ChangeLog.rst
2020-10-22 09:30:27 -07:00
25293d7ac6
Update ChangeLog.rst
2020-10-22 09:28:23 -07:00
5024742f8a
Update ChangeLog.rst
2020-10-22 09:27:49 -07:00
0452a4e71f
Update changelog
2020-10-22 09:08:30 -07:00
8de96817ce
Woraround bugs in gcc 8
2020-10-22 07:33:32 -07:00
47e167679a
Simplify arg formatter
2020-10-21 19:04:02 -07:00
f0a42346a4
Move parsing optimization one level up
2020-10-21 18:18:53 -07:00
86287b8d56
Optimize common case in parse_format_specs
2020-10-21 17:16:58 -07:00
8924211f3b
Update README.rst
2020-10-21 14:02:55 -07:00
525e7649cf
Update CONTRIBUTING.md
2020-10-21 14:02:33 -07:00
0ecb3d1829
Optimize alignment parsing
2020-10-21 12:45:11 -07:00
9755307842
Optimize format_uint
2020-10-21 08:19:21 -07:00
7446818f98
Simplify vformat_to
2020-10-21 07:15:11 -07:00
280b5612c0
Add option to force usage of inline namespaces
...
Detection of inline namespaces is imperfect as some compilers
don't provide __has_feature
This option allows to override it if needed.
2020-10-21 06:38:59 -07:00
e57ec7d563
Merge vformat_to overloads
2020-10-20 17:39:50 -07:00
2a3f4de3f4
Remove iterator_category
2020-10-20 16:44:49 -07:00
27fdb4ead2
Unshadow floaty
2020-10-20 15:05:00 -07:00
297e0bad8c
Apply clang-format
2020-10-20 14:10:28 -07:00
e3b4c22ec9
Simplify is_output_iterator
2020-10-20 14:09:57 -07:00
da8278e1e3
Update changelog and bump version
2020-10-19 14:37:14 -07:00
17fba753c4
added position independent documentation ( #1939 )
...
* added position independent documentation
* suggested fixes to usage
* linebreaks
Co-authored-by: Adnan Yunus <adnan@opus.ai >
2020-10-19 14:20:54 -07:00
71e705a273
Update README.rst
2020-10-19 08:54:55 -07:00
74654c8cbb
Fix compilation for systems without fcntl.h ( #1942 )
...
Co-authored-by: darklukee <no-reply@hidden>
2020-10-19 07:43:06 -07:00
f468b203ad
Avoid conversion from long long to size_t ( #1935 )
2020-10-18 09:25:33 -07:00
20d4f2e836
Fix handling of weird character types when parsing sign ( #1932 )
2020-10-17 09:40:30 -07:00
08370c39ff
Update README.rst
2020-10-17 08:27:21 -07:00
bd3c792507
Fix float fuzzer
2020-10-16 07:35:53 -07:00
8d3fd86d6d
Merge branch 'master' of github.com:fmtlib/fmt
2020-10-16 07:35:02 -07:00
4034715713
Update README.rst
2020-10-16 06:47:16 -07:00
37d738fa6b
Update README.rst
2020-10-16 06:46:39 -07:00
271eff149f
Make classes derived from buffer<T> final to silence the virtual destructor warning. ( #1937 )
...
Co-authored-by: Bart Siwek <bsiwek@cisco.com >
2020-10-15 17:41:56 -07:00
010efc310f
Add float fuzzer and cleanup
2020-10-14 20:13:09 -07:00
811c8b58c5
Add float fuzzer and cleanup
2020-10-14 07:39:51 -07:00
82c4e2236a
Cleanup fuzzing
2020-10-13 09:08:04 -07:00
63e40c9614
Fix naming of fuzzers
2020-10-12 16:48:25 -07:00
2f448ed565
Fix fuzzer timeouts
2020-10-12 16:46:21 -07:00
af28305961
Cleanup
2020-10-11 10:13:42 -07:00
48ea8193df
Explain why assert-test is a separate test
2020-10-11 10:13:42 -07:00
1d112bdd1e
Remove old test
2020-10-11 10:13:42 -07:00
5eb292a653
Update README.rst
2020-10-11 09:57:21 -07:00
7e56b6b6cb
Fix coding style and remove duplicate fuzzer
2020-10-11 08:07:52 -07:00
41d97e1ef4
Fix a UB on ridiculously large precision
2020-10-11 08:07:52 -07:00
01c37e0a4b
Added check for -mbig-obj
and ref qualifier check ( #1929 )
...
* Added check whether mingw has -mbig-obj flag
* Removed ref qualifiers
2020-10-11 07:49:54 -07:00
a5e7e7db95
Fix handling of thousand separator ( #1927 )
2020-10-10 07:23:36 -07:00
bf19051a9f
Optimize floating point formatting
2020-10-09 15:29:56 -07:00
3c13a88b14
Optimize floating point formatting
2020-10-09 11:01:01 -07:00
f6d75c534c
Refactor write_float
2020-10-09 09:11:39 -07:00
e9c0b2d69e
Merge write_float overloads
2020-10-08 20:00:38 -07:00
7eddbfed53
Cleanup exponent handling in write_float
2020-10-07 15:58:43 -07:00
b347b3023f
Update dynamic_formatter comment ( #1923 )
2020-10-07 12:15:07 -07:00
3541880efd
Fix integer overflow when using max int precision
2020-10-07 11:27:02 -07:00
7b50dc0b24
Don't exclude all detail symbols from docs
2020-10-07 09:07:39 -07:00
2805243103
Fix the doc config
2020-10-07 08:11:59 -07:00
34f22e88a1
Cleanup CMake config
2020-10-07 08:11:42 -07:00
a18b3fbbdc
Fix fixed precision handling when rounding ( #1917 )
2020-10-07 07:42:23 -07:00
7277035736
Fix long lines in usage.md
2020-10-06 06:26:11 -07:00
7612c1ea87
Add reference to lhelper package manager in usage
2020-10-06 06:26:11 -07:00
b91d39f20b
Get rid of float_writer
2020-10-05 06:34:04 -07:00
b4b64b9cce
Refactor float formatting
2020-10-04 14:44:25 -07:00
712abe40f2
Workaround a bug in gcc 7.5 ( #1912 )
...
Thanks Martin Janzen.
2020-10-04 09:20:37 -07:00
af8a180aed
Make GetCachedPower test more precise
2020-10-04 08:00:47 -07:00
a581e9e5d8
Fix warning C4018: '<=': signed/unsigned mismatch ( #1908 )
2020-10-02 06:30:57 -07:00
05a28312cf
Update docs
2020-09-30 17:38:28 -07:00
4d0aa4d8fe
Update link
2020-09-30 17:21:07 -07:00
575f401896
Simplify FP formatting and follow coding conventions
2020-09-30 06:36:17 -07:00
6f3536f974
Move zero-check to an earlier branch ( #1906 )
2020-09-29 06:24:53 -07:00
90ef46df0b
Fix dragonbox integration
2020-09-28 18:10:46 -07:00
3ae88147e2
Fix declaration
2020-09-28 06:50:09 -07:00
6417952574
Improve dragonbox integration
2020-09-27 20:49:37 -07:00
79694d424c
Fix WriteConsole signature
2020-09-27 14:26:28 -07:00
51f2e2ca27
Move nan test to where it belongs
2020-09-27 12:50:18 -07:00
68555fdbd2
Make format-test not depend on color.h
2020-09-27 09:17:57 -07:00
63e0c35412
Make dragonbox::to_decimal available in format.h
2020-09-27 07:27:44 -07:00
2213a7110c
Update README.rst
2020-09-26 11:46:39 -07:00
79ba37f3bf
Update README.rst
2020-09-26 10:13:04 -07:00
a905d8f704
Merge grisu-test into format-test
2020-09-26 08:23:16 -07:00
762c33a964
Simplify windows handling ( #1903 )
2020-09-26 08:20:38 -07:00
253d63159f
Remove dependency on windows.h ( #1900 )
2020-09-26 07:03:16 -07:00
c156093ffd
Fix carry in fallback_format
2020-09-25 10:12:44 -07:00
34179b3354
Update format.h ( #1898 )
2020-09-24 08:16:16 -07:00
0651e4598b
Minor tweaks to get_cached_power
2020-09-23 16:04:40 -07:00
6c025520aa
Test that max_k is correctly defined
2020-09-23 15:44:37 -07:00
51f8d0cc21
Reuse log10_2_significand constant
2020-09-23 13:19:21 -07:00
1305cbeb6f
Fix MSVC2019 error C2049 when compiling with /clr ( #1897 )
...
'fmt::v7': non-inline namespace cannot be reopened as inline
2020-09-23 09:55:41 -07:00
2d4fde3a2e
Don't emit trailing zero for consistency with std::format
2020-09-23 09:19:12 -07:00
5fd89d50e4
Minor simplifications
2020-09-23 08:05:31 -07:00
605ce5e429
Simplify divisible_by_power_of_2
2020-09-22 20:44:29 -07:00
085171e7e6
Remove grisu_count_digits
2020-09-22 19:36:52 -07:00
aa729bf25b
Remove dead code
2020-09-22 16:58:02 -07:00
aa2ddf9b86
Simplify Dragonbox integration
2020-09-22 16:20:40 -07:00
c1654ce487
Simplify uint32_or_64_or_128_t definition
2020-09-22 15:08:37 -07:00
33712dc07a
Combine pragmas
2020-09-22 14:47:35 -07:00
e5942ac9dd
Tweak comments
2020-09-22 14:36:10 -07:00
aae7a1338c
Remove unused pragmas
2020-09-22 14:00:41 -07:00
6bcde9aab2
https://github.com/fmtlib/fmt/pull/1882#issuecomment-696823912 ( #1894 )
2020-09-22 10:33:52 -07:00
bb0db5e51e
clang-format
2020-09-22 08:19:37 -07:00
16410056bf
Optimize copy_str for counting_iterator
2020-09-22 07:56:09 -07:00
2591ab91c3
MSVC optimizations for count_digits. ( #1890 )
...
Changed the clz implementations to use xor instead of subtraction so that when
count_digits "undoes" the BSR -> CLZ translation, the optimizer is more
willing to recognize the equivalence.
Changed the data array in bsr2log10 to static since otherwise MSVC generates
code to build the array every time the function is called.
2020-09-21 11:38:06 -07:00
d5b8002dcb
Update README.rst
2020-09-21 09:40:49 -07:00
821471e1d1
qkw: generalizing aliasing | using fmt library and it's features ( #1888 )
...
I make extensive use of this library for building qkw targeting linux users. Please add this to your list.
https://github.com/ravijanjam/qkw
2020-09-21 09:39:07 -07:00
2e620ddbcd
Small improvements that should have zero to negligible impact on the runtime ( #1887 )
2020-09-20 09:34:44 -07:00
2f7e08856b
Disable range formatter if value type is not formattable ( #1885 )
2020-09-20 08:37:49 -07:00
c46a8de4e1
Simplify test
2020-09-20 07:24:24 -07:00
2696dc9273
add forgotten template argument to make_format_args which made some u… ( #1877 )
...
* add forgotten template argument to make_format_args which made some uses of FMT_COMPILE not work anymore after 54daa0864a
, add more elaborate test cases to compile-test as regression tests
* fix old-style cast which gcc on travis thankfully doesn't accept anymore
* hopefully last forgotten (void*)
2020-09-20 06:51:11 -07:00
0016da7ab3
Don't generate zeros and fix UB on huge precision
2020-09-19 16:01:43 -07:00
ce3f76994a
Merge intrinsic blocks
2020-09-19 07:54:45 -07:00
3b6248f602
Change formatting
2020-09-19 07:23:41 -07:00
2d9b1dd0ad
Fix sign mismatch
2020-09-19 07:23:41 -07:00
1f0600a23b
Fix bug regarding FMT_SAFEBUFFERS
2020-09-19 07:23:41 -07:00
2ecdbb986d
Fix a bug in ctzll
2020-09-19 07:23:41 -07:00
6f81ea151a
Fix typo (and thus bug)
2020-09-19 07:23:41 -07:00
0c8ffe9b0f
Implement Dragonbox (first version)
2020-09-19 07:23:41 -07:00
42699bf408
Fix msvc version of clz & clzll ( #1880 )
...
Change msvc version of clz & clzll to match __builtin_clz & _builtin_clzll
2020-09-18 11:07:01 -07:00
bc51a8df04
Disable fallthrough attributes for the Intel compilers on Linux and MacOS ( #1879 )
...
* Disable fallthrough attributes for the Intel compilers
On MacOS and Linux the Intel compilers may be identified as the
host compilers (Clang or GNU) but do not support the corresponding
compiler specific fallthrough attributes.
* Rearrange ifdef logic for excluding pre-C++17 fallthrough attributes
This puts Intel and PGI compilers into a separate group
and thus makes the intent and logic more obvious.
2020-09-18 09:57:00 -07:00
45da432d60
fix compiler warnings in public header files
2020-09-17 15:53:53 -07:00
d55e61f120
Improve FMT_ALWAYS_INLINE ( #1878 )
...
1. FMT_ALWAYS_INLINE should imply inline; otherwise, there might be
linkage problems
2. Add specialization for MSVC (__forceinline)
2020-09-17 15:21:17 -07:00
7e6827521a
Remove trailing zeros when using fallback formatter ( #1873 )
2020-09-17 08:16:21 -07:00
1d696dc280
Handle exotic character types in compilation
2020-09-17 07:12:34 -07:00
f674434a67
Add format_to_n overload that accepts FMT_COMPILE (from #1767 ) ( #1869 )
...
* Add format_to_n overload that accepts FMT_COMPILE
* add FormatToNWithCompileMacro test into CompileTest
Co-authored-by: Dmitriy Kurkin <Dmitriy.Kurkin@itiviti.com >
2020-09-15 07:28:06 -07:00
5b5a597198
Fix handling of wide alignment
2020-09-15 06:53:06 -07:00
f80ed64dd9
Update README.rst
2020-09-14 11:13:51 -07:00
3813966497
Simplify fallback format
2020-09-13 11:27:34 -07:00
dce8e49b4f
Handle float in fallback formatter
2020-09-13 09:28:40 -07:00
78b5944313
Spelling
2020-09-12 13:14:49 -07:00
f233b56cdd
Don't generate insignificant digits
2020-09-12 09:19:50 -07:00
595902f8a0
Update test
2020-09-11 07:57:40 -07:00
4f2ee8921d
Use built-in FP formatter for any precision
2020-09-11 07:20:16 -07:00
58a044be5d
Use built-in FP formatter for any precision
2020-09-11 07:19:45 -07:00
efe3694f15
Macro tweak and clang-format
2020-09-07 14:43:00 -07:00
9f312fe87e
Implement fallback FP formatting with given precision ( #1526 )
2020-09-07 09:34:30 -07:00
fb289cf56b
Fix coding conventions
2020-09-06 09:26:32 -07:00
86f0a7046e
Fix formatting
2020-09-06 08:58:19 -07:00
bff4d18efb
Add color format_to overloads
...
* Fix variable size basic_memory_buffer colorization
* Fix an unused arguments warning on GCC that blocks the CI otherwise
* Ref #1842
* Ref #1593
2020-09-06 08:24:15 -07:00
f19b8885f2
Fixed a warning in mingw32/mingw64 ( #1860 )
2020-09-06 06:27:37 -07:00
f8e00a084a
NOMINMAX not handled properly ( #1855 )
2020-09-03 09:45:47 -07:00
6cccdc24bc
Fix move constructor ( #1844 )
2020-09-01 08:48:56 -07:00
69902c1787
Allow use of <fcntl.h> in Linux when __has_include is not available ( #1848 )
2020-09-01 06:29:34 -07:00
1edd38b96e
Add append mode. ( #1847 )
2020-08-31 15:48:39 -07:00
e66ba16923
Added build2 usage instructions. ( #1838 )
...
The `fmt` package have been available for `build2` users for several version, see: https://cppget.org/fmt
This simply add the minimum instructions for making a `build2` project depend on it.
There are other ways to do it, but they need more understanding of `build2`.
2020-08-28 15:15:15 -07:00
f39e6fb617
Add formatters for chrono::time_point<system_clock> ( #1837 )
...
Add formatters for chrono::time_point and helper overloads for localtime/gmtime(time_point)
Fixes #1819
2020-08-28 07:41:38 -07:00
77b627be20
Fix bogus MSVC warnings ( #1825 )
2020-08-26 12:33:54 -07:00
5dff01d31b
Add complex tests
2020-08-26 11:48:50 -07:00
d16d585e64
Update signatures
2020-08-26 09:35:19 -07:00
c7e6d8afb0
Fix usage of override ( #1836 )
2020-08-23 11:01:46 -07:00
92bff2fe2c
Revert "Add missing includes"
...
This reverts commit 06895a7687
.
2020-08-21 16:24:53 -07:00
a0dcfbc57b
Add ptr to docs
2020-08-21 06:54:05 -07:00
1651b2d433
Fix detail::write with fallback formatter ( #1829 )
...
* add support for fallback_formatter in detail::write
* add ToString test into OStreamTest
to check fmt::to_string() with class that has output stream operator
* add WithOstreamOperator test into CompileTest
to check fmt::format() with FMT_COMPILE() and class that has output stream operator
* use conditional_t inside detail::write instead of 2 overloads
* Revert "add WithOstreamOperator test into CompileTest"
* remove Context from template parameters in detail::write
2020-08-20 06:41:09 -07:00
06895a7687
Add missing includes
2020-08-19 20:33:04 -07:00
92a448a071
Apply clang-format
2020-08-19 10:42:22 -07:00
6be6544668
Fixing buffer_appender's ++ slicing ( #1822 )
...
* Fixing buffer_appender's ++ slicing.
* This test requires C++14.
* Removing string_view dependency.
* Simplifying test case.
* Adding message to static_assert
2020-08-18 12:37:56 -07:00
951e0d2333
CMakeLists.txt: Added Wundef warning to clang and gcc. ( #1823 )
...
Co-authored-by: Martin Wührer <martin.wuehrer@artech.at >
2020-08-18 07:04:44 -07:00
f9f02df719
CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion ( #1817 )
...
* CMakeLists.txt: Clang-warnings: removed -Wno-sign-conversion
* test/ranges-test.cc: changed type of integer literals to unsigned
* test/format-test.cc: fixed implicit conversion changes signedness warning in clang
Co-authored-by: Martin Wührer <martin.wuehrer@artech.at >
2020-08-14 13:58:20 -07:00
76e97dc4df
Eliminate shadowed variable warnings on intel ( #1816 )
...
The intel-19 compiler warns about hidden variables:
```
/s/dev/nightly/libraries/ioss/src/fmt/format.h(2689): warning #1599 : declaration hides variable "begin" (declared at line 2668)
FMT_CONSTEXPR void operator()(const Char* begin, const Char* end) {
^
detected during:
instantiation of "Context::iterator fmt::v7::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::iterator, fmt::v7::basic_string_view<Char>, fmt::v7::basic_format_args<Context>, fmt::v7::detail::locale_ref) [with ArgFormatter=fmt::v7::detail::arg_formatter<fmt::v7::detail::buffer_appender<char>, char>, Char=char, Context=fmt::v7::format_context]" at line 3492
instantiation of "fmt::v7::detail::buffer_appender<Char> fmt::v7::detail::vformat_to(fmt::v7::detail::buffer<Char> &, fmt::v7::basic_string_view<Char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<fmt::v7::type_identity_t<Char>>, fmt::v7::type_identity_t<Char>>>) [with Char=char]" at line 1413 of "/s/dev/nightly/libraries/ioss/src/fmt/format-inl.h"
/s/dev/nightly/libraries/ioss/src/fmt/format.h(2689): warning #1599 : declaration hides variable "end" (declared at line 2669)
FMT_CONSTEXPR void operator()(const Char* begin, const Char* end) {
^
detected during:
instantiation of "Context::iterator fmt::v7::vformat_to<ArgFormatter,Char,Context>(ArgFormatter::iterator, fmt::v7::basic_string_view<Char>, fmt::v7::basic_format_args<Context>, fmt::v7::detail::locale_ref) [with ArgFormatter=fmt::v7::detail::arg_formatter<fmt::v7::detail::buffer_appender<char>, char>, Char=char, Context=fmt::v7::format_context]" at line 3492
instantiation of "fmt::v7::detail::buffer_appender<Char> fmt::v7::detail::vformat_to(fmt::v7::detail::buffer<Char> &, fmt::v7::basic_string_view<Char>, fmt::v7::basic_format_args<fmt::v7::basic_format_context<fmt::v7::detail::buffer_appender<fmt::v7::type_identity_t<Char>>, fmt::v7::type_identity_t<Char>>>) [with Char=char]" at line 1413 of "/s/dev/nightly/libraries/ioss/src/fmt/format-inl.h"
```
Rename the second set of variables to `pbegin` and `pend` to eliminate warning.
2020-08-13 18:58:31 -07:00
e204df0e66
nvcc compiler should be EDG-based, but fails test ( #1818 )
...
Our nvcc compilers (10.1.243 and 9.2.X) do not define the correct value for `FMT_USE_UDL_TEMPLATE` and then end up with an error later on in the build. Explicitly search for `__NVCC__` symbol not being defined. Might want to instead use `FMT_NVCC` or some other check, but the raw `__EDG_VERSION__` check is not working correctly for nvcc.
2020-08-13 15:18:57 -07:00
1c8bb54703
small changes to reduce clang-9 warnings ( #1808 )
...
* include/fmt/format.h: int_writer: removed unnecessary iterator type re-declaration (prevents shadow-waringing in clang)
* include/fmt/format.h: int_writer: correctly cast signed integer to unsigned to prevent 'implicit conversion changes signedness'-warnings in clang.
Co-authored-by: Martin Wührer <martin.wuehrer@artech.at >
2020-08-13 11:56:03 -07:00
4b69c78751
fix: warning C4100: unreferenced formal parameter ( #1814 )
...
Add [[maybe_unused]] to fix it.
2020-08-12 06:57:22 -07:00
fb0aeb8209
fix: disabled UDL templates for PGI ( #1811 ) ( #1812 )
...
* fix: disabled UDL templates for PGI (#1811 )
* fix: insert defined auround __PGI
Co-authored-by: n16h7hunt3r <n16h7hunt3r@nixos>
2020-08-11 15:27:27 -07:00
54daa0864a
Add dynamic width support to FMT_COMPILE ( #1809 )
2020-08-10 09:40:11 -07:00
6fb7c6fb25
Workaround a bug in gcc10 ( #1810 )
2020-08-10 07:20:34 -07:00
16985fdadf
Update README.rst
2020-08-09 08:56:51 -07:00
1378ddaefd
Update README.rst
2020-08-08 18:01:56 -07:00
4fd95e4b4d
Don't remove trailing zeros with #
2020-08-08 08:14:39 -07:00
e06ae32294
Avoid warnings on functions with external linkage that don't have declarations
2020-08-08 07:58:13 -07:00
7fc3d1f54c
Add override to grow
2020-08-08 07:23:11 -07:00
065889a593
Use correct capacity in iterator_buffer ( #1807 )
2020-08-08 07:01:21 -07:00
d0dd678693
Adding convenience append(range)
2020-08-08 06:33:46 -07:00
0e7cef069b
Merge commit 'c13f79e0'
2020-08-08 06:28:45 -07:00
e2c8c4557a
Update README.rst
2020-08-07 20:58:29 -07:00
e4c954ff0e
Update README.rst
2020-08-07 16:03:15 -07:00
c13f79e09e
Merge release branch
2020-08-07 07:01:21 -07:00
d7921d649a
Update README.rst
2020-08-06 19:41:17 -07:00
cd4af11efc
Update version
2020-08-06 08:51:01 -07:00
1ebc2f7cc6
Bump version
2020-08-06 07:41:04 -07:00
f4c997062a
Fix changelog
2020-08-06 07:40:46 -07:00
72920ba30a
Update changelog
2020-08-06 07:39:37 -07:00
0907c08ae5
Fix handling of default alignmment with locale ( #1801 )
2020-08-06 07:39:09 -07:00
37c8f4eaf3
Don't use 128 bit integers with clang-cl ( #1800 )
...
clang-cl currently has a long-standing bug that using 128 bit integers
generates references to symbols that are provided neither by its own nor
by the Microsoft runtime: https://bugs.llvm.org/show_bug.cgi?id=25305
2020-08-06 07:38:57 -07:00
eaaaec9992
Workaround a bug in msvc
2020-08-06 07:38:51 -07:00
ccf8561cb3
Workaround broken numeric_limites, part 2 ( #1787 )
2020-08-06 07:38:32 -07:00
0cc73ebf79
Report error on missing named argument ( #1796 )
2020-08-06 07:38:18 -07:00
33efc3c94f
Fix handling of iterators in locale-specific formatting ( #1782 )
2020-08-06 07:38:08 -07:00
4a4fc225ed
Update changelog
2020-08-06 07:34:56 -07:00
61602a75db
Remove -Wno-shadow
2020-08-05 10:55:09 -07:00
2f8fc29e9b
Update README.rst
2020-08-05 10:53:49 -07:00
717b226b59
include/fmt/format.h: explicit cast to std::size_t for parameter to buffer.resize() in order to get rid of warning 'implicit conversion changes signedness:' in clang-8 ( #1802 )
...
Co-authored-by: Martin Wührer <martin.wuehrer@artech.at >
2020-08-05 09:37:10 -07:00
2a69f56769
Tweak buffer size
2020-08-05 08:22:12 -07:00
ea76933802
Simplify ostream
2020-08-04 20:11:43 -07:00
5413713c95
Remove unused function
2020-08-04 19:08:06 -07:00
57f462428d
Increase the default buffer size
2020-08-04 08:19:19 -07:00
0b6e7cc60a
Update README.rst
2020-08-03 21:51:48 -07:00
e587adb4e9
Simplify count_digits
2020-08-03 15:45:48 -07:00
279d698e1b
Fix handling of default alignmment with locale ( #1801 )
2020-08-03 10:51:42 -07:00
76cfb50b2d
Test complex formatter
2020-08-03 10:05:18 -07:00
208291205d
Optimize count_digits
2020-08-02 07:58:36 -07:00
8d9ab96736
Cut a few cycles from count_digits
2020-08-01 18:33:53 -07:00
734344931f
Simplify ostream_params
2020-08-01 18:33:53 -07:00
2a47a1e48f
Update README.rst
2020-08-01 12:00:01 -07:00
7c4c5c79d2
Make buffer size configurable
2020-08-01 10:53:58 -07:00
f0b84da5ff
Don't use 128 bit integers with clang-cl ( #1800 )
...
clang-cl currently has a long-standing bug that using 128 bit integers
generates references to symbols that are provided neither by its own nor
by the Microsoft runtime: https://bugs.llvm.org/show_bug.cgi?id=25305
2020-07-30 17:21:35 -07:00
a3dfd6f927
Workaround a bug in msvc
2020-07-30 11:13:54 -07:00
51d05521e9
Workaround broken numeric_limites, part 2 ( #1787 )
2020-07-30 09:42:24 -07:00
21c8b5c142
Report error on missing named argument ( #1796 )
2020-07-30 07:16:15 -07:00
d82fdcc9e2
Fix handling of iterators in locale-specific formatting ( #1782 )
2020-07-30 07:03:11 -07:00
633213d96f
Merge release branch
2020-07-29 08:52:53 -07:00
b9d749095e
Update version
2020-07-29 07:30:55 -07:00
86b63bb71a
Bump version
2020-07-29 07:14:25 -07:00
cbf6be9604
Update changelog
2020-07-29 07:07:56 -07:00
229ee9b469
Workaround broken numeric_limits ( #1725 )
2020-07-29 07:06:45 -07:00
2b7a146fa1
Fix a regression in handling digit separators ( #1782 )
2020-07-29 07:04:11 -07:00
89d0c7124b
Fix compatibility with CMake 3.4 ( #1779 )
2020-07-29 07:03:59 -07:00
e8f2580a43
Bump version
2020-07-28 09:25:15 -07:00
6cefe55ac7
Update changelog
2020-07-28 09:15:02 -07:00
64e2da15cd
Update README.rst
2020-07-28 08:35:28 -07:00
1c8c810f88
Update README.rst
2020-07-28 08:32:37 -07:00
c2399ccfca
Update README.rst
2020-07-28 08:21:04 -07:00
a7c5db06d5
Update README.rst
2020-07-28 08:18:10 -07:00
a4c22acd0a
Update README.rst
2020-07-26 12:12:31 -07:00
0c1f4b5a0d
Update README.rst
2020-07-26 10:57:59 -07:00
63b422ee5e
Update README.rst
2020-07-26 10:37:00 -07:00
26e81a6731
Update README.rst
2020-07-26 10:29:03 -07:00
de5fc6af3b
Update README.rst
2020-07-26 10:19:55 -07:00
9c2edfd1aa
Partially revert 638db5 because it breaks the doc build
2020-07-26 09:44:37 -07:00
810357c014
Document color
2020-07-26 08:22:56 -07:00
0a7032a400
Update README.rst
2020-07-26 08:14:18 -07:00
95d3abf95c
Make format_to_n part of the core API
2020-07-24 09:25:26 -07:00
98626093d2
Correct the locale format specifier in api.rst ( #1792 )
2020-07-23 21:01:54 -07:00
47f8d7a345
Make formatted_size part of the core API
2020-07-23 08:51:38 -07:00
46a63b7087
Update docs
2020-07-23 07:12:19 -07:00
430f393d6f
Disabled __attribute__((deprecated)) usage for LCC ( #1790 )
2020-07-23 06:34:03 -07:00
febffa4e64
Make join() handle non-const-only begin/end ranges ( #1786 )
...
See fmtlib/fmt#1784 .
Add tests that demonstrate the problem and check obvious variations.
2020-07-21 12:13:00 -07:00
d69e2da221
Fix apidoc
2020-07-20 10:38:14 -07:00
ce73ea37fb
Reorder functions
2020-07-20 09:42:14 -07:00
d39d661b18
Workaround broken numeric_limits ( #1725 )
2020-07-20 08:39:15 -07:00
c228bfe882
Improve docs
2020-07-20 07:56:20 -07:00
38ce19f738
Update README.rst
2020-07-20 07:29:57 -07:00
d11849bc0b
Add FMT_REDUCE_INT_INSTANTIATIONS flag ( #1781 )
...
* Remove <typename UInt> from int_writer
Reduce code bloat by removing multiple instantiation of int_writer based
on the <typename UInt> parameter.
Rationale:
- The only functions that gains a speedup by int size would be
int_writer::on_dec()'s call to count_digits which uses CLZ. Thus to
still take advantage of this speedup, we store the size of the int
so we can use a switch statement to call the correct count_digits.
- All other implementations of count_digits require some sort of looping
that terminates when the value hits zero regardless of what sized int
it is.
Caveats:
- There is a performance hit when dealing with and passing around
64-bit/128-bit values compared to 32-bit values on 32-bit platforms,
and with 64-bit values on 64-bit systems. But this should not reduce the
performance that dramatically.
- There is also a performance hit for on_dec() due to the addition of a
switch case. But, due to it size, this should reduce to a jump table.
Resolves #1778
* Add FMT_USE_SMALLEST_INT flag
When defined and set to zero, will use the largest available integer
container for writing ints. The has the benefit of reducing instances
the of int_writer class which will reduce the binary cost.
* Rename flag to FMT_REDUCE_INT_INSTANTIATIONS
Add comment above FMT_REDUCE_INT_INSTANTIATIONS definition describing
why a developer would use it.
* Move FMT_REDUCE_INT_INSTANTIATIONS to format.h
Co-authored-by: Khalil Estell <kammce@google.com >
2020-07-19 13:09:10 -07:00
c08518a25b
Move make_args_checked to the public API
2020-07-19 10:23:46 -07:00
e2837084ee
Add a color section
2020-07-19 09:51:52 -07:00
9f0c003371
Simplify format string checks
2020-07-19 09:24:11 -07:00
d615137ca0
Improve handling of buffer iterator
2020-07-19 09:02:26 -07:00
26b47b6fb5
Bump tested CMake version to 3.18
...
Use the version range feature introduced in 3.12. On CMake <3.12 the extra dots are simply interpreted as extra version number separators.
The fallback for ancient CMake versions is kept.
2020-07-19 08:50:34 -07:00
7a01c9c523
Update README.rst
2020-07-18 09:17:10 -07:00
b17d5c4f5d
Fix a regression in handling digit separators ( #1782 )
2020-07-18 08:31:47 -07:00
eb90da2e82
Type erase output iterators
2020-07-18 07:50:29 -07:00
9d3cd0afb2
Type erase output iterators
2020-07-17 12:57:50 -07:00
18024853b6
Fix compatibility with CMake 3.4 ( #1779 )
2020-07-17 06:41:25 -07:00
f5d4215b7c
Trying to clear ambiguous compile time claims ( #1775 )
...
* Trying to clear ambiguous compile time claims
Documentation was a bit misleading.
Many people assume that fmt does compile time checks by default, while it requires the use of `FMT_STRING`.
It was also unclear that FMT_COMPILE does the same checks.
https://github.com/fmtlib/fmt/issues/1772
* Update api.rst
2020-07-16 06:19:49 -07:00
c26349f4d2
Improve error reporting
2020-07-14 12:06:12 -07:00
f4b11ef6e2
Add a short anchor
2020-07-14 09:39:22 -07:00
0097cf113d
Report unformattable type name more prominently
2020-07-13 08:46:53 -07:00
8fa20b471b
dev -> latest
2020-07-13 06:15:47 -07:00
a03bd3ddb0
Autodetect MSVC static runtime ( #1770 )
...
* Autodetect MSVC static runtime
* Update condition (MSVC)
2020-07-13 06:11:23 -07:00
c108ee1d59
Clarify a comment
2020-07-12 10:59:33 -07:00
a8074a865a
Update README.rst
2020-07-12 09:57:02 -07:00
5f62954864
Update README.rst
2020-07-12 09:55:24 -07:00
bd903f96ac
Clarify precedence
2020-07-12 09:02:31 -07:00
16cac46a09
Improve handling of streamable and convertible to bool types ( #1766 )
2020-07-12 08:34:45 -07:00
415cd51913
direct_buffered_file -> ostream
2020-07-11 17:29:17 -07:00
e1bfb59619
Fix handling of code units in compile
2020-07-11 09:03:21 -07:00
ba8d98cbb7
Cleanup direct_buffered_file
2020-07-11 08:27:37 -07:00
04a1f6e991
Improve handling of single code units in compile
2020-07-11 08:21:14 -07:00
e4f57bfd7f
Add an overload of write for buffer_appender
2020-07-11 08:20:30 -07:00
d870468159
Make append work with fixed-size buffer
2020-07-11 07:27:20 -07:00
e8ec09ae83
Cleanup core-test
2020-07-10 21:25:27 -07:00
a2c4fed981
Double buffering no more
2020-07-10 20:35:14 -07:00
36406509d9
Add a fixed buffer
2020-07-10 06:30:37 -07:00
60c43e8703
Apply clang-format
2020-07-09 09:06:24 -07:00
b998e0f30b
Reduce symbol sizes and simplify iterator use
2020-07-09 08:51:43 -07:00
c5adfc51c5
Update README.rst
2020-07-09 06:21:02 -07:00
c4ad94ce26
Update README.rst
2020-07-08 18:17:26 -07:00
c1429651eb
Fix image source link
2020-07-08 13:34:47 -07:00
638db5ca5e
Use Cmake to find Python and Sphinx-doc.
...
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org >
2020-07-08 08:06:57 -07:00
c090569751
Update readme
2020-07-08 08:01:36 -07:00
1efdb2dde4
Simplify readme
2020-07-08 07:47:18 -07:00
dc69afad14
Cleanup example
2020-07-08 07:44:36 -07:00
445f5d392b
Break long lines
2020-07-08 07:36:07 -07:00
23063c3444
Update readme
2020-07-08 07:11:13 -07:00
f57b62575c
Move PR template to the top level
2020-07-08 07:01:19 -07:00
f19b1a521e
Update version
2020-07-07 07:47:44 -07:00
5c67fefb26
Fix a changelog entry
2020-07-07 06:58:44 -07:00
1d2a556e1b
Fix undefined reference error
2020-07-07 06:37:17 -07:00
04c9b62fb4
Merge release branch
2020-07-07 06:34:39 -07:00
6be6762e57
Fix date
2020-07-07 06:32:19 -07:00
f1dd2eb3c0
Bump version
2020-07-07 06:24:32 -07:00
fbf3b943cc
Workaround a bug in gcc
2020-07-07 06:06:50 -07:00
a29a01d304
Fix docs
2020-07-07 06:05:00 -07:00
9f0b3afb79
Bump version in namespace
2020-07-06 09:47:27 -07:00
86b2f99f8c
Fix the docs
2020-07-06 07:53:07 -07:00
c472ff12d8
Update version
2020-07-06 06:45:20 -07:00
5173a76ba4
Update version
2020-07-05 08:43:47 -07:00
1614af3520
Minor corrections in the changelog
2020-07-05 08:43:01 -07:00
569a9b3a7f
Bump version
2020-07-05 07:59:11 -07:00
4e7e3c65a3
Update docs
2020-07-05 07:32:43 -07:00
0f7a6bfa12
Add a section on std::format compatibility
2020-07-05 07:07:29 -07:00
4faec5a5ee
Update README.rst
2020-07-05 06:41:51 -07:00
7dbc8ac716
Update changelog
2020-07-05 06:29:05 -07:00
c87dd746fa
Update changelog
2020-07-05 06:21:54 -07:00
372175caf8
Revert changelog changes
2020-07-05 06:21:54 -07:00
9047548766
Add ClickHouse to the list of projects ( #1751 )
2020-07-05 05:57:04 -07:00
d30bca64e3
Revert changelog conversion since GFM is not supported there
2020-07-04 17:43:30 -07:00
d6047cdc4a
Update changelog
2020-07-04 15:46:48 -07:00
810241b36e
Convert changlog to markdown
2020-07-04 15:20:33 -07:00
661c474739
Rename changelog
2020-07-04 15:14:42 -07:00
7c33059fad
Update ChangeLog.rst
2020-07-04 10:16:55 -07:00
9e20883ab3
Update README.rst
2020-07-04 09:37:27 -07:00
41899d5225
Update changelog
2020-07-04 09:31:12 -07:00
f42f459089
Update changelog
2020-07-04 08:40:42 -07:00
2381df654f
Update readme
2020-07-04 08:27:57 -07:00
7ae816563e
Update README.rst
2020-07-04 08:20:45 -07:00
c56cf3d074
Update changelog and readme
2020-07-04 08:20:10 -07:00
01309a34ab
Deprecate arg_formatter
2020-07-04 07:29:11 -07:00
a62d060554
Update changelog
2020-07-04 07:24:49 -07:00
23e3a2eee8
Update changelog
2020-07-03 19:39:08 -07:00
d8e0554b97
Disable numeric formatting by default
2020-07-03 10:35:49 -07:00
1e8eea4f44
Update changelog
2020-07-03 10:31:14 -07:00
44bd5384a9
Fix formatting
2020-07-03 09:18:18 -07:00
20e19387a2
Update changelog
2020-07-03 09:14:11 -07:00
56fed78149
FMT_NUMERIC_ALIGN -> FMT_DEPRECATED_NUMERIC_ALIGN
2020-07-03 08:53:01 -07:00
56e63078ff
Make the n specifier an opt-in
2020-07-03 08:02:48 -07:00
31ce6bc702
Fix a conversion warning with Clang10 on Windows ( #1750 )
...
Fixes #1747
2020-07-03 05:53:42 -07:00
c9c5b90da7
Fix a typo. Thanks Tracy Chapman from TripleChecker
2020-07-02 15:09:34 -07:00
1f3f84631c
Fix a typo
2020-07-02 07:29:38 -07:00
5de62af604
Fix possible infinite recursion in FMT_ASSERT ( #1744 )
...
Use std::fprintf for assertion message output preventing infinite
recursion when output to stderr is limited or broken.
2020-07-01 08:28:27 -07:00
cbddab2fe2
Use consistent include style
2020-06-29 09:59:25 -07:00
f69b6eaabd
Add a simple buffered stream with no sync
2020-06-28 09:55:29 -07:00
ba363b3a24
Use digit pairs as in unrolledlut
2020-06-27 12:05:38 -07:00
a6f8e7d860
Update changelog
2020-06-27 09:35:02 -07:00
e753244ab6
Update changelog
2020-06-27 06:02:34 -07:00
98a7a8b405
Update changelog and disable internal
2020-06-26 19:07:33 -07:00
3135d95fd9
Don't use non-portable attribute
2020-06-26 10:21:14 -07:00
8630a8f5ff
Tweak the docs
2020-06-25 11:29:49 -07:00
cc3a88e6b3
Extract docs from compile.h
2020-06-25 08:36:07 -07:00
79c4b6bd70
Apply clang-format
2020-06-25 08:12:10 -07:00
d130ee070f
Document format string compilation
2020-06-25 08:12:10 -07:00
d0f90b5be7
Spelling fixes
2020-06-24 06:29:54 -07:00
6e080660dc
Update README.rst
2020-06-24 06:26:58 -07:00
31c3a24266
Spelling fixes
2020-06-23 15:56:16 -07:00
613b3b459d
Spelling fixes
2020-06-23 15:55:31 -07:00
978521bb81
Fix a compile error introduced in #1738
2020-06-23 15:17:43 -07:00
4e94c649f9
Deprecate compile
2020-06-23 14:03:37 -07:00
1a83443e6c
Add user-defined type support to compilation
2020-06-23 12:45:57 -07:00
8bef1c3b3a
Tweaks for EDG based compilers (Intel, nVidia, MCST/Elbrus, etc).
...
Using the __EDG_VERSION__ macro for checks related to EDG-based
compilers instead of a macros specific for each of ones.
2020-06-23 05:50:25 -07:00
b287c37c65
Do not use -Wl,--as-needed with emscripten.
...
On some platform, fmt is using the following link flag:
```cmake
target_link_libraries(fmt -Wl,--as-needed)
```
This is not supported by wasm-ld as of today.
This patch stop using it when compiling using emscripten.
Bug: https://github.com/fmtlib/fmt/issues/1736
2020-06-21 11:46:04 -07:00
2cac8a9d2e
Reintroduce UDT support to fmt::to_string and test ADL
2020-06-21 09:21:07 -07:00
9a4cc88426
Add FMT_COMPILE support to format_to
2020-06-20 15:15:41 -07:00
5ddf9ee1bd
Streamline default FP formatting
2020-06-20 07:12:50 -07:00
0b3a83f7f4
Update README.rst
2020-06-20 05:37:58 -07:00
5aa5c98738
Added #define WIN32_LEAN_AND_MEAN before including windows.h ( #1729 )
...
Co-authored-by: gabime <gmelman1@mgail.com >
2020-06-17 07:44:03 -07:00
397ad1bec3
Optimize common case
2020-06-15 18:30:31 -07:00
7431165f38
Make to_string bypass format
2020-06-15 17:55:16 -07:00
ee4d4c7fd0
Inline compiled format
2020-06-14 11:38:39 -07:00
ab2f8484e0
Finish text::format
2020-06-14 11:04:41 -07:00
e900d735bb
Re-enable assert in format_decimal
2020-06-14 09:30:03 -07:00
f4de7b684a
Fix ambiguity
2020-06-14 08:26:12 -07:00
1f8f5450b5
Reuse format_decimal
2020-06-14 07:42:52 -07:00
d702a68df2
Fix formatting of bool with FMT_COMPILE and add more tests
2020-06-14 07:16:50 -07:00
e956a14e9e
Use write instead of format_int in to_string
2020-06-13 20:07:08 -07:00
98dcc251eb
Undo branching reduction
2020-06-13 18:23:52 -07:00
5b8641dddf
Undo branching reduction
2020-06-13 16:50:55 -07:00
8c88abde64
Fix sign handling in 'L'
2020-06-13 06:57:19 -07:00
23b976a615
Reduce branching
2020-06-12 19:46:00 -07:00
9edee0e727
Optimize small string parsing
2020-06-12 19:22:33 -07:00
a909d42b76
Fix a warning
2020-06-12 13:49:31 -07:00
16637341b9
Enable compilation for all types
2020-06-12 13:27:21 -07:00
2d71d7e030
Add a simple format string compilation API
2020-06-12 08:37:15 -07:00
d259fcfb05
Tweak comments
2020-06-12 06:22:05 -07:00
704ed557a1
Move project in order to solve a CMake warning
...
CMake Warning (dev) at /usr/share/cmake-3.17/Modules/GNUInstallDirs.cmake:225 (message):
Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
target architecture is known. Please enable at least one language before
including GNUInstallDirs.
2020-06-12 06:04:31 -07:00
8603bd20d0
Update README.rst
2020-06-11 17:25:20 -07:00
547f12ae63
Fix a warning ( #1722 )
2020-06-11 15:02:42 -07:00
f904e8a1b4
c++11 use formatting user-defined types ( #1721 )
2020-06-11 10:10:39 -07:00
100e8af08a
Update README.rst
2020-06-10 07:46:01 -07:00
c11d0f056e
Update README.rst
2020-06-10 07:02:12 -07:00
2453ee576a
Improve default formatting
2020-06-09 08:59:01 -07:00
47ae521557
MINGW cross compiler fixes
2020-06-09 06:19:22 -07:00
936a1833c2
Add default_arg_formatter
2020-06-08 08:14:34 -07:00
f2c9cb6244
Fix a UB
2020-06-08 06:32:11 -07:00
d3107f8551
Cleanup arg_formatter_base
2020-06-07 20:55:38 -07:00
5e7c70e206
Simplify arg_formatter_base
2020-06-07 19:38:43 -07:00
38cc68b3e5
Inline visitor
2020-06-07 08:36:33 -07:00
6732ea5000
Make symbols readable
2020-06-07 07:49:11 -07:00
57ddc77ce7
Make advance_to a noop for back_insert_iterator
2020-06-06 19:36:39 -07:00
50bad7d62d
Optimize format string parsing
2020-06-06 10:15:19 -07:00
8f7a824e47
Inline visit
2020-06-06 09:02:32 -07:00
f11e968708
Optimize format string parsing
2020-06-06 08:15:33 -07:00
09737dd83b
Optimize format handler
2020-06-06 07:17:02 -07:00
d9e3d6e6ed
Move format_handler to detail
2020-06-06 06:38:48 -07:00
795b47a7b5
Fix a warning ( #1712 )
2020-06-05 08:24:09 -07:00
95c6ac0cc8
fix typo which caused the loss of the counting information when using a printf context with a truncating_iterator
2020-06-05 07:37:54 -07:00
21409cfdda
Fix warnings
2020-06-04 07:50:07 -07:00
88c8d534e7
Move digits10 to where they belong and add comments
2020-06-04 06:39:18 -07:00
0f3eaeac0a
Fix a warning
2020-06-04 06:33:11 -07:00
344218510d
Ignore /doc/node_modules directory
2020-06-04 05:19:39 -07:00
16aec06179
Cleanup arg_formatter_base
2020-05-31 10:58:52 -07:00
1e1193590d
Fix format_decimal overloads
2020-05-31 10:12:34 -07:00
0893c9c2ef
Inline parse_format_string
2020-05-30 20:30:18 -07:00
3245145a41
Remove undocumented buffer_range and output_range
2020-05-30 13:07:52 -07:00
57fc44907f
Increase VM disk size
2020-05-30 11:25:40 -07:00
7d22bebb6f
Remove uses of buffer_range
2020-05-30 06:50:45 -07:00
8f2b5fe74d
Don't install sphinx cache files
...
When building documentation sphinx creates cached files in the .doctrees
directory and aren't required for viewing documentation only for
building. As added benefit this makes fmt reprodcubile as the cached
files are different when the build environment is varied.
2020-05-30 06:14:02 -07:00
f095c67b6a
Remove uses of buffer_range
2020-05-29 18:14:03 -07:00
5aabf1f715
Simplify copy_str
2020-05-29 17:59:08 -07:00
19c5b5d159
Simplify arg_formatter
2020-05-29 16:53:12 -07:00
519571edec
Simplify arg_formatter_base
2020-05-29 14:44:18 -07:00
ac8dfd841f
Improve handling of separators
2020-05-29 08:15:44 -07:00
2c6165a22b
Reduce the number of comparisons
2020-05-29 05:42:35 -07:00
28639969ef
Use memcpy for copying digits
2020-05-28 22:33:08 -07:00
f5fa1dee54
Support custom FMT_INC_DIR in pkgconfig and cmake configs ( #1702 )
...
* Support custom FMT_INC_DIR in pkgconfig and cmake configs
When CMAKE_INSTALL_INCLUDEDIR or FMT_INC_DIR override the header
installation directory, they should be used instead of
${CMAKE_INSTALL_PREFIX}/include in fmt-targets.cmake and fmt.pc.
* Put headers into FMT_INC_DIR/fmt rather than directly into FMT_INC_DIR
This makes FMT_INC_DIR an alias for CMAKE_INSTALL_INCLUDEDIR and
simplifies generation of pkgconfig and cmake configs.
* Do not split target_include_directories
2020-05-28 08:17:34 -07:00
51bf9cfacb
Fix Mingw support
...
If the ``_POSIX_`` flag is set, _fdopen will not be defined by
Mingw headers, which is addressed by this commit.
For what is worth, as opposed to ``fdopen``, ``_pipe`` *will*
actually have the ``_`` prefix when ``_POSIX_`` is set.
2020-05-26 06:39:22 -07:00
1a716caf5d
Optimize common case
2020-05-25 19:16:35 -07:00
98d4bbf813
Update README.rst
2020-05-24 06:28:35 -07:00
8c8f74a870
fix zero flag for char types and make zero flag ignored if a precision is specified
2020-05-23 12:46:26 -07:00
bc1b89da26
Temporarily revert parsing changes
2020-05-22 15:39:33 -07:00
a7fb321ac6
Remove a redundant branch
2020-05-22 15:39:33 -07:00
8cadb96506
fix max/min macro ( #1697 )
2020-05-22 06:38:43 -07:00
297c3b2ed5
Fix an example (thanks Alexey Kuzmenko)
2020-05-20 15:52:19 -07:00
943532fece
Make ostream formatter work with compile-time format strings ( #1692 )
2020-05-20 14:59:57 -07:00
bd8804019b
Update README.rst
2020-05-19 19:25:46 -07:00
f230300ac5
Knuth is using fmt library ( #1691 )
2020-05-19 18:08:32 -07:00
a265e25b79
Optimize small string parsing
2020-05-19 13:44:22 -07:00
2aa2526f64
Optimize small string concatenation
2020-05-19 11:45:09 -07:00
8d78045e7c
Move void_t to where it's used
2020-05-18 10:46:25 -07:00
7aafa6bc64
Update analytics
2020-05-18 10:26:22 -07:00
c66aae1652
Adding sentinel support to fmt::join(). ( #1689 )
2020-05-18 06:31:01 -07:00
6d66de3805
Add c specifier support to integral types ( #1652 )
2020-05-17 08:44:59 -07:00
6b219a58db
fix interaction of space flag and '+' flag, as well as '-' flag and '0' flag ( #1687 )
2020-05-17 04:27:18 -07:00
eee2023c2a
Update signatures
2020-05-15 15:25:02 -07:00
c5ed73aab2
Add fmt::detail::buffer to the docs ( #704 )
2020-05-15 14:35:55 -07:00
ea1cd9638c
Fix apidoc
2020-05-15 10:03:02 -07:00
d3964d7b1e
Merge branch 'master' of github.com:fmtlib/fmt
2020-05-15 09:43:38 -07:00
d18c6723a2
Update docs
2020-05-15 09:43:35 -07:00
96c18b26c2
make plus flag for printf not be ignored for char argument ( #1683 )
...
* make plus flag for printf not be ignored for char argument
* clarify overwriting of alignment specifiers for printf with char argument
2020-05-15 06:45:51 -07:00
ba25baeb97
Apply doc patch to 6.2.1
2020-05-14 19:11:40 -07:00
981b517ccf
nested replacement fields may omit arg_id ( #1681 )
...
syntax.html already has examples like `fmt::format("{:.{}f}", 3.14, 1)` using this,
and https://en.cppreference.com/w/cpp/utility/format/formatter#width_and_precision shows that this is the case for the C++20 std::format
The Format Specification Mini-Language grammar seems to be the only one not showing this; update it to match.
2020-05-13 17:20:05 -07:00
922ea924bf
Make dynamic_format_arg_store reusable and add reserve() ( #1677 )
...
Implemented #1674 : make dynamic_format_arg_store reusable and add
reserve() for better memory menagement.
2020-05-12 11:00:42 -07:00
e0d98923c7
Update version
2020-05-10 18:05:46 -07:00
8069265373
internal -> detail ( #1538 )
2020-05-10 07:34:30 -07:00
963ee08310
Simplify named arguments
2020-05-09 16:43:31 -07:00
02a6fe59fb
Named arguments go brrr
2020-05-09 13:22:38 -07:00
de290f5c4c
Ditch internal::arg_map
2020-05-09 12:43:11 -07:00
d0623de510
Bump version
2020-05-09 10:57:04 -07:00
73e335ed38
Make implicit capture explicit for C++20 ( #1669 )
2020-05-09 10:55:37 -07:00
b4d46e3988
Update changelog
2020-05-09 10:05:16 -07:00
a182f7341e
Update changelog
2020-05-09 08:30:31 -07:00
68201831a5
Support named args in dynamic_format_arg_store ( #1655 ). ( #1663 )
...
Dynamic arguments storage. Implementation of enhancement from issue
#1170 .
2020-05-09 06:25:03 -07:00
7f723fbcb8
Consistently namespace qualify size_t
2020-05-07 15:59:46 -07:00
c06851456d
Purge basic_writer
2020-05-07 15:04:48 -07:00
2f05054dd3
Purge basic_writer
2020-05-07 11:35:41 -07:00
f0ce21164c
Revert enum change
2020-05-07 07:25:33 -07:00
44639b11fe
Fix some warnings ( #1667 )
...
* Fix sign-conversion warning
* Add missing "extern template" declarations for non-header-only build
* Use typed enums to fix Wsigned-enum-bitfield warnings
* Consolidate FMT_HEADER_ONLY code
2020-05-07 06:14:07 -07:00
1c86a99e8f
Purge basic_writer
2020-05-06 18:46:01 -07:00
8f511fc12f
Make copyfmt not throw ( #1666 )
2020-05-06 17:38:46 -07:00
59fe455f36
Remove compatibility stubs
2020-05-06 07:31:35 -07:00
b0f47a13e6
Separate nonfinite formatting
2020-05-06 07:19:37 -07:00
d6cea50d01
Remove deprecated APIs
2020-05-05 20:03:48 -07:00
40bc7163fb
Move FMT_MAYBE_UNUSED to where it's actually used
2020-05-05 19:41:07 -07:00
080e44d0bf
Fix inconsistent type detection ( #1662 )
2020-05-05 19:09:21 -07:00
7e57cace5d
Exclude std::abort from compilation when compiling CUDA with Clang ( #1661 )
2020-05-04 06:21:21 -07:00
7b66e2f219
Inherit arg_formatter_base from basic_writer
2020-05-03 21:05:45 -07:00
bab3f58003
Refactor pointer formatting
2020-05-03 20:33:25 -07:00
9cc7edfddc
Move int_writer to the namespace scope
2020-05-03 17:34:48 -07:00
8d9d528bf5
Improve handling of alignment
2020-05-03 10:58:18 -07:00
8efd1a8ef6
Improve handling of alignment
2020-05-03 10:08:57 -07:00
a71bc9c825
Use '0' fill with numeric align for consistency with std::format
2020-05-03 09:52:31 -07:00
60d85d598c
Suppress ubsan warning
2020-05-03 08:43:10 -07:00
c3099beb6f
Cleanup
2020-05-02 22:00:34 -07:00
cbb4cb8991
Remove undocumented deprecated APIs
2020-05-02 21:34:44 -07:00
b85e9ac38b
Simplify vformat_to
2020-05-02 21:34:44 -07:00
e3710ab972
FMT_CONSTEXPR -> constexpr
2020-05-02 21:34:44 -07:00
d59751f0f0
Update date formatting example to use threadsafe localtime
2020-05-02 09:04:31 -07:00
d6abb2fa03
Reduce library size
2020-05-01 17:23:45 -07:00
e9fdea90b5
Update README.rst
2020-05-01 10:40:07 -07:00
44b6584f22
Update README.rst
2020-05-01 10:39:28 -07:00
78f041ab5b
build: Fix installation paths
...
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:
https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
2020-05-01 10:27:24 -07:00
7ca89bf87a
Reduce template bloat in write_int
2020-05-01 07:56:57 -07:00
3c114d091b
Fix a shadowing warning ( #1658 )
2020-05-01 07:00:25 -07:00
e2ef12a8c0
Allow to avoid inclusion of os.cc in fmt target
...
- Allows to avoid part of #1654
- Not possible to use with MASTER_PROJECT as testing uses it a lot
2020-05-01 06:24:22 -07:00
bca82719ab
Pass iterator by value
2020-04-30 21:06:17 -07:00
99da389627
Make write_padded non-members
2020-04-30 16:05:30 -07:00
f19d667943
Bump fuzzer allocation limit
2020-04-30 08:45:50 -07:00
3e69847616
Reduce branching in write_padded
2020-04-30 06:33:45 -07:00
9ac1eebd47
Reduce library size
2020-04-29 17:37:05 -07:00
e2ff910675
Replace FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION with fmt-specific macro ( #1650 )
...
Signed-off-by: Asra Ali <asraa@google.com >
2020-04-29 09:12:43 -07:00
f2ed03b919
Fix a warning ( #1649 )
2020-04-28 06:39:24 -07:00
9dde9f0131
Reduce library size
2020-04-27 20:43:30 -07:00
b1af642d1d
Reduce library size
2020-04-27 18:50:49 -07:00
4a617f25c6
Clarify encoding conversion in chrono
2020-04-27 09:57:08 -07:00
6f435f55c8
Improve compile time by using extern template ( #1452 )
2020-04-26 14:02:15 -07:00
cb475cb884
Clarify why we don't check argument id
2020-04-26 13:38:42 -07:00
1e1ac6e964
Check dynamic width/precision id at compile time ( #1614 )
2020-04-25 08:36:24 -07:00
e51c449fe6
Revert "Check dynamic widht/precision id at compile time ( #1614 )"
...
This reverts commit 7d748a6f82
.
2020-04-25 07:43:56 -07:00
0463665ef1
Don't access a C string past precision in printf ( #1595 )
2020-04-22 17:10:23 -07:00
7d748a6f82
Check dynamic widht/precision id at compile time ( #1614 )
2020-04-22 14:45:37 -07:00
2b75bd7ce6
Get rid of do_check_format_string
2020-04-22 12:15:29 -07:00
4a1d5931cb
Simplify udl_formatter with FMT_STRING
2020-04-22 11:26:05 -07:00
811b0f9054
Enable compile-time error tests
2020-04-22 11:00:20 -07:00
450e8eed97
Fix markup
2020-04-22 09:30:09 -07:00
b8fbcec1be
Clarify formatter reuse
2020-04-22 09:15:52 -07:00
56bc86ffac
Suppress bogus MSVC analysis warnings
2020-04-22 07:51:25 -07:00
3f79357ef0
Fix a recent regression in handling max packed arguments
2020-04-22 07:15:19 -07:00
8a11148f99
Add Facebook Folly to the list of projects
2020-04-22 06:16:07 -07:00
e371e8b686
Tweak readme
2020-04-22 06:13:36 -07:00
813732fede
Improve readme formatting
2020-04-22 06:07:12 -07:00
3670d5b3f6
README: add vectorized.io/redpanda in the list of users
2020-04-22 06:04:09 -07:00
9e2ad7cf68
Add windows terminal to the projects using {fmt}
2020-04-21 15:47:04 -07:00
63479c8519
Use a delegating ctor and add inlines
2020-04-20 19:17:16 -07:00
5944fcad37
Remove remaining wchar_t instantiation
2020-04-19 16:48:15 -07:00
e253b371b2
Don't generate RTTI for allocator
2020-04-19 15:57:48 -07:00
0c86f467bc
Fix build on ancient gcc
2020-04-19 09:52:40 -07:00
1929df4bc2
Simplify format_args
2020-04-19 09:21:39 -07:00
a138221813
Always inline arg_data functions
2020-04-19 08:20:00 -07:00
04e0dfd4bd
Always inline value ctors
2020-04-19 08:05:02 -07:00
04cde756bc
Simplify checks
2020-04-19 07:35:19 -07:00
c9a57b9a81
Fix incorrect assumptions about nul termination
2020-04-18 06:51:52 -07:00
f46f5ecaf0
Reenable constexpr _compile on GCC 9
2020-04-17 06:10:57 -07:00
6e8d7e2776
Don't use constexpr on Intel compiler ( #1628 )
2020-04-16 07:08:04 -07:00
567ed03f88
Merge arg overloads and cleanup
2020-04-15 08:44:58 -07:00
c3fa333140
Remove warning in core.h with when compiling with gcc and -Wshadow
...
In file included from build/_deps/fmt-src/include/fmt/format.h:44:0,
from src/main.cpp:5:
build/_deps/fmt-src/include/fmt/core.h: In member function ‘const T& fmt::v6::internal::dynamic_arg_list::push(const Arg&)’:
build/_deps/fmt-src/include/fmt/core.h:1256:10: error: declaration of ‘node’ shadows a member of ‘fmt::v6::internal::dynamic_arg_list’ [-Werror=shadow]
auto node = std::unique_ptr<typed_node<T>>(new typed_node<T>(arg));
^~~~
build/_deps/fmt-src/include/fmt/core.h:1236:37: note: shadowed declaration is here
template <typename = void> struct node {
2020-04-15 07:31:24 -07:00
84898b4626
Remove warning in format.h when compiling with gcc and -Wshadow
...
build/_deps/fmt-src/include/fmt/format.h: In member function ‘decltype (ctx.out()) fmt::v6::formatter<fmt::v6::bytes>::format(fmt::v6::bytes, FormatContext&)’:
build/_deps/fmt-src/include/fmt/format.h:3251:58: error: declaration of ‘writer’ shadows a global declaration [-Werror=shadow]
internal::basic_writer<range_type> writer(range_type(ctx.out()));
^~~
build/_deps/fmt-src/include/fmt/format.h:2741:53: note: shadowed declaration is here
using writer FMT_DEPRECATED_ALIAS = internal::writer;
2020-04-15 07:31:24 -07:00
538d83fd08
Cleanup named arguments
2020-04-15 06:28:41 -07:00
8a4630686e
Improve handling of named arguments
2020-04-14 11:56:55 -07:00
a9d62d3f35
Add check for CompiledFormat to avoid ambiguous call
2020-04-14 05:59:02 -07:00
fdcf7870a2
Add stack-based named argument storage
2020-04-13 08:03:51 -07:00
5899267c47
Fix a clang-tidy warning
2020-04-12 08:27:39 -07:00
07b4c246ea
Fix a typo
2020-04-12 08:18:47 -07:00
e99809f29d
Fix ostream support in sprintf ( #1631 )
2020-04-12 07:53:17 -07:00
3cd5179f32
Fixed clang tidy warning -multiple declarations in a single statement reduces readability
2020-04-12 06:29:09 -07:00
7404e33a73
Fix clang warning about explicit ctor
2020-04-12 06:19:16 -07:00
3aab2171ed
Clean up basic_format_args
2020-04-11 08:22:53 -07:00
7645ca0724
Clean up printf
2020-04-11 08:01:00 -07:00
e30d8391e4
Suppress an MSVC warning ( #1622 )
2020-04-11 07:49:00 -07:00
8cd8ef03eb
Simplify warning suppression
2020-04-11 06:17:31 -07:00
bbb6b357c7
Add floating-point L specifier ( #1624 )
2020-04-10 07:16:20 -07:00
36ea32640f
Suppress a bogus MSVC warning
2020-04-10 06:44:07 -07:00
141a00d642
Define FMT_EXTERN_TEMPLATE_API on export
2020-04-09 11:54:55 -07:00
3860edc5d9
Bump version
2020-04-08 14:48:14 -07:00
7d01859ef1
Fix handling of unsigned char strings in printf
2020-04-08 13:05:42 -07:00
63b23e786a
Merge branch 'master' of github.com:fmtlib/fmt
2020-04-08 13:03:44 -07:00
4999796c15
Fix the docs
2020-04-08 07:52:36 -07:00
34b3f7b7aa
Avoid windows issue with min() max() macros
...
Including the ``windows.h`` file without defining ``NOMINMAX`` will define the `min()` and `max()` macros which will result in issues compiling any C++ code that uses any variant of `max`, for example `std::numeric_limits<std::streamsize>::max()` and many others. Although max() isn't used in Fmt anywhere, it is often used in codes that include a format include file so simply upgrading to the current version of lib::fmt will break the windows build which worked prior to the update...
2020-04-07 08:34:34 -07:00
27e3c0fe9b
Update signature in the docs
2020-04-06 07:17:41 -07:00
9bdd1596ce
Update version
2020-04-05 06:46:41 -07:00
d151562bdd
Fix punctuation in changelog
2020-04-04 12:49:56 -07:00
346500e70b
Fix gcc version check
2020-04-04 11:23:40 -07:00
a434a8f778
Update changelog
2020-04-04 06:34:23 -07:00
9eb47d951a
Fix markup
2020-04-03 08:49:29 -07:00
51c58a56ba
Bump version
2020-04-03 08:32:45 -07:00
3fc33f6273
Update changelog
2020-04-03 08:29:02 -07:00
2e32db5b99
Update changelog
2020-04-03 07:42:02 -07:00
c1ce6e01f7
Update changelog
2020-04-02 08:18:42 -07:00
1c3c80dc1f
Update changelog
2020-04-02 07:27:58 -07:00
d1d653d895
Implement the L specifier
2020-04-02 06:58:38 -07:00
73c8437485
Follow naming conventions
2020-04-01 09:30:28 -07:00
e588b02b17
Fix posix-mock-test
2020-04-01 08:42:14 -07:00
1a62711d01
Reduce binary size
2020-03-31 08:07:11 -07:00
5b02881582
Merge branch 'master' of github.com:fmtlib/fmt
2020-03-28 09:46:44 -07:00
a133187a8c
Update changelog
2020-03-28 09:44:27 -07:00
80ce222ca6
Fix wide print overload ( #1609 )
2020-03-28 09:44:18 -07:00
770a94edef
Use FMT_THROW macro where applicable
2020-03-27 12:17:22 -07:00
2864e8432a
Update readme and add compatibility option
2020-03-26 07:18:27 -07:00
21a295c272
Undo comment change
2020-03-25 08:14:31 -07:00
96c68afe69
Fix -Wsign-conversion warnings
2020-03-25 07:46:00 -07:00
664dd88e31
Enable FMT_STRING() use with types other than string literals
2020-03-24 12:56:21 -07:00
69779b4ed6
Fix handling of small precision in general format
2020-03-24 09:01:57 -07:00
01a172c969
Add .vs to .gitignore
2020-03-23 15:01:02 -07:00
08ca40ea91
Detect /utf-8 in MSVC
2020-03-22 08:19:38 -07:00
dd97f4920c
Improve exception safety in dynamic_format_arg_store
2020-03-21 08:58:50 -07:00
2951169481
Move FMT_USE_FLOAT and friends to fmt/format.h
2020-03-20 07:55:43 -07:00
d3e668418f
Allow disabling floating point support ( #1590 )
...
* Allow disabling floating point support
Add FMT_USE_FLOAT, FMT_USE_DOUBLE and FMT_USE_LONG_DOUBLE to allow a
user of the library to configure the float types they want to allow.
This is specially useful in embedded environements where code size is
important.
* Avoid conditional macros to disable float support
* Add is_supported_floating_point constexpr function
* Fix empty-body warning
2020-03-20 06:46:31 -07:00
52d0e1bbe3
Don't use properties when setting FMT_LIB_NAME
2020-03-19 08:35:09 -07:00
5d32ccfc31
Add back missing OUTPUT_NAME in target properties. ( #1598 )
2020-03-19 07:01:51 -07:00
3cf619de55
Simplify dynamic_format_arg_store
2020-03-17 07:13:46 -07:00
2559983e7a
Color formatting fixed for wide strings (fixes issue #1594 ) ( #1596 )
...
* Use std::char_traits::length for ansi_color_escape::begin
-Fixes issue #1594 https://github.com/fmtlib/fmt/issues/1594
2020-03-17 06:24:42 -07:00
026f99178e
Simplify dynamic store
2020-03-16 19:10:41 -07:00
9f70fc3e7a
Minor tweaks for dynamic_format_arg_store
2020-03-16 07:58:15 -07:00
6012dc9ab4
Dynamic arguments storage. Implementation of enhancement from issue #1170 . ( #1584 )
2020-03-16 07:00:29 -07:00
85050aa2e6
Ability to join elements of std::initializer_list was added
2020-03-15 16:10:00 -07:00
ff486a72a7
Allow leading zeros in precision ( #1579 )
2020-03-14 11:37:38 -07:00
678341275b
Deprecate fmt::char8_t
2020-03-14 10:32:34 -07:00
6f01b6ebb6
Fix a typo in CMake config: STRINGS -> STRING
2020-03-14 09:50:25 -07:00
61c5a51604
Fix handling of empty tuples ( #1588 )
2020-03-14 07:41:08 -07:00
02bfd8a9a5
Add FMT_HAS_CPP14_ATTRIBUTE / FMT_HAS_CPP17_ATTRIBUTE to test for language-specific attributes.
...
FMT_DEPRECATED is now defined as FMT_HAS_CPP14_ATTRIBUTE(deprecated), as this attribute was introduced in C++14.
FMT_FALLTHROUGH is now defined as FMT_HAS_CPP17_ATTRIBUTE(fallthrough), as this attribute was introduced in C++17.
FMT_MAYBE_UNUSED is defined as FMT_HAS_CPP17_ATTRIBUTE(maybe_unused), as this attribute was introduced in C++17.
FMT_MAYBE_UNUSED has been applied to fix a couple of -Wunused-member-function warnings from clang.
2020-03-13 09:03:52 -07:00
3c24052cf1
Workaround 'cannot call member function without object' error on gcc 4.9
2020-03-11 17:39:32 -07:00
f72a905eb3
Fix handling of volatile enums
2020-03-11 08:40:57 -07:00
941d5e147a
Workaround broken fallthrough attribute in the PGI compiler ( #1583 )
2020-03-11 07:56:23 -07:00
ee2b828b9a
Tweak a comment
2020-03-09 11:27:14 -07:00
5bb8856655
Workaround for broken [[deprecated]] in PGI compiler ( #1581 )
...
* Workaround broken [[deprecated]] in PGI compiler
- similar to Intel and NVCC, add workaround for PGI compiler
2020-03-09 11:25:38 -07:00
1c0c59d4a0
Fix empty debug postfix
2020-03-09 08:34:02 -07:00
b1adaa9881
Remove gcc 4.4 workaround
2020-03-07 14:50:52 -08:00
48e8d0ebef
set_doc -> set_verbose
2020-03-07 14:31:39 -08:00
ce00979152
Cleanup CMake config
2020-03-07 08:18:01 -08:00
db4a6cfbf9
is_static_compiled_format -> is_compiled_format
2020-03-06 07:25:34 -08:00
29a1ea795a
Fix clang -Wdisabled-macro-expansion warning from FMT_STRING_IMPL.
...
FMT_STRING_IMPL has an internal helper named FMT_STRING, however FMT_STRING is also the name of the macro that invokes FMT_STRING_IMPL.
Renaming this helper avoids the appearance of a recursive macro.
2020-03-06 07:00:47 -08:00
8a06ca84c7
Fix ambiguous overloads of format & format_to
2020-03-05 12:22:43 -08:00
153f753bde
Deprecate undocumented _u suffix
2020-03-04 19:20:19 -08:00
eafd079868
Improve width computation
2020-03-04 17:17:34 -08:00
0c6919ec72
Make FMT_DEBUG_POSTFIX a cache variable ( #1566 )
2020-03-04 08:37:11 -08:00
197a5c3721
Apply clang-format
2020-03-04 08:37:00 -08:00
68742e1d87
Fix clang -Wsign-conversion warning in grisu_count_digits. ( #1573 )
...
grisu_count_digits is only used by grisu_gen_digits, which assigns the unsigned result to a (signed) int.
Although grisu_count_digits always returns a positive integer this keeps its return type in sync with the type its result is assigned to.
2020-03-04 06:48:41 -08:00
1e8493196e
Make compile-time checks in format_to handle references
2020-03-01 07:57:34 -08:00
58e6c84f5a
Fix simple -Wsign-conversion cases. ( #1571 )
...
* Fix -Wsign-conversion in bigint::subtract_aligned.
n is assigned a size_t, and only used for comparisons with j.
j is assigned 0, compared to n (size_t), and passed to basic_memory_buffer::operator[] (size_t).
* Fix -Wsign-conversion in bigint::assign.
num_bigits is initialised to 0, is only ever incremented, and is passed to basic_memory_buffer::operator[] (size_t) and basic_memory_buffer::resize (size_t).
2020-03-01 07:22:15 -08:00
75a4525e5f
Move FMT_CLANG_VERSION definition to core.h ( #1568 )
...
Previously format.h defined FMT_CLANG_VERSION after including core.h, however core.h tests FMT_CLANG_VERSION when it defines FMT_API.
2020-02-29 17:19:34 -08:00
6ccb2e241b
Add FMT_NORETURN to assert_fail prototype. ( #1569 )
...
When building with -Werror,-Wmissing-noreturn clang identifies that assert_fail could be declared with the 'noreturn' attribute.
2020-02-29 17:17:55 -08:00
bed134a4aa
Tentative fix for default template param in friend error
2020-02-27 15:29:46 -08:00
b2d3a86ec0
Make FMT_ASSERT work in constexpr on clang 4.0.1
2020-02-26 06:26:46 -08:00
13d82e32bd
Don't use internal GTest API
2020-02-24 11:32:34 -08:00
2161a73f2b
Fix FMT_FORMAT_AS const specifier position ( #1554 )
...
The current `FMT_FORMAT_AS` macro will make `formatter<Char *>::format`
have the first argument type `const Char *&` which is incorrect an
should be `Char *const &`. This pull request fixes that by changing the
first argument type in the macro definition body from `const Type &` to
`Type const &`.
2020-02-23 07:27:22 -08:00
e00997b004
improved use of find ( #1560 )
...
* improved use of find
*begin is supposed to be different from '{' when this find is used, so we can avoid checking it.
2020-02-21 14:43:06 -08:00
0415cf2350
add const begin and end overload to buffer ( #1553 )
...
* add const begin and end overload to buffer
since there is a const overload for data I think there should also be one for begin and end
2020-02-19 14:59:50 +01:00
3bafd0749b
Fix to_string docs
2020-02-15 09:51:35 +01:00
f733882b55
Remove misleading FMT_USE_WINDOWS_H
2020-02-14 14:09:27 +01:00
dc22360c34
Workaround broken UDL templates in GCC < 6.4
2020-02-10 17:08:14 +01:00
1f1b50707c
Make formatter override implicit conversion to a C string
2020-02-07 19:24:36 -08:00
24924128e3
Fix a link error in gcc8 ( #1548 )
2020-02-07 18:34:05 -08:00
c54cd71800
only modify CMAKE_RUNTIME_OUTPUT_DIRECTORY if it is not already set
2020-02-07 07:10:03 -08:00
43e9b29e50
Only use compiler features if available
2020-02-06 15:43:33 -08:00
b55ea58705
string_view::char_type -> value_type ( #1539 )
2020-02-01 12:27:44 -08:00
4098970db2
Update README.rst
2020-01-31 11:33:51 -08:00
314e15001f
Fix symbol visibility on Linux when compiling with -fvisibility=hidden ( #1535 )
...
Make FMT_API symbols use the default visibility on non-Windows
platforms. Otherwise, one cannot use the generated fmt library when
compiling globally with -fvisibility=hidden.
Fixes compile errors like:
```
../3rdParty/fmt/include/fmt/core.h:757: error: undefined reference to 'fmt::v6::internal::assert_fail(char const*, int, char const*)'
```
Note that the symbol exists, but is local:
```
$ nm -C libfmtd.so.6.1.3 | grep assert_fail
U __assert_fail
0000000000233ffa t fmt::v6::internal::assert_fail(char const*, int, char const*)
```
With this patch, the compile error is gone and the symbol is properly
exported:
```
$ nm -a bin/libfmtd.so -C | grep assert_fail
U __assert_fail
00000000002366ba T fmt::v6::internal::assert_fail(char const*, int, char const*)
```
Change-Id: I96054e622d9a2ae81907e1b01a1033e629767a91
2020-01-30 06:26:18 -08:00
f499b393d1
Apply coding conventions
2020-01-26 19:48:48 -08:00
6c30f41443
Configure fmt.pc library name correctly.
...
Simplify getting library name.
Add FMT_DEBUG_SUFFIX variable.
2020-01-26 19:48:14 -08:00
1acb73f970
Fix formatting std::chrono::duration types to wide strings ( #1533 )
...
* Fix formatting chrono durations to wide strings
* Make format buffers const correct
* Add FormatWide chrono test case
* Fix incorrect wide encoding of 'µs'
I think might be a source file encoding issue, so I used \u00B5 instead.
* Update FormatWide test to use proper encoding of µs
* Revert changes to format_localized's parameters
* Use different overload of `std::time_put<T>::put` to avoid needing a format string
* Use utf8_to_utf16 instead of having redundant overloads of get_units
* Revert some minor changes
* Remove FMT_CONSTEXPR from expression
This should hopefully fix compilation on VS <2019
* Make suggested changes from code review
* Run clang-format on chrono.h
* Make sure unit isn't null before constructing a string_view from it
2020-01-23 18:48:36 -08:00
09a13244c8
Disallow passing non-string-literals to FMT_STRING
2020-01-22 21:05:46 -08:00
419db8baa1
Fix length computation of constexpr C strings
2020-01-22 18:25:07 -08:00
9fc4161f5e
fix interal compiler error when building with mingw
2020-01-22 18:14:46 -08:00
25d6916b3a
Fix so can work without locale defined
...
If `FMT_STATIC_THOUSANDS_SEPARATOR` defined, then locale is not included or defined, so this call will be unresolved. I think this is the correct fix based on the code in `format-inl.h` and `format.h`
2020-01-22 07:26:03 -08:00
0b2eb6501c
Add locale example
2020-01-20 08:42:16 -08:00
fd1cabe464
Workaround a bogus MSVC warning
2020-01-20 06:56:22 -08:00
a844d7ab81
Add namespaces
2020-01-19 19:20:48 -08:00
47d3968092
Add more examples
2020-01-19 19:15:54 -08:00
7800173eb1
Update fill docs
2020-01-19 18:57:32 -08:00
b4218aa0f8
Test invalid fill
2020-01-19 16:52:36 -08:00
8a3a8177d6
Bump version
2020-01-19 15:34:30 -08:00
e5f2f8ce7a
Add variable-width fill support ( #1109 )
2020-01-19 14:49:51 -08:00
75765bfad5
Avoid unnecessary unsigned overflows ( #1515 )
2020-01-18 08:19:27 -08:00
9bd9738da0
Remove static and simplify names
2020-01-18 07:43:59 -08:00
bd5f903f28
Add a locale example
2020-01-18 07:11:45 -08:00
06e437fd98
Move docs to the proper place
2020-01-18 06:59:21 -08:00
1bd4f54fa6
update format
2020-01-17 11:07:55 -08:00
11cc2903e4
re-fix url link
2020-01-17 11:07:55 -08:00
b124e3e8e7
fix url link
2020-01-17 11:07:55 -08:00
ffd5f3469f
Correct display format
2020-01-17 11:07:55 -08:00
0f0e5ddf5f
Add vcpkg installation instructions
2020-01-17 11:07:55 -08:00
1f110702a1
Remove redundant braces
2020-01-15 15:07:30 -08:00
4ccbe4b5f2
Avoid namespace clash for fmt
...
## Problem
In the case of an existing `fmt` namespace (in my project this looks like `Project::fmt`) it is possible to get a namespace clash in debug builds (MSVC 2017)
## Proposed Solution
When referencing `fmt` internally, be explicit that it is relative to the global namespace using `::fmt`
2020-01-15 11:23:24 -08:00
40638a75b3
Use C++11 compatible std::is_same operations
...
The `operator()` member function of `std::is_same` was added in C++14. For C++11, the `::value` needs to be used instead.
2020-01-15 11:20:47 -08:00
c8dd9cc99d
Use type_identity to block unnecessary template argument deduction (thanks Tim Song)
2020-01-15 10:27:50 -08:00
4bbe57cebf
Work-around for nvcc
...
The nvcc compiler (at least up to 9.2) defines `__SIZEOF_INT128__`, but doesn't support 128-bit integers on device code:
```
error: "fmt::v6::format_arg_store<fmt::v6::basic_format_context<std::back_insert_iterator<fmt::v6::internal::buffer<char>>, char>, const char *, int, const char *>" contains a 128-bit integer, which is not supported in device code
```
2020-01-15 07:31:58 -08:00
55b6130055
Use C++11-compatible operations
...
The `std::is_base_of<T,U>()` and `std::is_reference<T>()` member functions were added in C++14. To maintain C++11 compatibility, use the `::value` instead.
Current code fails on intel-17 and other compilers if using strict C++11
2020-01-15 07:23:39 -08:00
ae3ea156ea
Fix for older versions of intel compiler
...
The intel-17 and intel-18 compilers seem to require that `u` be `const`:
```
/src/fmt/format.h(226): warning #437 : reference to local variable of enclosing function is not allowed
char data[sizeof(u)];
```
If `u` is declared as `const auto u =1u` instead of just `auto u=1u`, the file compiles with no warnings.
2020-01-14 17:56:06 -08:00
77165fdf85
Use FMT_NOEXCEPT instead of noexcept directly
...
Otherwise breaks on compilers without noexcept support
2020-01-14 09:31:31 -08:00
65ac626c58
Improve join docs
2020-01-12 07:26:16 -08:00
cd0b3f9695
check if _SECURE_SCL is defined not equal to 0
2020-01-09 15:01:48 -08:00
cef1e4354b
Optimize grisu_gen_digits
2020-01-07 16:11:18 -10:00
0201c8db21
Restructure float_format
2020-01-07 14:41:30 -10:00
9e3f3e8cff
Fix handling of output iterators in format_to_n ( #1506 )
2020-01-05 09:59:01 -10:00
aa07c57654
Move vprint_mojibake to the internal namespace
2020-01-04 08:31:18 -10:00
a73d89e9c7
Catch invalid uses of fmt::arg
2020-01-04 07:11:35 -10:00
cb8e7caf7c
Convert 'char8_t' character sequences to 'char' sequences
...
Otherwise, Google Test will insist on inserting 'char8_t' NTBS into 'char' streams, but basic_ostream<char>::operator<< overloads taking 'char8_t' arguments are defined as deleted by P1423.
Handling individual 'char8_t's is done inline.
This fixes the compilation errors seen in C++20 mode beginning with VS2019 Update 2.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2020-01-04 07:01:48 -10:00
b3fd0005dd
Suppress a bogus -Wdouble-promotion warning
2020-01-03 06:57:14 -10:00
7b478f9dec
Simplify example
2020-01-02 07:31:45 -10:00
c85efef312
More showpoint fixes and tests ( #1498 )
2019-12-30 13:08:35 -10:00
455a7c0787
Clarify lifetime of basic_format_args
2019-12-30 08:51:47 -10:00
674c326d7c
Update syntax.rst
2019-12-29 07:25:34 -10:00
061a9897fe
Update syntax.rst
2019-12-26 16:49:40 -10:00
d2d1c9c560
warning C4267: 'argument': conversion from 'size_t' to 'DWORD', possible loss of data
2019-12-26 08:07:24 -08:00
b6e19e5953
Update apidoc
2019-12-24 12:08:37 -08:00
f219dcd59b
Add fmt::bytes
2019-12-24 10:45:15 -08:00
dea7fde8b7
Deprecate u8string_view
2019-12-24 09:44:57 -08:00
5390e29d42
Enable mojibake
2019-12-24 08:42:29 -08:00
9f6434dcde
Improve UTF-8 handling on Windows
2019-12-23 16:19:11 -08:00
dac9a7f99d
Improve UTF-8 handling on Windows
2019-12-22 12:05:28 -08:00
3ca9533f38
Flatten forward
2019-12-22 08:23:54 -08:00
7eec036d9a
Improve UTF-8 support
2019-12-21 19:53:52 -08:00
e6b37b4aff
Handle block boundaries in utf8_to_utf16
2019-12-21 16:33:34 -08:00
8cf4c52068
Apply clang-format
2019-12-21 13:10:45 -08:00
74532c23a3
Make type a scoped enum
2019-12-21 12:22:17 -08:00
b308159be5
Make round_direction a scoped enum
2019-12-21 09:24:42 -08:00
162995fedd
Add os.h to docs
2019-12-18 14:17:49 -08:00
8b41362a0a
Add trailing decimal point if # is specified ( #1476 )
2019-12-18 12:41:56 -08:00
1b1c70108a
trailing_zeros -> showpoint
2019-12-18 12:12:09 -08:00
d7e72a09e0
Simplify FMT_STRING_IMPL
2019-12-18 11:50:47 -08:00
2201890d7a
Apply clang-format and update inclusion guards
2019-12-18 11:17:36 -08:00
6100ed4bb3
Eliminate NVCC NVidia compiler emits unreachable code warnings
...
Similar to the MSC Compiler, the NVidia NVCC compiler also
emits unreachable code warnings when there is a return
statement following an exception. These changes eliminate
those warnings.
2019-12-18 10:39:40 -08:00
1afe201ae8
Handle block boundaries in utf8_to_utf16
2019-12-18 10:35:51 -08:00
cd2b99032f
Chore(readme): use https ( #1481 )
2019-12-17 06:48:27 -08:00
9acf89fef6
Mitigate MSVC issue with min/max macros ( #1480 )
2019-12-16 08:24:00 -08:00
9ea42fb26e
Rename posix-test to os-test
2019-12-15 16:43:40 -08:00
da2569827e
posix.cc -> os.cc
2019-12-15 12:36:15 -08:00
35959a31d7
Move OS-specific APIs to a separate header
2019-12-15 11:46:45 -08:00
ec2463c905
Implement utf8_to_utf16 using utf8_decode
2019-12-15 09:35:26 -08:00
0012917f69
Add a UTF-8 decoder
2019-12-15 07:28:19 -08:00
9e450911fa
Give an error on precision overflow
2019-12-14 07:45:27 -08:00
068d20bc31
Avoid shadowing warnings in FMT_STRING
2019-12-14 07:00:08 -08:00
a99fbe67b9
Apply a typo fix retroactively
2019-12-14 06:50:53 -08:00
adbed11ed4
Fix a typo
2019-12-13 15:49:40 -08:00
8ab1c5c6e8
Squelch MSVC warning exporting subclasses of runtime_error (fix for PR #1433 ) ( #1470 )
...
* Squelch MSVC warning exporting subclasses of runtime_error
When compiling {fmt} as a DLL, MSVC complains that we are exporting
classes that inherit from "std::runtime_error", which we are not
exporting.
In this case, it's not really a problem because that symbol is already
exported via the C++ stdlib. So we just add a pragma to silence the
warning.
* Fix compilation with MinGW
Commit 3bc28fcc6b
("Squelch MSVC warning exporting subclasses of
runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW
compiler also defines _WIN32, but does not support the "warning" pragma.
Introduce a helper macro to squelch the MSVC warning only when using the
Microsoft compiler.
Signed-off-by: Beat Bolli <dev@drbeat.li >
* Fix compilation with VS2015 (#1450 )
VS2015 does not support the __pragma(...) syntax in the midst of a
class declaration, so move it to just before the declaration.
2019-12-13 12:16:36 -08:00
a770009fcc
Improve error reporting
2019-12-13 11:34:03 -08:00
598e6042d1
warning C4468: 'fallthrough': attribute must be followed by a case label or a default label
2019-12-12 06:25:33 -08:00
e09814dc93
Merge branch 'master' of github.com:fmtlib/fmt
2019-12-11 15:44:44 -08:00
b272fb3605
Extend FMT_FALLTHROUGH compatibily to gcc and clang pre-C++17 ( #1469 )
2019-12-11 14:28:20 -08:00
f94b7364b9
Update version
2019-12-11 06:16:42 -08:00
7abec071b5
Update changelog
2019-12-11 06:15:06 -08:00
b7eb8c8921
Prepare for the next release
2019-12-10 21:50:14 -08:00
ae7c50185d
Reintroduce sprintf_format for ABI compatibility
2019-12-10 20:44:08 -08:00
9f2e7edaeb
Fix handling of types convertible to std::string_view
2019-12-09 13:25:08 -08:00
fd52de0c6b
Add FMT_CUDA_TEST CMake option to enable cuda-test
2019-12-09 07:30:34 -08:00
f675cb887e
Remove redundant cast
2019-12-08 18:01:59 -08:00
73a16b827f
Fix handling of int128_t in format-impl-test ( #1461 )
2019-12-08 17:07:20 -08:00
72879db40e
Clean-up sign-conversion warnings in public headers
2019-12-08 16:07:55 -08:00
d3aa0c3a28
Clean-up sign-conversion warnings in test code
2019-12-08 16:07:43 -08:00
31de9a1b80
Revert "Clean-up sign-conversion warnings in test code"
...
This reverts commit 227bfe62dd
.
2019-12-08 15:47:24 -08:00
227bfe62dd
Clean-up sign-conversion warnings in test code
2019-12-08 15:21:38 -08:00
95dfdc6cc4
Update README.rst
2019-12-07 10:12:56 -08:00
5916ff63c4
Update README.rst
2019-12-07 10:12:15 -08:00
1ab80aa92c
Fix handling of types with custom formatters that are convertible to std::string_view
2019-12-06 11:40:21 -08:00
4f4d876616
Remove '%' from the docs
2019-12-06 07:06:19 -08:00
f443bd3baf
Ditch decimal_formatter ( #1363 )
2019-12-05 19:07:45 -08:00
1219b65f21
Relax fallthrough attribute detection
2019-12-05 10:40:15 -08:00
071794ec65
Update version
2019-12-04 12:21:48 -08:00
d22e4ad85b
Remove trailing comma
2019-12-04 12:20:52 -08:00
983806b0c1
Update changelog
2019-12-04 12:03:44 -08:00
02af5beb8a
Bump version and update changelog
2019-12-04 10:22:07 -08:00
123e7f7fc3
Revert #1433 because of build failures ( #1450 )
2019-12-03 09:24:15 -08:00
168460f02c
Remove TYPES
2019-12-03 06:45:00 -08:00
a64f60c849
Remove unneeded FMT_API.
2019-12-03 05:55:04 -08:00
1a599117d8
Export assert_fail with FMT_API. This fixes dll build.
2019-12-03 05:55:04 -08:00
b160123e39
Update ChangeLog.rst
2019-12-02 16:18:06 -08:00
5981588565
Fix compilation with MinGW
...
Commit 3bc28fcc6b
("Squelch MSVC warning exporting subclasses of
runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW
compiler also defines _WIN32, but does not support the "warning" pragma.
Introduce a helper macro to squelch the MSVC warning only when using the
Microsoft compiler.
Signed-off-by: Beat Bolli <dev@drbeat.li >
2019-12-02 12:56:46 -08:00
8bbe76af3a
Add a missing decimal point in exponent notation with trailing zeros
2019-12-02 11:36:33 -08:00
4ca6821e8f
Update version
2019-12-01 16:58:40 -08:00
7111a1eb9f
Bump version
2019-12-01 16:50:07 -08:00
ae00bbdc91
Update changelog
2019-12-01 16:39:58 -08:00
e71e07d9fb
Update changlog
2019-12-01 16:26:07 -08:00
0184df7020
Update docs
2019-12-01 14:49:56 -08:00
1cbae6e9ba
Put vprint declarations in one place
2019-12-01 14:43:51 -08:00
159f89e2b8
Fixing installation directory of '*.dll' files on Windows
2019-12-01 14:36:21 -08:00
4b120b68ae
Clean up includes
2019-12-01 10:19:07 -08:00
186b225d9d
Update changlog
2019-12-01 10:16:01 -08:00
4cbf4888ea
Update changelog
2019-12-01 10:04:38 -08:00
e31f2b3d03
Update changelog
2019-12-01 09:27:28 -08:00
62da1db62a
Avoid wchar_t instantiations
2019-12-01 07:34:09 -08:00
3bc28fcc6b
Squelch MSVC warning exporting subclasses of runtime_error
...
When compiling {fmt} as a DLL, MSVC complains that we are exporting
classes that inherit from "std::runtime_error", which we are not
exporting.
In this case, it's not really a problem because that symbol is already
exported via the C++ stdlib. So we just add a pragma to silence the
warning.
2019-11-30 12:00:25 -08:00
3c05fa46c6
Update changelog
2019-11-30 09:18:16 -08:00
ba6e330fd3
digits -> num_bits
2019-11-30 08:41:07 -08:00
6037b3cae9
Fix dangling else problem in FMT_ASSERT
2019-11-30 07:52:33 -08:00
fafb03fa6d
Fix handling of fallback_uintptr
2019-11-30 07:31:38 -08:00
2f9acd1838
Remove dependency on <cassert>
2019-11-29 09:37:18 -08:00
aaf829bfb1
Fix fallback pointer formatting on big endian, take 2
2019-11-29 07:07:08 -08:00
b994a0ab13
Fix handling of missing fraction in snprintf_float
2019-11-29 06:17:29 -08:00
bb205d940d
Fix fallback pointer formatting on big endian
2019-11-29 05:15:59 -08:00
ef7369ce90
Update docs
2019-11-28 08:09:46 -08:00
40e4c227db
Update changelog
2019-11-28 07:43:22 -08:00
ea54b21e78
Remove invalid noexcept annotation
...
buffered_file& operator=(buffered_file&& other) calls close which can
throw.
2019-11-28 06:43:08 -08:00
9cbf4b087c
Fix -Wconversion warnings
2019-11-28 06:43:08 -08:00
1200a34e10
Update changelog
2019-11-27 16:15:42 -08:00
9c7e2a6c6f
Add missing newline
2019-11-27 11:06:40 -08:00
34e921f6fe
Update docs
2019-11-27 09:26:32 -08:00
c3be0f593d
Refactor floating-point formatting
2019-11-27 08:08:22 -08:00
c68703c9f4
float_spec -> float_specs
2019-11-26 15:53:24 -08:00
9a21728b0a
Remove gen_digits_params
2019-11-26 11:27:53 -08:00
3de36e9348
Enable -Wswitch-enum in CI
2019-11-26 10:17:48 -08:00
4afb39bc24
Update README.rst
2019-11-26 08:33:16 -08:00
7ffa62db18
Fix precision handling in snprintf_float
2019-11-25 20:00:10 -08:00
0d07db1234
Fix handling of streamable and convertible to string types
2019-11-25 16:46:33 -08:00
d19ed6716d
Fix hexfloat buffer reallocation
2019-11-25 15:54:04 -08:00
99b6e928d4
Fix handling of types with deleted rvalue conversion to string ( #1421 )
2019-11-25 08:30:47 -08:00
57cd3f72e9
Update comment
2019-11-24 15:34:33 -08:00
111fc127fe
Remove fp::operator-
2019-11-24 13:28:15 -08:00
6003ec3f25
Simplify Grisu implementation
2019-11-24 13:24:28 -08:00
8877a67724
Instantiate snprintf_float
2019-11-24 08:57:39 -08:00
75fff1db64
Minor cleanup
2019-11-24 08:43:56 -08:00
28d7191c27
Don't print trailing zero with fixed, precision=0, and showpoint ( #1417 )
2019-11-24 08:23:10 -08:00
43271ba8e8
Handle null terminator at the end of the buffer
2019-11-24 07:15:25 -08:00
63a9f3fcd4
fix bad oss fuzz link in the oss-fuzz badge
2019-11-23 12:37:59 -08:00
4cf59ce734
Integrate Grisu and sprintf digit generators
2019-11-23 06:56:29 -08:00
7395472dde
Refactor floating-point formatting
2019-11-22 18:49:19 -08:00
9108b25da9
Merge branch 'float'
2019-11-22 08:54:28 -08:00
4d366c68b7
Merge branch 'master' of github.com:fmtlib/fmt
2019-11-22 08:53:58 -08:00
ded1e7679e
Refactor floating point formatting
2019-11-22 08:22:22 -08:00
c7edd8e570
Cleanup FP formatting
2019-11-20 13:17:03 -08:00
75108a56f6
Don't print % for nan and inf
2019-11-20 12:26:48 -08:00
3e1f70fe02
Merge write_fp into write
2019-11-20 12:20:17 -08:00
125fc5e520
Update comment
2019-11-20 11:45:25 -08:00
6793ffc1d6
Update README.rst
2019-11-20 09:33:59 -08:00
f4fcc5fd28
Update README.rst
2019-11-20 09:31:11 -08:00
4de41aa655
Move basic_writer::write_fp to where it belongs
2019-11-20 08:22:34 -08:00
404a880bd4
Make parse_arg_id more readable
2019-11-20 08:12:23 -08:00
092d2dc7b2
Merge safe-duration-cast.h into chrono.h
2019-11-20 08:05:18 -08:00
093e554211
Remove redundant qualification
2019-11-20 07:44:34 -08:00
d0696b0aa6
warning C4456: declaration of 'num_digits' hides previous local declaration
2019-11-20 06:43:46 -08:00
66d7746bb3
Use grisu for exponent notation
2019-11-19 16:55:11 -08:00
e9bff78814
Don't parse % unless FMT_DEPRECATED_PERCENT is set
2019-11-19 11:54:18 -08:00
57b6f2966d
Deprecate the fmt macro
2019-11-19 11:28:17 -08:00
d79493e5ee
Remove Grisu2
2019-11-19 09:50:59 -08:00
78842ce0d6
test: add default constructor for a const value
...
This fixed a compilation error of the OS X 10.11.6 C++ compiler:
./fmt/test/format-test.cc:1861:16: error: default initialization of an object of const type 'const Answer' without a user-provided default constructor
const Answer const_answer;
^
{}
2019-11-19 08:32:35 -08:00
5420bcce2d
Make % an opt-in to improve compatibility with std::format
2019-11-18 08:04:43 -08:00
56a2e2075c
Refactor float spec parsing
2019-11-18 07:37:36 -08:00
ed117baa4f
Replace bool with float_format and add exponential
2019-11-17 15:52:13 -08:00
f26446290b
Move float_spec_handler to internal namespace and update asserts
2019-11-17 13:47:00 -08:00
7e1cb3237a
Fix indentation
2019-11-17 13:17:43 -08:00
f67783d7e6
Clarify that numeric alignment is deprecated
2019-11-17 10:24:55 -08:00
1c6d85f7bb
Apply coding conventions to examples
2019-11-17 10:15:16 -08:00
4a1da44f91
Apply coding conventions to examples
2019-11-17 10:14:06 -08:00
080b6899d2
Tweak the docs
2019-11-17 10:10:32 -08:00
c01ec54fde
Document and clean basic_format_parse_context
2019-11-17 09:28:26 -08:00
b0c2ab93fa
Bump version
2019-11-17 08:35:26 -08:00
9b7fe2a4a1
Don't use POSIX API on UWP
2019-11-17 08:29:08 -08:00
c58b7d9c2f
Use overridden locale in ostream
2019-11-17 06:22:22 -08:00
ceff9b0b2e
Tweak the docs
2019-11-16 07:14:57 -08:00
3dc8639f8a
[docs] Added conda
2019-11-16 06:19:33 -08:00
dcde089b4e
Improve POSIX API detection
2019-11-15 07:28:02 -08:00
2145a7bdcc
Move has_formatter into the public fmt namespace. ( #1407 )
...
* Move has_formatter into the public fmt namespace.
This will allow users to do SFINAE-friendly checks for
the formattability of a type.
Fixes #1369
2019-11-14 07:08:24 -08:00
52ae134f84
Remove broken CI config
2019-11-14 07:06:38 -08:00
0d6dd0cc6a
Correct basic_string_view from string ctor
2019-11-14 05:57:23 -08:00
1f918159ed
[clang-tidy] Replace deprecated C headers
...
Found with modernize-deprecated-headers
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
6868f888b2
[clang-tidy] Add missing override
...
Found with hicpp-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
87cd545a1e
[clang-tidy] Replace {} with = default
...
Found with hicpp-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
12f9437e22
[clang-tidy] Use auto
...
Found with hicpp-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
bb0c8bfea8
[clang-tidy] Add noexcept where move is used
...
Found with performance-noexcept-move-constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
e6e8298904
[clang-tidy] Add parentheses to macro arguments
...
Found with bugprone-macro-parentheses
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
0f0848e4f4
[clang-tidy] Use braced init list
...
Found with modernize-return-braced-init-list
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
a1fb5c7337
[clang-tidy] Changes suffixes to uppercase
...
Found with hicpp-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
8a411c2bca
[clang-tidy] Turn deleted function to public
...
Found with modernize-use-equals-delete
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2019-11-08 09:35:26 +00:00
0047dc10a2
Mark apidoc as rst
2019-11-06 15:16:02 +00:00
263cdef8a0
Merge branch 'master' of github.com:fmtlib/fmt
2019-11-06 13:19:56 +00:00
d4ca54253a
Update docs
2019-11-06 12:48:21 +00:00
5bb7b28e15
Document members
2019-11-05 10:43:18 +00:00
1409dfe76b
Try fix CI
2019-11-05 10:39:14 +00:00
f1559e1d56
Use grouping() from locale for specifier 'n'
2019-11-05 07:22:12 +00:00
ffd05e65ed
basic_parse_context -> basic_format_parse_context per standard and document
2019-11-05 07:13:58 +00:00
0889856d61
Fix UTF-8 truncation
2019-11-03 11:53:15 +00:00
d6eede9e08
Remove redundant ctor
2019-11-01 12:09:04 -07:00
213e09644f
Workaround X11 madness ( #1388 )
2019-11-01 08:47:11 -07:00
6bfc9af8c9
Add double support to compile
2019-10-30 20:45:29 -07:00
3487f1b9cd
Always inline grisu_gen_digits and disable grisu2 by default
2019-10-30 16:52:00 -07:00
791294d17b
Apply get_cached_power optimization by jk-jeon
2019-10-30 08:07:01 -07:00
8e700619b7
Simplify format_handler
2019-10-30 07:02:38 -07:00
58c6f8c7f5
Make unsigned-integer-overflow sanitizer happy ( #1377 )
2019-10-28 14:41:09 -07:00
40414b3446
Don't emit trailing zeros in exponential notation ( #1376 )
2019-10-28 12:31:00 -07:00
b7a157401e
Simplify grisu_writer
2019-10-23 13:52:09 -07:00
7aa58c30bf
Simplify NVCC checks
2019-10-23 11:32:35 -07:00
8e9bffa986
clang-format
2019-10-23 11:20:21 -07:00
ce4d87acd4
Remove obsolete comment and clang-format
2019-10-23 11:15:43 -07:00
21acc2af43
Fix more Visual Studio 2019 pedantic warnings ( #1371 )
...
* format-inl.h(444,1): warning C4804: '>>': unsafe use of type 'bool' in operation
format.h(2808,1): warning C4127: conditional expression is constant
* More fixes for VS2019 pedantic warnings
* Fix "conditional expression is constant" VS2019 warning in more specific way
* Use const_check to silence constexpr warning
2019-10-22 17:13:03 -07:00
00669427df
Patch compiler error when building using nvcc
...
If you compile using `nvcc` and pass the option `--expt-relaxed-constexpr` it will crash with an internal compiler error. This modification prevents using `constexpr` in `fmtlib` when compiling using `nvcc` and prevents the crash.
2019-10-22 08:34:52 -07:00
d39ebf3ff2
Optimize counting
2019-10-21 06:57:42 -07:00
6498bc6d31
Simplify grisu_writer
2019-10-20 19:29:24 -07:00
a967dcbe20
Improve handling of signs
2019-10-20 19:05:38 -07:00
8498bc97dd
Initialize all the things
2019-10-20 17:53:18 -07:00
e2ea940673
Handle assymetric boundaries
2019-10-20 07:55:05 -07:00
2bc5585ff0
Fix computing lower boundaries for smallest normalized double
2019-10-18 17:56:52 -07:00
bb728a572a
packed_arg_bitsize -> packed_arg_bits and remove packed_arg_mask
2019-10-18 10:06:57 -07:00
36d1390e67
Implement round half to even
2019-10-18 07:21:12 -07:00
599e0aef45
Support single precision floats in grisu formatting
...
Fixes #1336
2019-10-18 07:08:41 -07:00
91f7619cc9
Fix Visual Studio 2019 pedantic warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
2019-10-14 08:55:18 -07:00
c4dc6bef24
Apply clang-format
2019-10-13 18:31:09 -07:00
646966e973
Reduce bigint capacity
2019-10-13 14:06:38 -07:00
a5abe5d95c
Handle negative exponent and nonnegative power
2019-10-13 13:16:09 -07:00
1cbc5fa6cb
Handle negative exponent and rename value/pow10 to numerator/denominator
2019-10-13 12:50:48 -07:00
f7a5748fd3
Partially implement (FPP)^2
2019-10-13 09:28:35 -07:00
0e94b931a2
Fix a linkage error introduced by #1360 ( #1362 )
2019-10-13 08:23:47 -07:00
5e58eb97b1
Implement add_compare
2019-10-13 08:05:06 -07:00
3a15ea3ea5
Rename write_double to write_fp
...
It handles all floating point types, not just doubles.
2019-10-12 11:41:24 -07:00
b87ac4d840
Distinguish float from double
2019-10-12 11:41:24 -07:00
a927dda9bb
Use words for packed constants
2019-10-12 11:41:24 -07:00
dd11d45847
Encode types using 5 bits
...
This is needed to support more than the current 16 types.
2019-10-12 11:41:24 -07:00
b55551f900
Implement more comparison operators
2019-10-12 09:22:24 -07:00
96f91428c6
Add defaulted copy and move operations to format_error and system_error ( #1347 )
...
* Avoid weak vtables by providing a private virtual member function
* Add warning Wweak-vtables to clang when FMT_PEDANTIC is on
* Add defaulted copy and move operations to format_error and system_error
Compiler generated copy operations are deprecated and move operations
are not generated altogether.
* Add warning Wdeprecated to clang when FMT_PEDANTIC is on
2019-10-11 10:44:20 -07:00
b732f28c00
Deduplicate color vformat and vprint
...
After #1351 they became essentially the same.
2019-10-11 10:42:11 -07:00
a82c1dc6d9
use memory_buffer to make color print behave atomic #1348 ( #1351 )
2019-10-10 08:28:56 -07:00
2730e90186
Fix compile error in printf with gcc9 ( #1354 )
2019-10-09 18:58:40 -07:00
e4d6d9d7c8
Implement divmod
2019-10-09 13:40:50 -07:00
a1079e9fd6
Fix undefined in format-test ( #1349 )
...
When `MoveCtor` performs `check_move_buffer`, the buffer allocator becomes null,
but then `MoveCtor` attempts to use it to allocate a dynamic buffer. This
succeeds nevertheless because a typical `std::allocator<char>::allocate` does
not use `this`, so it does not crash when `this` is null.
Fixes #1344
2019-10-08 15:42:51 -07:00
b66bb6b71f
Fix undefined in core-test and printf-test ( #1345 )
...
* Fix undefined in core-test
Fixes "reference binding to null pointer" in BufferTest.Ctor
buffer.operator[] attempts to return a reference to `buffer.ptr_[0]` when `ptr_`
in `mock_buffer<int> buffer` is null.
* Fix undefined in printf-test
Fixes "signed integer overflow" in PrintfTest.Length
This occurs in `TestLength<long long>("ll")`, since its minimum value minus one
does not fit in long long.
* Fix undefined in printf %0$
Printf counts arguments from 1.
Fixes "shift exponent -4 is negative" in PrintfTest.InvalidArgIndex.
`do_get` is called with index -1 when `basic_printf_context.arg` is called with
id 4294967295 when basic_printf_context::get_arg subtracts 1 from arg_index 0 in
the format string "%0$d".
2019-10-08 06:28:39 -07:00
b60114533f
Implement more bigint operations
2019-10-06 12:49:23 -07:00
c41cea8b18
Initial implementation of square
2019-10-05 16:37:52 -07:00
0c7650373c
Fix handling of types convertible to std::string_view
2019-10-05 06:58:37 -07:00
0571013709
Repoint one more Python 2 link to Python 3
...
One more python reference, this one acknowledging the `str.format` function.
2019-10-01 11:44:36 -07:00
d2c9276fcd
let README point to python 3 instead of 2
2019-09-29 08:30:47 -07:00
0fc7bd1573
Fix ambiguity for types with dodgy conversions
2019-09-28 11:35:20 -07:00
b4f1988c4b
Provide overload for fmt::join
that handles std::tuple
s
...
Address enhancement request #1322 .
The overload is provided in `ranges` (original `fmt::join` exists
currently in `format.h` for historical reasons.
Tests for prvalue and lvalue tuple arguments as well as the empty
tuple are provided in `ranges-test.cc`.
2019-09-27 14:05:35 -07:00
4b8f8fac96
Update README.rst
2019-09-25 07:14:45 -07:00
3b2fc033d1
Making CUDA test work with CMAKE_MSVC_RUNTIME_LIBRARY
...
CMake 3.15 introduced a new way of handling MSVC CRT type definition for
the build: CMAKE_MSVC_RUNTIME_LIBRARY variable.
(https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html )
This is supposed to be the way to go with MSVC CRT selection in new
projects. Using this method however breaks the current CMake script for
CUDA test. The reason is the CUDA test uses "FindCUDA" CMake module to
detect and set up CUDA support in CMake, which is deprecated since CMake
version 3.10, and which does not support CMAKE_MSVC_RUNTIME_LIBRARY
selector correctly (i.e. it does not propagate the compiler option
related to the CRT).
I did not find a way to "patch" in the correct compiler options, so
(while knowing this feature is only available from CMake 3.15 on) I
decided to change also the way CUDA is handled and instead of using
FindCUDA, used enable_language. Apart from having some nice additional
side-effects, it also fixed the problem with CRT selection.
However, the propagation of the compiler options (and in particular the
options related to C++ standard selection) is still a bit flaky on
Windows+MSVC platform, so it had to be done manually.
The patch makes two things in parallel:
1) Introduces MSVC_BUILD_STATIC, which, together with CMake version >=
3.15, allows building static version of the 'fmt' lib (and all the
tests).
2) At the same time, for CMake >= 3.15 it switches handling of CUDA
support from (old) FindCUDA to (new) enable_language, to fix the
problems which the old method has with the new CRT selector for MSVC in
a new CMake.
Added a check for CUDA before enabling it.
Using VERSION_LESS instead of VERSION_GREATER_EQUAL
Since apparently VERSION_GREATER_EQUAL exists only from CMake 3.7, while
Android is using CMake 3.6.
Removed MSVC_RUNTIME_LIBRARY logic from the CMake file.
The static build can be set on the command line with CMake >= 3.15
by defining the policy and the CMAKE_MSVC_RUNTIME_LIBARY this way:
cmake -G <gen> <options>
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
-DMSVC_BUILD_STATIC=ON
-DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$<CONFIG:Debug>:Debug>"
When MSVC_BUILD_DEBUG is set the test 'posix-mock-test' is skipped as it
does not build with the static runtime.
2019-09-25 06:46:11 -07:00
ac59d9f3a4
workaround VS2019 Update 3 compiler bug. ( #1328 )
2019-09-24 11:29:29 -07:00
8f27ce4d8b
add test for multiple compilation types
2019-09-24 06:25:21 -07:00
89b0c71fa9
fix name clash in header-only mode
2019-09-24 06:25:21 -07:00
f6a783ad2e
fix get
2019-09-24 06:25:21 -07:00
ccc8f5db02
Disable integral operator<< ( #1316 )
2019-09-23 20:34:08 -07:00
20fdb88a1c
Remove redundant and nonportable test ( #1313 )
2019-09-23 13:36:12 -07:00
f29901097f
Don't use const char* overload of operator<< ( #1309 )
2019-09-23 12:35:08 -07:00
758446c80d
Fix a warning ( #1319 ) and simplify code
2019-09-19 16:00:40 -07:00
f7aedc5fc4
Fix shared build on Solaris
2019-09-19 14:12:03 -07:00
840a817ed2
add oss fuzz badge
2019-09-19 08:23:05 -07:00
79c923ba2c
fmt.pc.in: Fix for cross compilation
...
These variables get set to /usr/lib and /usr/include , which is totally wrong in a cross compilation
environment.
Changed to standard pkgconfig values consistent with most other ones.
2019-09-16 17:18:21 -07:00
5dc577c064
Update ChangeLog.rst
2019-09-12 18:20:48 -07:00
c6d1a94a9f
Fix fallback_format ( #1306 )
2019-09-09 17:28:53 -07:00
0656045d02
Fix format overload that takes text_style ( #1305 )
2019-09-08 18:41:02 -07:00
c85ae23c73
Add max_value
2019-09-08 09:21:30 -07:00
b3bf665764
Implement multiplication and part of assignment from pow of 10
2019-09-08 08:27:00 -07:00
0887887e23
Implement left shift
2019-09-07 18:10:36 -07:00
ac71d853be
Refactor normalize and clean up
2019-09-07 17:28:59 -07:00
6649b8e0ca
value -> bigit
2019-09-07 14:23:19 -07:00
56b5c192a0
Add a bigint stub and reenable grisu
2019-09-07 13:50:22 -07:00
b2f0b6e44e
Tweak comment
2019-09-07 08:43:35 -07:00
3d9f3c163b
Integrate new format string compilation
2019-09-07 07:01:51 -07:00
19547d5148
Update index.rst
2019-09-06 13:27:28 -07:00
972ffd3151
Update README.rst
2019-09-06 13:13:30 -07:00
2ed412fa38
Update README.rst
2019-09-06 13:03:14 -07:00
df4dcf2ece
Fixed vs 2015 warning about unused variable when grisu is off
2019-09-06 11:29:56 -07:00
f7a4b4ab91
Make numeric alignment optional
2019-09-06 09:43:53 -07:00
611cf0b3c6
Format octal 0 as 0
2019-09-06 07:03:47 -07:00
58a8f2f539
Add ccache to the list of projects
2019-09-06 06:26:09 -07:00
1882b9687b
Reduce the numer of ifdefs with an empty (u)int128_t fallback
2019-09-05 18:03:47 -07:00
6de0454b42
Add support for built-in __int128 when available
2019-09-04 07:05:08 -07:00
16e3c48bb0
Move definition of FMT_USE_INT128 to core.h
2019-09-04 07:05:08 -07:00
8ce5f680f2
Rename internal::is_integral and internal::is_arithmetic
...
To reserve space for the type traits sharing the same name as the ones
from standard library.
2019-09-04 07:05:08 -07:00
2fd8f9ec8a
Initial implementation of optimal compile-time formatter generation
2019-09-02 19:50:30 -07:00
fe642d7648
Clarify use of the core API in header-only mode ( #1296 )
2019-09-02 17:14:30 -07:00
a128b5b2cb
Simplify format string compilation
2019-09-02 06:48:19 -07:00
466128de00
Remove unused code and refactor
2019-09-01 13:08:53 -07:00
22e98a5b6a
Make compile work with user-defined types
2019-09-01 11:49:27 -07:00
f18a3f36a7
Remove string_view_metadata
...
string_view_metadata was introduced to make compiled format relocatable.
However, format string compilation is an optimization and therefore
adding overhead and extra complexity for relocation is undesirable.
In most cases the string will be either static or outlive compilation
and formatting and if it doesn't, it's possible to make compiled
representation relocatale by other means.
2019-09-01 11:10:49 -07:00
7cad33563c
Refactor format string compilation
2019-09-01 10:28:41 -07:00
e1ab6bc006
Simplify format string compilation
2019-09-01 08:31:32 -07:00
24a88545d9
Add -Werror to tests
2019-08-31 09:26:45 -07:00
422e7b9d70
Fix compile-time checks for user-defined types ( #1292 )
2019-08-31 08:35:38 -07:00
d1dd9d5327
Document floating-point n specifier ( #1291 )
2019-08-31 08:16:47 -07:00
9a56a608ee
Fix warnings ( #1288 )
2019-08-31 08:16:47 -07:00
c76957565c
FixedEnum -> StrongEnum and make it a regression test
2019-08-31 08:16:47 -07:00
200ee6f108
Fix minor clang-tidy warnings
...
using instead of typedef.
climits instead of limits.h
Added missing cast to size_t.
2019-08-31 07:02:21 -07:00
bcd9b9331a
Map not int enum to correct underlying_type ( #1286 )
...
* Map not int enum to correct underlying_type
* Use non-zero constant in TestFixedEnum
2019-08-31 06:25:38 -07:00
345ba07f1d
Add a CUDA test
...
test cuda: import fmt in CUDA source code
Current test is only for Windows(cl.exe).
Need to test more with the other host compilers...
* Activate the test when `find_package(CUDA)` worked
* The test runs with C++14
Detailed comments in 'test/cuda-test'
test cuda: add more comment / macro check
* checks both `__NVCC__` and `__CUDACC__`
More comments for CMake and CUDA source file.
test cuda: <fmt/core.h> checks NVCC and CUDA
The header file checks 2 things.
* __NVCC__: if the compiler is from NVIDIA
* __CUDACC__: if the source code is CUDA(.cu) file
Since we can't sure all users prefer latest, Version for
`find_pacakge(CUDA)` is downgraded to 9.0.
This is the minimum version for C++14 in CUDA
2019-08-30 17:45:50 -07:00
9e2490be4c
Rename precision parameter
...
To avoid clang warning:
fmtlib/include/fmt/chrono.h:753:32: error: declaration shadows a field of 'formatter<duration<type-parameter-0-0, type-parameter-0-1>, type-parameter-0-2, void>' [-Werror,-Wshadow]
2019-08-28 07:29:04 -07:00
3f75e2b69e
Make buffer_range public and update custom formatting docs ( #1281 )
2019-08-28 06:50:20 -07:00
744302add0
Workaround broken [[deprecated]] in Intel compiler ( #1273 )
2019-08-28 05:58:09 -07:00
f5556225a4
Eliminate shadow variable warning
...
gcc-9 gives the following shadow warning:
```
In file included from /Users/libraries/ioss/src/fmt/ostream.h:12,
from /Users/libraries/ioss/src/Ioss_DatabaseIO.C:59:
/Users/libraries/ioss/src/fmt/format.h: In function 'void fmt::v6::internal::parse_format_string(fmt::v6::basic_string_view<Char>, Handler&&)':
/Users/libraries/ioss/src/fmt/format.h:2442:10: warning: declaration of 'struct fmt::v6::internal::parse_format_string(fmt::v6::basic_string_view<Char>, Handler&&)::writer' shadows a global declaration [-Wshadow]
2442 | struct writer {
| ^~~~~~
/Users/libraries/ioss/src/fmt/format.h:1703:7: note: shadowed declaration is here
1703 | using writer = basic_writer<buffer_range<char>>;
| ^~~~~~
```
Since the `writer` struct is only used internally in the `parse_format_string` function, its name can be changed somewhat aribtrarily to avoid conflicts with names in an outer scope.
Note that this warning is also present in the 6.0.0 release.
2019-08-27 14:29:39 -07:00
ad3c7855e2
Fix typos.
2019-08-27 06:26:17 -07:00
7512a55aa3
Update version
2019-08-26 06:23:37 -07:00
9bd2f1f9af
Temporarily disable Grisu
2019-08-26 06:11:44 -07:00
b9815cf048
Simplify part_counter
2019-08-25 08:30:59 -07:00
fe00cddde2
Move part counter to the namespace scope
...
to reduce the number of instantiations
2019-08-25 08:22:43 -07:00
1a7d172dc7
which_value -> kind
2019-08-25 08:08:46 -07:00
006c2546f2
Get rid of basic_prepared_format
2019-08-25 07:57:56 -07:00
4ce006fb6e
Simplify format string compilation
2019-08-25 07:48:09 -07:00
e2e557e273
Remove preparator
2019-08-25 06:47:15 -07:00
a5f470eb10
Test and fix compiled format_to_n and formatted_size
2019-08-25 06:38:41 -07:00
4070c1d80b
PrepareTest -> CompileTest
2019-08-25 06:22:13 -07:00
f8b59251c4
Remove unused preparator
2019-08-24 12:48:24 -07:00
643aa4c8c4
Simplify format string compilation
2019-08-24 09:39:40 -07:00
ffe29a92f4
Get rid of internal::compile
2019-08-24 09:04:03 -07:00
e94d723667
Fix compiled format string version of format_to_n
2019-08-24 09:00:30 -07:00
a9337395a2
Remove unused variable
2019-08-24 08:46:15 -07:00
562a9f4991
Remove parts_container_concept_check
2019-08-24 08:41:43 -07:00
b257c56e51
Fix size types
2019-08-24 08:36:14 -07:00
1488df3395
Bump version
2019-08-24 07:31:25 -07:00
b918e3ff81
Fix docopt usage
2019-08-24 07:24:42 -07:00
23b04ca6d5
Update usage instructions
2019-08-24 07:16:45 -07:00
5d5918a74d
Update usage instructions
2019-08-24 07:04:24 -07:00
413d97b33a
Fix formatting in changelog
2019-08-24 06:46:43 -07:00
790fd90f40
Update changelog
2019-08-24 06:34:19 -07:00
c0890be77d
Update changelog
2019-08-24 06:32:47 -07:00
5a4b24613b
Update the default floating-point format docs ( #1270 )
2019-08-22 15:21:14 -07:00
45dc3486fe
Update license
2019-08-22 08:37:36 -07:00
5a353fa8cf
Draft license
2019-08-21 14:31:22 -07:00
c84d227da9
Update changelog
2019-08-21 13:06:21 -07:00
b2d4ca1546
Workaround an issue with std::filesystem::path being an infinitely deep range ( #1268 )
2019-08-21 11:22:59 -07:00
2aae6b120c
Fix doc for importing header only target with CMake
2019-08-14 13:59:15 -07:00
9f09b8eed1
Fix a warning
2019-08-11 11:38:16 -07:00
2bb8120d98
Fix a warning
2019-08-11 09:27:59 -07:00
c1e97392be
Fix warnings
2019-08-11 08:44:12 -07:00
4e99e09bb3
Fix warnings
2019-08-10 16:56:57 -07:00
1607a01870
Suppress a warning
2019-08-10 14:15:55 -07:00
e8219952c6
Restrict fmt::compile to literal strings
...
to make sure we don't break the API too much when making all of this
compile-time only.
2019-08-10 13:18:11 -07:00
544b537334
Update changelog
2019-08-10 10:01:23 -07:00
83c13a1fe3
Update changelog
2019-08-10 09:56:13 -07:00
2546dafece
Update changelog
2019-08-10 09:25:16 -07:00
02c04b1736
Update changelog
2019-08-10 07:59:33 -07:00
5360ab0b59
Fix iteration over named arguments ( #1168 )
2019-08-09 11:53:07 -07:00
b615eca964
Update changelog
2019-08-05 05:37:44 -07:00
22a42c0b01
Cleanup compile implementation
2019-08-04 11:15:43 -07:00
c63624ed45
Update changelog
2019-08-04 10:38:33 -07:00
211d312406
Don't terminate on I/O errors in report_error
2019-08-04 09:38:47 -07:00
ef55e74e08
Update changelog
2019-08-04 09:20:49 -07:00
612669d343
Update changelog
2019-08-04 07:28:48 -07:00
ba63ac8c18
Make format_to a non-member
2019-08-04 06:47:49 -07:00
3fe49163bd
Revert "Make format_to a non-member"
...
This reverts commit a5bd3ddb28
.
2019-08-03 16:12:34 -07:00
a5bd3ddb28
Make format_to a non-member
2019-08-03 08:36:53 -07:00
3df0ea34e5
Remove unnecessary overloads
2019-08-03 08:26:51 -07:00
436acf3489
Make formatted_size & format_to_n non-members
2019-08-03 07:54:49 -07:00
823128049b
Make format a non-member
2019-08-03 06:31:24 -07:00
1dfa2591b3
Make operator _a constexpr
2019-08-01 16:56:49 -07:00
6f2dd30e38
Simplify udl_formatter return type
2019-08-01 16:56:49 -07:00
431d0f85cf
Use basic_string_view in non-template UDL
2019-08-01 16:56:49 -07:00
ad71f5a706
Use forwarding references in UDL template
2019-08-01 16:56:49 -07:00
d0f2f3b816
Update usage.rst
2019-07-27 20:25:40 +03:00
eac2796ce3
Fix locale detection
2019-07-26 12:13:05 +03:00
ee36257469
Internalize format_part
2019-07-26 09:02:45 +03:00
bbf0bada33
Simplify compile
2019-07-26 07:58:19 +03:00
3730b4f039
Cleanup compile implementation
2019-07-25 21:26:22 +03:00
25ff2efc0a
Update changelog
2019-07-25 19:59:59 +03:00
9393fe26f6
prepare -> compile
2019-07-25 19:39:41 +03:00
b48ffc14a4
Update changelog
2019-07-25 18:44:40 +03:00
3268531bc9
Workaround a broken C locale on Windows
2019-07-25 12:55:23 +03:00
8bd59ec936
Use fputws for outputting wide strings
...
Also adds fwide byte/wide orientation checking to verify streams are
able to receive the character type in question.
On Windows, the fwide calls are no-ops that pass through the second
arg and optimize out the if statement entirely.
2019-07-25 10:29:32 +03:00
1235f0a24a
Fix typo in usage.rst
2019-07-24 15:54:02 +02:00
4fb73d1145
Update README.rst
2019-07-21 15:28:48 +02:00
f9ceefb0fe
Fix a warning and is_negative usage
2019-07-19 14:18:10 +02:00
6bcc3fd216
Fix warnings
2019-07-19 13:27:41 +02:00
6a497e1d06
Fix warnings
2019-07-19 06:18:46 +02:00
e9b9b0aefa
clang-format
2019-07-18 06:28:53 +02:00
ec24342b2b
Fix more warnings
2019-07-18 06:28:17 +02:00
230b24944c
Fix sign conversion warnings
2019-07-17 21:18:55 +02:00
cadd92d69f
Fix #1232 .
2019-07-17 11:52:10 +02:00
41076d1de3
Use FMT_THROW
in fmt/color.h.
...
This allows fmt to be compiled with `-fno-exceptions`.
2019-07-17 10:15:31 +02:00
d561cb47a7
Opt-in macro to enforce use of compile-time format strings
2019-07-16 07:08:59 +02:00
699fe8e711
Remove const qualification in compile-time checks
2019-07-15 09:20:16 +02:00
da2d33f1f1
Update changelog
2019-07-12 16:21:13 -07:00
af4734fd15
Fix warnings
2019-07-12 16:03:12 -07:00
a3a74672a0
Update signatures
2019-07-09 17:05:34 -07:00
c11e68305f
Update signatures
2019-07-09 17:01:13 -07:00
dd8cc8b0ba
Disallow passing views as lvalues
2019-07-09 12:18:48 -07:00
f6f0415b83
typedef -> using
2019-07-07 17:14:26 -07:00
c92dc37464
typedef -> using
2019-07-07 15:40:34 -07:00
e3f20d3e13
Remove gcc 4.4 workaround and use proper alias templates ( #940 )
2019-07-07 14:35:56 -07:00
b438812324
Clean up is_output_iterator
2019-07-07 12:59:55 -07:00
bc15e3700e
typedef -> using
2019-07-07 10:44:06 -07:00
cf5ebf2059
Cleanup
2019-07-07 10:09:22 -07:00
9c20e72de3
Cleanup
2019-07-07 07:58:30 -07:00
79209598f5
core_format_specs -> sprintf_specs
2019-07-07 06:54:25 -07:00
5488d0b53a
spec -> specs
2019-07-07 06:39:20 -07:00
e4f84ee1c6
Refactor format_specs for #1109 and #940
...
Refactor `format_specs` and related APIs to support variable-width fill
(#1109 ), improve naming consistency, remove legacy setters (#940 ), and
optimize layout.
2019-07-06 20:57:40 -07:00
8e0dcd20b3
Remove old deprecated functions
2019-07-06 07:55:52 -07:00
1d3e3d8c04
Make the 'n' format specifier work with grisu disabled
2019-07-04 15:15:14 -07:00
bc628f8d49
Fix EXPECT_DEBUG_DEATH_IF_SUPPORTED ( #1214 )
2019-07-04 07:55:36 -07:00
edd13fcc1c
Fix small number rounding with fixed precision in grisu
2019-07-04 07:11:40 -07:00
6a031347e5
Remove unnecessary qualification
2019-07-03 21:14:45 -07:00
bc14c6ee20
Use the decimal point from locale
2019-07-03 17:55:00 -07:00
476f25cd81
Remove ancient gcc workaround
2019-07-03 16:37:02 -07:00
c9d5a08ed8
Add the 'n' float format specifier
2019-07-03 16:36:23 -07:00
f487ddbdfa
thousands_sep -> add_thousands_sep
2019-07-03 16:18:12 -07:00
d8fd1699b1
Make data names follow naming conventions
2019-07-03 16:14:14 -07:00
c286ffc88d
int_traits -> uint32_or_64_t
2019-07-03 16:01:21 -07:00
1289782f06
Get rid of add_thousands_sep
2019-07-03 15:50:05 -07:00
2249f5571e
Simplify thousands separator handling and cleanup
2019-07-03 15:30:45 -07:00
e76446958c
Cleanup and remove deprecated visit
2019-07-03 14:31:01 -07:00
de37de912b
Remove deprecated color API
2019-07-03 14:19:24 -07:00
df1a3a141b
Remove null_terminating_iterator
2019-07-03 14:00:55 -07:00
78dec87a46
typedef -> using
2019-07-03 11:05:20 -07:00
ded0a3bb3d
Internalize undocumented basic_writer
2019-07-03 10:01:03 -07:00
83174f2a1f
Refactor ranges
2019-07-03 07:23:08 -07:00
c2e84ee9cc
Fix FormatTest.StrError on Solaris
2019-07-03 06:09:24 -07:00
2711cb1672
Apply clang format and other minor formatting tweaks
2019-06-30 08:52:15 -07:00
ab0ba8a9d0
Don't emit decimal point if there are no trailing digits ( #1210 )
2019-06-30 08:44:59 -07:00
bd3fd3bfda
clang-format
2019-06-30 06:58:49 -07:00
260c115908
Fix formatting of 0.0 with ( #1210 )
2019-06-30 06:54:41 -07:00
9d97201ede
add oss-fuzz support
...
see https://github.com/google/oss-fuzz/pull/2381
the history of the fuzz branch is long and messy and
is difficult to rebase on top of the current master.
Squashed commit of the following:
commit b9d6db50010e185d0af2590a35472e9334102248
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 29 21:50:34 2019 +0200
update exception with a more accurate description
commit f3fbaf60cc80c7f57fa95962dc0069b10c3d3e61
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 29 21:34:55 2019 +0200
fix missing flags in reproduce build
commit 40a17bec7a1ad724203577842a254ca9c42da388
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 29 21:22:48 2019 +0200
move check for large precision values closer to where needed
commit ef6e23e1f52d639c5aec1a1e713157cec380a8c3
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 28 20:55:34 2019 +0200
simplify the fuzzer build script
commit eadee6e0557be6df695e80f0f2717046a29846e0
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 28 20:47:54 2019 +0200
minimize source code pollution
commit 1ece6416438f199c164ee9aa89f42ad1f21a4985
Merge: f404079b 037b84f2
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 28 20:22:52 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# CMakeLists.txt
commit f404079b4e00e51b0d5a4c9218cbe7afb350b777
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 28 20:20:52 2019 +0200
make named_arg write into a string or a memory_buffer
this makes the fuzzer consistent with the others.
commit 545dbe136817eef9e734c32991a324874a51bb4a
Author: Paul Dreik <github@pauldreik.se >
Date: Thu Jun 20 06:34:17 2019 +0200
tidy up extra newlines, missing std:: etc.
commit 2d816ef2b13fc2a46c0df76a91f7912bd7196087
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:49:08 2019 +0200
update unit test to handle expected result following review comment
commit a5b9a26808d0165acd2edc4c3baabf9bff40d8bd
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:40:06 2019 +0200
update build script to reflect changes after review
commit 8411cb78984f76c74bca273c0bb18918e084e711
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:39:39 2019 +0200
review comment: clarify what the .gitignore is for
commit 18d9e7bb43d98568fe491e076106e4fa29070b33
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:36:56 2019 +0200
review comment: don't touch root .gitignore
commit 7683d7faa116a6e261da824ec6c1a6a75689841b
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:35:40 2019 +0200
review comment: condiionally include main.cpp
commit be0bdaeb27b0c1914cc0b0fd85c2b3bcc6fd2245
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:31:28 2019 +0200
review comment: drop commented out code not working on travis
commit 013429812d7fb745eec146296623ea245c4848b4
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:30:26 2019 +0200
review comment: renumber case labels
the old ones were to be able to reuse the corpus, let's drop it
commit f66fe7bead4a71978f21d9e47a8f3f9e4935fccd
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:06:47 2019 +0200
review comment: libfmt->fmt
commit 4a4ddb654dd5b90646cd7e6ff45318c17b66dc9f
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:05:32 2019 +0200
reuse fmt_safe_duration_cast
commit 0a1679411a8bd77c2ff34e1cd572307c92e12040
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:02:48 2019 +0200
review comment: name convention, better name
C was for "chrono duration"
commit 63084cac00b798c636e0dc13207df46a5c4539f6
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 20:00:50 2019 +0200
reuse earlier extract fmt_safe_... function
commit b23388d4d7f919163ead9a9e9bdd50d14daf80b7
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:58:55 2019 +0200
review comment: don't output inf.inf
commit 6f861f1d89d2127bbe2446d176d59a354665cc15
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:57:00 2019 +0200
review comment: extract function for invoking safe_duration_cast
commit df19bc87ccff77d4bedf54fa3d3992f78ef699bd
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:47:30 2019 +0200
review comment: leftover garbage
commit 84eea802efb1164c4f2a83b2e480a7c5bdf4e921
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:45:22 2019 +0200
review comment: turn cmake option into macro for SAFE_DURATION_CAST
decided to have it on by default
commit c3a159498c2544a52662cd03d23d5a1d00537bba
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:40:14 2019 +0200
review comment: extra newline
commit aa556875c5161d817c347ff984dad171c7a35df9
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 19:38:49 2019 +0200
review comment: file name convention
commit 4102d82c455324bda4ccd64072eab86b3f0ecebf
Merge: 28add37d 4912cff6
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 17 16:29:29 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 28add37df3944cbaa00f614e8063210a6d83c17c
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 21:44:06 2019 +0200
disable check to pass travis
commit 4119378aedfd3e4063058e8f1f03c29d9f44d5e8
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 21:32:39 2019 +0200
add missing include
commit ba2efb82f20d6ecb5e49a8c6ced96a7febedc175
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 21:04:41 2019 +0200
try working around build issue on travis
commit 380671a2cb6e52f2b7d5eaad409d491baba5b7e6
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 20:22:41 2019 +0200
write positive infinity without sign
commit fd72b9adace17e00c46aae24e061bf14c3af6bb1
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 20:20:50 2019 +0200
remove leftover from merge
commit 1ae3128be2c53914e4c840d12e1b02c59758c378
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 20:14:45 2019 +0200
format to buffer instead of string
commit 1d83a561244c2fe81231d17e911c6eb24c87cac4
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 19:50:19 2019 +0200
fix warnings
commit a33b45a7bb5cf70eb3ef1cd95908282621195f1f
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 19:43:46 2019 +0200
refactor and fix warnings
commit 02afb12dd5b05804a1a8b55e1b9fb7e3de593e84
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 19:17:27 2019 +0200
use fixed size input
commit 35f84c8cf20efb18a137efecd10dcdc6bcebf7b5
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 19:07:43 2019 +0200
factor out main into a separate file
commit a23b7a198ba739dd813897901855c98441e6f29b
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 18:56:40 2019 +0200
refactor
commit 9a3f4cfb3bc32a304a1a49b8ff24fbc2f924266c
Merge: 7842582a 12f46838
Author: Paul Dreik <github@pauldreik.se >
Date: Fri Jun 14 18:20:03 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# include/fmt/chrono.h
commit 7842582a0089c24a5d44bbb2d156beb732bb7b58
Merge: 90cab5aa cbbee1b3
Author: Paul Dreik <github@pauldreik.se >
Date: Thu Jun 13 10:41:34 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 90cab5aa023271a3a746cf9c60dd613b4546ca10
Merge: 8feb8a3f e5422db4
Author: Paul Dreik <github@pauldreik.se >
Date: Wed Jun 12 18:49:08 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 8feb8a3fe20da043a8303e59b1580b4b2862cc57
Merge: e9fabac1 87fbc6f7
Author: Paul Dreik <github@pauldreik.se >
Date: Tue Jun 11 19:18:35 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit e9fabac1dd6d710fec1b30ca51dc953f57f2f9f5
Merge: eaff9316 e1a67b52
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 10 22:38:36 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit eaff93166402ff9a16a9ab0fab1081104f4f06b8
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 22:29:01 2019 +0200
drop old crashes
commit 7f861e481abb7367bd187c92fe202e25d36d0dd0
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:47:30 2019 +0200
build fuzzers as part of the linux clang 6 build
commit 42c339066dce148723f452d4a94487a6ac80637f
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:42:12 2019 +0200
travis has old libs
commit 9264e3ac82582a941eba3501301dee1468175c08
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:33:26 2019 +0200
more travis workarounds
commit c6eed3adaf6cf65d440dd58c88a034f61c55114f
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:27:49 2019 +0200
travis workaround
commit 5e230d6240841dbc67f0c08ace3a1c24defea54f
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:15:36 2019 +0200
fix constexpr issues
commit cc5fc033479c769a8ac19115aef48020c532c943
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 21:11:13 2019 +0200
add a fuzzer build
commit 3997375296eca0d0455e0935ef3aed8b010ecf2d
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:53:04 2019 +0200
fix minor documentation errors
commit 1572411261abd5c0756ff2998ab707f1131d4fdf
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:49:25 2019 +0200
polish the documentation
commit 9e5274437cfc3e9c82131c14cf7f3a0abdb10025
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:32:45 2019 +0200
remove unused headers
commit 4b2492a5e037d3153de342ef7f2729b69e8f5dce
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:28:12 2019 +0200
clang format
commit a0004ebb417bce5a24c15ea65a0f3741e45b8480
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:27:02 2019 +0200
format also void*
commit 820142ee2076ae17fea25857c41a1ecdca4a8521
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:12:21 2019 +0200
improve two_args with lessons learnt from the others
commit 7b8fd7f5123fccf78b600c69ca25d025582c095e
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:11:18 2019 +0200
improve function names
commit 641bf36a7a061abf6a02d5e31f3adeb33b079f43
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:07:29 2019 +0200
clang format
commit 7975c0c3cbe19a7159336ad8fcb170fa6259b1cb
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 20:06:02 2019 +0200
apply lessons learned from chrono fuzzer on sprintf
commit 972124c9f921f8ef786f99c294f556bb7dd9b9ee
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:55:49 2019 +0200
format to buffer instead of string
commit 7b015c692364d1e087a59dfe83dda1b8f8fd2991
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:50:25 2019 +0200
apply lessons learned from the chrono fuzzer at one_arg
commit daa8ea95dd71704e367b760fa6605f5a7cac6890
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:41:17 2019 +0200
renumber cases
commit a667365d0e0f3eb0bc6d6f2cfee5e128a6574aee
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:38:06 2019 +0200
clang format
commit e0e361b8a3594c43e131d661a28381613a186c2b
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:36:35 2019 +0200
disable fuzzing by default
commit ccb4274ab246ee1fe3becb2b73432179a8a5fe6f
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:36:25 2019 +0200
refresh named_arg with lessons learnt from the chrono fuzzer
commit 60da706d4ef35c18eb967bf4ba8d395ef05a9c61
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:36:00 2019 +0200
fix build error
commit e361bfc24246d7c7e91f5e45209eda2f22689d98
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 19:00:11 2019 +0200
add comment about formatting to string vs. memory buffer
commit 74c0ed062d34eae1786ca699886ad4f3bccc7fd1
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 18:51:23 2019 +0200
try to use better names
commit 4efea36f77020eecf3c7826f891417f94aedf6f4
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 18:46:07 2019 +0200
fix clang build error
commit 03cdd2e4631ad302dde3e1048671d3bb08956096
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 18:44:21 2019 +0200
drop workarounds fixed upstream
commit e936829ebbd97ed2e6f8c5f595b414c0982f2e4d
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 18:41:02 2019 +0200
move the fuzzers into the test/ subdirectory
commit 2967765698259764c1f06966a7cdefbc5365e5f2
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 18:30:03 2019 +0200
revert temporary tests handled upstream
commit 749c5027b0eab3d90d8fbfb6e55ee313a7f7dfe4
Merge: dee69088 5d9100fa
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:49:00 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit dee690881bd33bb77bee1d5ffce643e8bef84a33
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:40:37 2019 +0200
keep documentation comment formatted properly
commit 87d2c99487eef586ce54d432697f384cbe7a50e1
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:36:12 2019 +0200
switch to fmt constexpr macros
commit c23fa59139c425a3dfa2e5eeaeb3269c251c90d1
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:30:22 2019 +0200
clang format
commit 9e58207e9b24a8cc90c721277405b409dd61740d
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:27:03 2019 +0200
get rid of safe_duration_cast submodule
replaced with an embedded miniature version
commit a4d36eac46e5db45ded96f80f84986f4f76ea0ec
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Jun 9 17:25:00 2019 +0200
add safe_duration_cast into fmt
commit 7d5b0ecef37722c40952251c88d74a2552221d84
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 8 22:39:33 2019 +0200
mark #1194 as fixed
commit ee91514ecf7a8788f2081996db85eef50d7cd57b
Merge: 60569117 4faadff0
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 8 22:25:37 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 6056911784bc86e6caf56a61fd64142f113d531e
Author: Paul Dreik <github@pauldreik.se >
Date: Wed Jun 5 09:58:30 2019 +0200
format to small size buffer instead of string
commit 9f006097255c239188840b589f6e39cbb4476481
Author: Paul Dreik <github@pauldreik.se >
Date: Wed Jun 5 09:45:23 2019 +0200
switch to fmt::string_view and workaround reported bug
commit 387de0d9440852fac974ff165b2555d54e2380da
Author: Paul Dreik <github@pauldreik.se >
Date: Wed Jun 5 06:26:15 2019 +0200
ignore build directories
commit 55da271c5bb3c11a239c4e46570b6741803ce329
Merge: 3716491e c264e641
Author: Paul Dreik <github@pauldreik.se >
Date: Wed Jun 5 06:12:36 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 3716491ec51c34a918834857c67300eea180ba02
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 3 07:03:29 2019 +0200
fix UB in on_second
commit 2740241b13b7417a4dae655f825ea5a551ffe7ba
Merge: 1c258402 d54e64b3
Author: Paul Dreik <github@pauldreik.se >
Date: Mon Jun 3 06:37:18 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# include/fmt/chrono.h
commit 1c258402a4bd03f390e0256fa9475cc5187d37f9
Merge: ca9596d1 f57227a1
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Jun 1 08:01:58 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit ca9596d1c91b0315b407ce2c4b3e9e5ba1aeb640
Merge: 1c274cfd d07cc202
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 19:42:33 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 1c274cfd4112138bfc59dd16f58022016128fe85
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 08:12:10 2019 +0200
make it easier for the chrono fuzzer to explore
using a fixed size makes the cases cross pollinate
each other better.
the execution speed is much higher as well
commit f0d7cccdc70c98576b7129428c416e7c9e68a8aa
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 07:36:21 2019 +0200
add a build adapted for analysis of fuzzing performance
commit 56f7cf3fa979de415174a10b18221727e3138b7b
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 06:25:10 2019 +0200
allow negative values again
commit a77a5fc505bbeab1cfa36be16d40f7799689317a
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 05:45:55 2019 +0200
fix UB on signed int overflow in chrono_formatter constructor
see https://github.com/fmtlib/fmt/issues/1179
commit b6a592720be520b58ed2f2d8668ffc6c8b71f0f7
Merge: 492a2046 30bce6c1
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 30 05:26:30 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# include/fmt/chrono.h
commit 492a204623c3c4bbf04c9d47d69979d3a484959c
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 21:36:00 2019 +0200
fix bad assert
commit 0ae68b03fbb0e80e292a01f529d5cd7e76349907
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 21:35:49 2019 +0200
add unsigned types for chrono fuzzing
commit 2753d7db76645e8847ff2110c5e98f5c8de4a6b9
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 20:25:21 2019 +0200
use C++17
commit bc12742f098ec8b513985daedc57faa518203eb0
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 19:44:59 2019 +0200
add symlink for safe_duration_cast
commit 67201d2639b93736768e109d73b3e9ccc9401c48
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 19:40:40 2019 +0200
turn on safe duration cast for the fuzzer builds
commit 31a70080a63a5213594e4b4e6a33e7e315cf756e
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 19:32:52 2019 +0200
clang format
commit 981e30c5782d04453ece1b31e887da4f29268370
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 19:30:19 2019 +0200
reduce maximum allocation size
commit 7ba51da81de7ecbc5498a22dc29de5b0648bcad2
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 19:30:01 2019 +0200
make nan unit test pass
commit 95b4b9c28a589c30727826dd4e1367bebfad5894
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 18:39:08 2019 +0200
special case nan and inf
commit 2673c965506e51d150c005340698a6e15d98aaba
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 16:40:11 2019 +0200
build a fast fuzzer, for making coverage fast
commit db52b62612fd7ea3ceeaee05584fd8cb83e54a35
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 16:39:48 2019 +0200
add safe duration cast as submodule
commit c8a028faec5d91728472f5de01ea8b1766fb929d
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 16:00:26 2019 +0200
enable chrono fuzzing for non-negative values
commit de3555cc573e561691858ca16586f8b45a3ae703
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 13:06:35 2019 +0200
try start using safe duration cast
commit 5c3245118c3debcb3f6f69c04c2c32d48449ee16
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 09:59:34 2019 +0200
add failing test
commit 3a565d3b091c29210e24042f86869fecafb70914
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 09:59:09 2019 +0200
fix cmake option type (should be string, not bool)
commit 61c67564207a13992b1c69d95614b2c4aec5df86
Merge: 63e7b9e3 bb254d14
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 29 07:03:42 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 63e7b9e32c714c594d019ef463c9c40a3510a2f2
Merge: 7dd1d80f 5e7bdf1b
Author: Paul Dreik <github@pauldreik.se >
Date: Fri May 17 19:17:20 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 7dd1d80f3a32465d0fa13ce733bff8686a5b0bad
Merge: 2c9aa5a3 2a9e8b52
Author: Paul Dreik <github@pauldreik.se >
Date: Tue May 14 19:38:32 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 2c9aa5a31e64af25f8bb4afa8134258822532d3e
Merge: 16a442c8 2c77562b
Author: Paul Dreik <github@pauldreik.se >
Date: Tue May 14 06:33:16 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 16a442c864dbdce70c22b4a859dba5e3b5edaf35
Merge: b1d70b61 f4dfd6e3
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 12 15:24:31 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# include/fmt/chrono.h
commit b1d70b6144c7a61e580eb44ec7d1bdd2368f5531
Author: Paul Dreik <github@pauldreik.se >
Date: Fri May 10 08:52:57 2019 +0200
prevent excessive time (found by oss-fuzz)
the following triggered this:
std::string message =
fmt::format("\377{:.214718908}\377", fmt::arg("/\0", 0.f));
there are probably more places with calls to fill_n which could be checked
commit 9a91093a6b20fd22afd6739f5dcba3b00f6f8eaf
Merge: 7de0fdec e9bab6d0
Author: Paul Dreik <github@pauldreik.se >
Date: Thu May 9 06:06:32 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# include/fmt/chrono.h
commit 7de0fdec38270f2d0302413904a5ef1b13d47177
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 20:08:53 2019 +0200
clang format
commit bb375e1ca10eb3cc2c6684bf698ad4738ab7eb10
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 19:47:10 2019 +0200
seems to pass the unit test now (except for the nan stuff from victor)
commit 786b4b7351bc8e305ad7e68d11ca6b542f66d456
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 19:25:23 2019 +0200
add assert triggering data, and unit test
commit 2790e480b81ec83d00315aa69407fe71b8c4c637
Merge: fa859a05 ca978b3d
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 18:42:51 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit fa859a05c2c3abef263166f3a44cdbaa3122d642
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 18:18:54 2019 +0200
add crash
commit 1f6e341b1c4bc966a44c7a98b63f22bd65958d0b
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 18:18:27 2019 +0200
assert floating point is finite internally
commit 50877748d08a0f4433af4f1213c5bc9021e76e7a
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 17:32:03 2019 +0200
invoke undefined behaviour inside chrono
commit bac7ac4149f2d001f7b36236e1710484674d029b
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 17:31:35 2019 +0200
refactor the fuzzer build script
commit b19c4cd84a0c8b6d4a7beb281ad881156173ce78
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 16:25:11 2019 +0200
add one more crash
commit 7607592e06ebaa189dc180441fa1863430e0938e
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 16:24:05 2019 +0200
add crashing input
commit b059a98b27b40cd284e08a54493c25363d743557
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 16:21:25 2019 +0200
trigger undefined behaviour with NaN durations
commit 7cce33250282b397c00159e6809125f5fc1c0190
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 16:20:51 2019 +0200
add asan only fuzzer
commit 757319a4e30978d8661b3be8f75937266071b413
Merge: a574b21c c1d430e6
Author: Paul Dreik <github@pauldreik.se >
Date: Sun May 5 06:34:59 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# test/chrono-test.cc
commit a574b21c840339abef5e4ad33612b6efac6ad54b
Author: Paul Dreik <github@pauldreik.se >
Date: Sat May 4 12:54:13 2019 +0200
disable chrono fuzzing for now
it triggers integer overflow and is not trivial to solve.
commit ff17322bceba53e0c2d9ebcf3756115ad148195e
Merge: d6a59851 29c10fbf
Author: Paul Dreik <github@pauldreik.se >
Date: Sat May 4 07:29:39 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit d6a598511c7dc0c208c2d688b2943b0d7c092029
Merge: 663b1592 4a4d72f9
Author: Paul Dreik <github@pauldreik.se >
Date: Wed May 1 20:44:16 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
# Conflicts:
# test/chrono-test.cc
commit 663b159235f8ae5f58fe80bb02d49bfa392056b0
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 22:36:07 2019 +0200
add crash case (triggers assertion)
commit 082a5cb226142ea30b415d4231cea9425748741a
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 21:44:19 2019 +0200
add const
commit b8d70919ea6be0d2e4c58ef82887496f55125ba9
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 21:29:43 2019 +0200
provoke assertion
fmt/include/fmt/core.h:246:
typename std::make_unsigned<_Tp>::type fmt::v5::internal::to_unsigned(Int)
[with Int = long int;
typename std::make_unsigned<_Tp>::type = long unsigned int]:
Assertion `(value >= 0) && "negative value"' failed.
commit e1966013af4eb7febf047d4629cc6236a6aae0e3
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 20:46:16 2019 +0200
add more crashes
commit 1394ae3fe915319ce7dc63d6a9dc820a29c9539e
Merge: 89338cad 4c721e3a
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 17:16:14 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 89338cad4eed9441644ec8c5f1687b511c829ea4
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 09:40:32 2019 +0200
add notes on how to reproduce crashes
commit 7dc3e4c7223617da274c4cccb9cf5459d0510e0b
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 09:28:20 2019 +0200
add crashes from chrono duration
commit b62e8bc783134c2d15ebf0372c8a61b41624e6b1
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 09:26:53 2019 +0200
rename fuzzer
commit 7f4ab2b80d072fe3ad96e37e45f3fa807a85c99f
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 09:15:38 2019 +0200
clang format
commit a6cc2a35a9799e88b9ed89e578b7aefd9b09ad09
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 09:12:04 2019 +0200
add chrono duration fuzzer
commit 682713c9a61d52b46e95fdb7d970a8733f77ce88
Merge: 8b934b37 8d8ea21c
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 28 08:07:56 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 8b934b37161d1389de603ced6560982507bb7ae5
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 10:23:44 2019 +0200
clang format
commit 793d97b9af33269f5628094f547f9771e968e3f2
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 10:23:17 2019 +0200
tighten memory allocation
commit e2301f2430b15c9817433206597ef82c990f49a0
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 10:19:56 2019 +0200
clean up and set license (BSD 2-clause simplified, same as fmt)
commit e64c3fb35719afa644dee1f9f17829cace6e17ff
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 10:04:23 2019 +0200
clean up and add afl
commit ab46241206aaf46759fd3f292ee4a1088b652d15
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 09:54:48 2019 +0200
drop c++17 requirement
commit 20c01e1acf330c8a28192f55b16efeebddb72ab0
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 09:25:19 2019 +0200
initial oss-fuzz compatible version
commit 6cbd91a37cf36a1d0e994bb16cf44a12622f7dca
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 08:42:51 2019 +0200
initial commit of fuzzers from https://github.com/pauldreik/fuzzfmt
commit eaddfb16d86ef1c259b737e2aab40145b0c956a6
Merge: e37d7db3 134904c8
Author: Paul Dreik <github@pauldreik.se >
Date: Sat Apr 27 08:38:19 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit e37d7db3b938c82f569d71e6bb00bd1bf8394db7
Merge: 99b2e08b bd516e34
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 21 17:28:06 2019 +0200
Merge remote-tracking branch 'upstream/master' into fuzz
commit 99b2e08b6bef25b793df5ef07621c9c4402587de
Author: Paul Dreik <github@pauldreik.se >
Date: Sun Apr 21 10:30:56 2019 +0200
stop high memory use when fuzzing
2019-06-30 06:10:07 -07:00
037b84f214
Fix warnings
2019-06-24 16:46:48 -07:00
e37ee419c6
Export exceptions destructors
...
Reenabling Compiling and Linking as DLL.
2019-06-24 08:53:35 -07:00
e3488fcae2
Fix Warning
...
QtCreator (4.9) Clang Code Model (Clang 7) gives the
warning:core.h:404:11: error: an attribute list cannot appear here
core.h:116:24: note: expanded from macro 'FMT_NORETURN'
2019-06-24 08:53:35 -07:00
d5d5865615
Move strtod_l check to CMake since it's very system-specific
2019-06-23 17:10:57 -07:00
29ef7d31e4
Fix a warning
2019-06-23 11:09:15 -07:00
af83192d79
Fix warnings
2019-06-23 08:14:15 -07:00
6952732b6c
Remove misplaced checks
2019-06-23 06:33:07 -07:00
b97e5d8c2a
Remove deprecated fmt/time.h
2019-06-23 06:13:17 -07:00
572b077dbf
Fix warnings
2019-06-22 20:52:33 -07:00
72e519a4bd
Add formatter<std::string_view>
2019-06-22 20:26:28 -07:00
635e01fe74
Update <format> to the current wording
2019-06-22 13:44:48 -07:00
0e72c98043
Make undocumented output_range internal
2019-06-19 20:08:11 -07:00
f13906f408
back_insert_range<internal::buffer> -> buffer_range
2019-06-19 14:12:29 -07:00
22ddd4b989
Simplify feature checks
2019-06-19 07:46:09 -07:00
bb827341ed
Add FMT_FUNC where necessary
2019-06-18 09:48:23 -07:00
64c54703d4
Cleanup
2019-06-17 11:02:18 -07:00
1c3197b8d8
Fix warnings
2019-06-17 09:21:29 -07:00
fd2292f13a
Cleanup checked iterators
2019-06-17 08:30:37 -07:00
4912cff65d
Fix handling of mapped types in compile checks ( #1200 )
2019-06-16 16:06:06 -07:00
4639843839
Cleanup
2019-06-15 09:44:51 -07:00
e29708ee57
uintptr -> fallback_uintptr to avoid confusion with uintptr_t
2019-06-14 18:47:36 -07:00
f03a6c5325
Cleanup
2019-06-14 13:38:44 -07:00
6c3d584e67
Simplify warning suppression
2019-06-14 13:03:34 -07:00
12f4683883
Make iterator_t an alias template
2019-06-13 21:32:58 -07:00
874d6727e4
Remove workarounds for pre-C++11 compilers
2019-06-13 20:56:08 -07:00
a9940192fb
Fix warnings
2019-06-13 08:56:35 -07:00
34b5418359
Fix warnings
2019-06-13 07:29:10 -07:00
cbbee1b385
Fix handling of hexfloat
2019-06-12 20:53:01 -07:00
92a44db11c
Fix warnings
2019-06-12 19:44:08 -07:00
d05d42751c
Remove old msvc workaround from arg_formatter_base and fix warning
2019-06-12 19:27:23 -07:00
d32fe0f3f6
Fix hadling of nullptr
2019-06-12 09:22:36 -07:00
e5422db4b2
Fix handling of uintptr_t
2019-06-12 08:16:41 -07:00
9d7b64a259
More cleanup
2019-06-11 22:11:47 -07:00
5e293bd97a
Remove unnecessary qualification
2019-06-11 20:36:39 -07:00
4a502d9802
Add remove_reference_t
2019-06-11 20:28:05 -07:00
d384cdd397
Make is_contiguous_back_insert_iterator internal
2019-06-11 20:16:57 -07:00
32544b6108
More cleanup
2019-06-11 19:22:19 -07:00
39f522a13a
get_types -> encode_types
2019-06-11 18:50:14 -07:00
d7d2bebf99
Remove redundant typename
2019-06-11 18:29:47 -07:00
9427f15bef
Fixed issue with formatting to an array of chars
2019-06-11 18:09:18 -07:00
87fbc6f756
get_type -> mapped_type_constant
2019-06-11 07:23:39 -07:00
a48daa60e5
Remove remove_volatile
2019-06-10 20:25:04 -07:00
afdbbac75c
Cleanup
2019-06-10 18:10:26 -07:00
e33fe14f5b
Simplify visit
2019-06-10 08:28:39 -07:00
e895da2ec3
Clean up value
2019-06-10 07:58:00 -07:00
e1a67b5285
Remove TODO
2019-06-10 06:54:09 -07:00
a291f07e1a
Clean up argument mapping
2019-06-09 22:27:40 -07:00
5d9100fa2f
Move char8_t to fmt/core.h
2019-06-08 09:42:11 -07:00
4faadff0a0
Add preliminary user-defined type support
2019-06-08 09:04:46 -07:00
5d48733596
Clean up value construction
2019-06-07 19:27:20 -07:00
0f0b42861b
Cleanup
2019-06-07 17:53:25 -07:00
209db68b28
Get rid of FMT_CONSTEXPR11
2019-06-07 14:00:57 -07:00
cb4c59495e
Deprecate convert_to_int
2019-06-07 13:38:08 -07:00
40779749ac
is_formattable -> has_formatter
2019-06-07 06:51:21 -07:00
b3cf8613b1
Make formatter specializations override implicit conversions
2019-06-07 06:25:46 -07:00
3fdba04924
Reduce the number of nontrivial formatter instantiations
2019-06-06 22:02:53 -07:00
f5f3ffac59
Merge string make_value overloads
2019-06-06 08:29:16 -07:00
a38b99a188
Fix a regression in named argument handling introduced by prepare
2019-06-05 16:50:04 -07:00
aa31028b2c
char_t_impl -> char_t
2019-06-05 10:13:34 -07:00
0787d69747
Simplify SFINAE
2019-06-05 09:02:33 -07:00
bae00aa8d7
Simplify is_string
2019-06-05 08:41:00 -07:00
388bb389e6
integral_constant -> bool_constant
2019-06-05 08:14:47 -07:00
7e39c7e6f4
Put stringy stuff together
2019-06-05 07:43:20 -07:00
3eff8f94d2
Update docs
2019-06-05 06:24:18 -07:00
469a4bbd35
Use enable_if_t
2019-06-04 21:38:18 -07:00
d2ee5f2407
Merge tests
2019-06-04 21:31:23 -07:00
c264e641ea
Add conditional_t for pre-C++14
2019-06-04 18:50:30 -07:00
4aa0dc578b
Fix docs
2019-06-04 18:02:55 -07:00
064ce6b6c0
Specialize is_char for character types
2019-06-04 17:08:58 -07:00
7893d85394
Clarify why we cannot have nice things
2019-06-04 08:47:25 -07:00
5bafcb437b
Add comments about things broken in MSVC
2019-06-03 19:14:16 -07:00
1530242551
Fix signature in the docs
2019-06-03 17:35:15 -07:00
eddb84cfc0
Fix formatting of exotic characters
2019-06-03 17:08:00 -07:00
7e42c65bb6
Document a more useful to_string_view overload
2019-06-03 11:57:33 -07:00
1e6e87cb74
Update docs
2019-06-03 11:35:12 -07:00
0c6a6e0250
Get rid of the FILE* hack and reword apidocs
2019-06-03 10:27:00 -07:00
1653244c69
Fix compilation issue on VS2019 ( #1186 ) ( #1191 )
2019-06-03 08:34:27 -07:00
d54e64b3c8
Make buffer_context an alias template
2019-06-02 18:28:49 -07:00
ec6651087d
Remove old is_constructible workarounds and replace typedefs with using
2019-06-02 16:46:45 -07:00
4d4b8c238d
FMT_CHAR -> char_t
2019-06-02 15:03:37 -07:00
56d2b91108
Install git
2019-06-02 13:57:19 -07:00
89d6c959b2
Fix cmake link
2019-06-02 13:24:32 -07:00
76ef39fc50
Update vagrant config
2019-06-02 13:19:33 -07:00
af2c73772c
Implement parsing of string_views
2019-06-02 11:11:28 -07:00
9df0e2d1f1
Implement string parsing
2019-06-02 07:39:38 -07:00
5b7bbf8853
Revert "FMT_CHAR -> char_t"
...
This reverts commit 4c650057a0
.
2019-06-01 15:01:04 -07:00
4c650057a0
FMT_CHAR -> char_t
2019-06-01 12:32:24 -07:00
2833c76f22
Move char_t to template param to reduce symbol size
2019-06-01 12:14:27 -07:00
67feef5589
Make enable_if_t more std-like and move to fmt namespace
2019-06-01 10:05:16 -07:00
78daa50ffc
Fix handling of chrono durations with minimal signed rep
2019-06-01 09:36:37 -07:00
87e4ea2906
Fix a warning
2019-06-01 08:24:36 -07:00
c56b17029a
Add msvc2019 to CI
2019-06-01 07:50:15 -07:00
c929684e33
inlines count_code_points(basic_string_view<char8_t)
...
count_code_points(basic_string_view<char8_t>) was defined in
fmt/format-inl.h, and only declared in fmt/format.h, but not defined
in src/format.cc. This commit moves the overload to fmt/format.h and
inlines it.
2019-06-01 07:17:22 -07:00
f57227a148
FMT_ENABLE_IF -> enable_if_t
2019-05-31 20:09:19 -07:00
634f707f2b
Simplify char_t and remove msvc2013 from CI
2019-05-31 19:28:37 -07:00
406e632bd1
result_of -> invoke_result_t
2019-05-31 08:54:32 -07:00
49f78a427b
Demacrify
2019-05-30 21:30:29 -07:00
637bf3c6d9
Workaround a bug in clang-format
2019-05-30 11:46:31 -07:00
8302c2f33b
fmt::internal::declval -> std::declval
2019-05-30 09:46:10 -07:00
d07cc2026b
FMT_EXPLICIT -> explicit, FMT_NULL -> nullptr
2019-05-30 07:42:36 -07:00
4a7966c773
Drop gcc 4.4 from CI
2019-05-30 06:51:59 -07:00
9b3c24b99b
One weird trick to simplify docs; doxygen hates it
2019-05-29 21:09:43 -07:00
30bce6c14c
Fix a few chrono formatting corner cases ( #1178 )
2019-05-29 18:02:26 -07:00
e5512c5d57
Use static_assert instead of SFINAE in arg(...)
2019-05-29 13:21:24 -07:00
afc571aedc
Document join and relax its compiler requirements
2019-05-29 11:21:05 -07:00
ad360a62b0
add gcc 8 c++17 release build
2019-05-29 06:50:43 -07:00
3cf12d7b11
add gcc 8 c++17 build
2019-05-29 06:50:43 -07:00
bb254d146b
Disable std-format-test by default
2019-05-27 20:02:08 -07:00
291ba837f2
Remove wrong compile-time checks from printf ( #1173 )
2019-05-24 07:50:13 -07:00
01c631af95
Implement unsigned and long long parsing
2019-05-19 07:34:54 -07:00
4fcd4a4bd0
Reuse parse_format_string in scan
2019-05-18 14:18:06 -07:00
2346779d6b
More documentation fixes
2019-05-18 09:30:36 -07:00
afc1a74a6c
Minor documentation fixes
2019-05-18 09:10:17 -07:00
ad0eade471
Remove MSVC nonsense
2019-05-18 09:05:19 -07:00
28c187bcd7
Capitalize titles
2019-05-18 08:56:49 -07:00
91bb3aaf06
fmtlib.net -> fmt.dev
2019-05-17 15:42:00 -07:00
5e7bdf1b97
Clean up vagrant config
2019-05-16 12:22:04 -07:00
570453f271
Add a vagrant config for testing gcc 4.4
2019-05-16 06:26:16 -07:00
ef6282fc45
Fix gcc 4.4 build
2019-05-15 22:37:00 -07:00
e3e470bb69
Remove deprecated format_decimal
2019-05-15 10:34:45 -07:00
67179dbc23
Remove deprecated format_decimal
2019-05-15 10:34:38 -07:00
a5ffa735db
Fix gcc 4.4 build
2019-05-15 10:20:51 -07:00
5ee0804631
Experiment with scan API
2019-05-15 10:02:40 -07:00
25b72fc4cd
Move <format> to tests not to confuse users
2019-05-15 09:08:42 -07:00
d179ec5f8b
Simplify Grisu
2019-05-15 08:40:21 -07:00
2a9e8b52de
Fix advance_to() and begin() using iterator ( #1159 )
2019-05-14 08:41:11 -07:00
2c77562b13
Fix ambiguous formatter specialization in fmt/ranges.h ( #1123 )
2019-05-12 13:03:20 -07:00
98b3775297
Add support for exotic string_view iterators ( #1156 )
2019-05-12 11:07:49 -07:00
b488df6cfe
Fix Grisu3 stopping conditions
2019-05-12 08:56:50 -07:00
f4dfd6e30f
Suppress all clang-target-msvc test warning in CMake and other misc fixes ( #1151 )
...
* Fix conditional `char8_t` from `format.h` and fix `-Wunused-result` of [[no_discard]] begin() when in c++17
* Suppress `-Winconsistent-dllimport` when in clang-target-msvc
* Suppress warning _CRT_SECURE_NO_WARNINGS in MSVC and -Wdeprecated-declarations
Suppress warning _CRT_SECURE_NO_WARNINGS in MSVC and -Wdeprecated-declarations of POSIX functions in Clang target MSVC.
Those functions are used by gtest.
* Remove FMT_FUNC, mark FMT_API to export
2019-05-11 11:48:27 -07:00
a6e8ed15c4
Disable UDL templates on GCC 9 by default ( #1148 )
2019-05-11 08:58:39 -07:00
de5da50910
Fix formatting of extreme durations ( #1154 )
2019-05-11 08:42:02 -07:00
ea2976e6d5
Move internal::uintptr_t test to format-impl-test ( #1152 )
2019-05-11 06:58:22 -07:00
77d6036cd5
Fix unexpected trailing decimal point ( #1153 )
2019-05-11 06:34:47 -07:00
ccc318e807
Update README.rst
2019-05-10 10:04:44 -07:00
4c8efd694c
Update README.rst
2019-05-10 09:56:40 -07:00
d22d11b5ff
Update README.rst
2019-05-10 09:54:42 -07:00
e9bab6d028
Improve handling of large durations
2019-05-08 12:40:33 -07:00
f52c09f924
Fix format_to_n docs in 5.1.0
2019-05-08 12:40:25 -07:00
118d8bccc2
Fix compilation error under MSVC 19.21 ( #1140 )
2019-05-08 11:20:55 -07:00
6828d549e8
Add FMT_ENABLE_IF_T
...
for definitions of functions which declared using FMT_ENABLE_IF
2019-05-08 11:20:55 -07:00
3fd134be03
Move test_count_digits to format-impl-test and disable gtest warnings ( #1147 )
...
* This translation unit includes `gtest.h` in which using something like `strncpy`
Suppress MSVC warnings from `gtest.h` included.
Warning sample:
fmt-master\test\gtest\gtest.h(2873,10): warning: 'strncpy' is deprecated: This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [-Wdeprecated-declarations]
* Moving `test_count_digits` to format-impl-test then count_digits<4>(internal::uintptr_t) shall not be exported
* retaining _CRT_SECURE_NO_WARNINGS always defined should be no harms.
2019-05-07 12:09:11 -07:00
ca7c1f89dc
Fixed a compile error under MSVC.
...
The #warning directive is not supported by MSVC.
To still get a message to the user we use #pragma message() under MSVC now.
2019-05-05 14:04:04 -07:00
ca978b3d21
Fix handling of nan durations
2019-05-05 08:53:23 -07:00
c1d430e61a
Improve handling of negative durations
2019-05-04 17:52:20 -07:00
38a85502ed
Use the same rep type for seconds to prevent overflow
2019-05-04 09:22:09 -07:00
241414028d
Eliminate shadowed variable warnings from gcc-7.2
...
The gcc-7.2.0 compiler (and others) were giving shadowed variable warnings for this include file. A simple renaming of a couple local variables eliminates the warnings.
2019-05-04 08:00:31 -07:00
29c10fbf6e
Fix DLL visibility of explicit instantiation "declaration" of internal::basic_data<void> in header format.h and the explicit instantiation "definition" in format.cc ( #1134 )
...
* Update format.cc
As the explicit instantiation *declaration* of `internal::basic_data<void>` in format.h, this explicit instantiation *definition* should mirror FMT_API also.
* Mirror visibility of explicit instantiation declaration
explicit instantiation declaration of internal::basic_data<void> should mirror visibility of FMT_API
* Eliminate `__declspec(dllexport)` designation on extern template internal::basic_data<> when `extern` affected during exporting phase.
* Add `FMT_EXTERN_TEMPLATE_API` for designate DLL export `extern template`
When exporting DLL, do not designate `__declspec(dllexport)` any template that has any explicit class template declaration a.k.a. `extern template`. Instead, designate `__declspec(dllexport)` at single point where we have explicit class template definition a.k.a. normal instantiation without `extern`
Note: this is a c++11 feature.
* Delete whole `FMT_USE_EXTERN_TEMPLATES` block and its condition
1. Remove whole `FMT_USE_EXTERN_TEMPLATES` block
(trailing `FMT_UDL_TEMPLATE` block)
````
#ifndef FMT_USE_EXTERN_TEMPLATES
# ifndef FMT_HEADER_ONLY
# define FMT_USE_EXTERN_TEMPLATES \
((FMT_CLANG_VERSION >= 209 && __cplusplus >= 201103L) || \
(FMT_GCC_VERSION >= 303 && FMT_HAS_GXX_CXX11))
# else
# define FMT_USE_EXTERN_TEMPLATES 0
# endif
#endif
````
2. Delete `FMT_USE_EXTERN_TEMPLATES` condition, only condition, that trailing basic_data class template definition.
````
#if FMT_USE_EXTERN_TEMPLATES
extern template struct basic_data<void>;
#endif
````
3. Replace `FMT_API` with new `FMT_EXTERN_TEMPLATE_API` added in `core.h` for sake of extern template of `basic_data<void>`
* Add `#define FMT_EXTERN extern` only when not `FMT_HEADER_ONLY`
* Replace `extern` on basic_data<void> with the `FMT_EXTERN` condition in core.h
* replace misspelled if !define() with ifndef
2019-05-02 07:49:01 -07:00
4a4d72f917
Fix handling of invalid string in chrono formatting
2019-05-01 10:06:42 -07:00
b3cc9c0567
Merge remote-tracking branch 'upstream/master' into invalidcolons
...
# Conflicts:
# test/chrono-test.cc
2019-04-28 21:35:21 +02:00
2e3352fd05
provoke assertion
...
fmt/include/fmt/core.h:246:
typename std::make_unsigned<_Tp>::type fmt::v5::internal::to_unsigned(Int)
[with Int = long int;
typename std::make_unsigned<_Tp>::type = long unsigned int]:
Assertion `(value >= 0) && "negative value"' failed.
2019-04-28 21:34:09 +02:00
4c721e3a2f
Fix chrono formatting with invalid argument id ( #1132 )
2019-04-28 07:08:41 -07:00
8d8ea21c69
Partially implement Grisu3
2019-04-27 12:17:21 -07:00
40a7975640
Remove trailing zeros
2019-04-27 07:42:27 -07:00
cb46397dfb
Fix typo
2019-04-27 07:13:35 -07:00
134904c886
Re-enabled constexpr tests
2019-04-26 17:07:37 -07:00
bd516e3429
Convert negative precision to zero in printf ( #1127 )
...
and remove redundant check in grisu2_prettify.
2019-04-21 07:44:04 -07:00
5efb24dd2b
Add specialization test
2019-04-19 17:15:46 -07:00
946498cfbc
Fix handling of zero precision
2019-04-19 15:10:12 -07:00
6b20863918
fmt::ptr: support unique_ptr and shared_ptr.
2019-04-18 10:12:11 -07:00
d306585a3f
Don't inject internal names into std ( #1120 )
2019-04-17 13:25:31 -07:00
544b927933
Don't detect C compiler
2019-04-17 06:18:53 -07:00
dc94010fa5
Remove char_traits ( #1117 )
2019-04-16 17:08:24 -07:00
397e8dd9d5
clang-format
2019-04-15 11:39:19 -07:00
2b415b7af7
Restructure printf_arg_formatter to make it customizable
2019-04-15 11:10:31 -07:00
5d755d0a4e
Fix handling of volatile char ( #1115 )
2019-04-14 12:34:56 -07:00
bade46aae5
Optimize grisu using uint128_t
2019-04-13 13:44:41 -07:00
41fbaeb3b1
Add <format> test
2019-04-13 11:37:52 -07:00
8bc0adb9ba
Get rid of obsolete cmake stuff
2019-04-13 11:37:52 -07:00
1763d0e7a2
Add MongoDB to "Projects using this library"
2019-04-12 15:52:04 -07:00
f569c1ba28
doc fix: time -> chrono
...
Change refs to fmt/time.h -> fmt/chrono.h
RST label rename time-api -> chrono-api
2019-04-12 14:51:32 -07:00
ccd70f59ee
Workaround bogus unreachable warnings in MSVC
2019-04-11 17:59:35 -07:00
a4969ebe06
Link to fmt(...) docs from index
2019-04-10 19:22:10 -07:00
a6ad29aa34
Update <format>
2019-04-10 09:09:34 -07:00
52eb3fe274
Update <format>
2019-04-10 08:29:07 -07:00
09e2ac5e46
Update <format>
2019-04-10 07:56:50 -07:00
df4ea0c76c
Update <format>
2019-04-10 06:25:42 -07:00
718f60accb
Fix shadowing warning ( #1105 ) and clang format
2019-04-08 19:14:32 -07:00
aeb5ad3ce1
Enable [[noreturn]] some.
2019-04-08 07:53:59 -07:00
2808395481
basic_buffer -> buffer
...
This reduces symbol sizes and gets rid of shadowing warnings.
2019-04-07 20:32:28 -07:00
6e37c20030
Use compile features cxx_auto_type cxx_variadic_templates instead of cxx_std_11
2019-04-07 08:47:17 -07:00
3de3d76a36
Add compile features for cmake 3.8+
2019-04-07 08:47:17 -07:00
07d5a86a7c
Fix warnings
2019-04-06 22:10:10 -07:00
ab1474ef66
Workaround segfault in doxygen and apply clang-format
2019-04-06 15:55:14 -07:00
918ab77baa
Try fixing doc build
2019-04-06 10:04:56 -07:00
735b1fadc3
Only update key on Linux
2019-04-06 09:49:35 -07:00
3c531b735b
Fix expired key error when installing with apt
...
Error:
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packagecloud.io/github/git-lfs/ubuntu trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B05F25D762E3157
W: http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg : Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses weak digest algorithm (SHA1)
W: Failed to fetch https://packagecloud.io/github/git-lfs/ubuntu/dists/trusty/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6B05F25D762E3157
W: Some index files failed to download. They have been ignored, or old ones used instead.
2019-04-06 09:32:38 -07:00
f10a7e2e46
Test exotic pointer formatting
2019-04-06 09:04:44 -07:00
bd8177177a
Add support for platforms without uintptr_t
2019-04-06 08:11:03 -07:00
0302927f56
Optimize pointer formatting
2019-04-05 20:36:37 -07:00
bb6842ba35
Simplify to_string
2019-04-05 19:15:22 -07:00
b23c8633fa
Detect presence of uintptr_t
2019-04-05 07:43:00 -07:00
b588d7f35f
Fix a couple of deprecated things.
2019-04-04 16:26:22 -07:00
018d8b57f6
Remove broken snprintf
2019-03-30 20:27:52 -07:00
1987db663b
clang-format
2019-03-30 07:48:53 -07:00
a6d1ad741d
handle fwrite results #1098
2019-03-30 07:48:53 -07:00
e979c782d3
Extend basic_writer with write() method for doubles with optional format_specs argument
2019-03-25 19:16:41 -07:00
9e1531c1e1
install pkg-config file into libdir
...
Most pkgconfig files contain a Libs: variable, which is either /usr/lib
or /usr/lib64. If a 32bit and a 64bit variant of fmt libraries is
installed, the last one wins. As a result compiling for the other
bitsize will fail.
Instead of sharedir use libdir as install target.
Fixes commit 9d0c9c4bb1
Fixes commit 287342dab1
Signed-off-by: Olaf Hering <olaf@aepfle.de >
2019-03-25 19:15:35 -07:00
0a66e4cbbb
Update README.rst
2019-03-24 11:37:07 -07:00
91acfe6852
Fix UBSAN warning
2019-03-22 07:56:02 -07:00
b7e6bf9671
clang format
2019-03-21 20:51:37 -07:00
da0ea4161a
Make compile-time checks work with fallback formatter ( #1088 )
2019-03-21 19:26:53 -07:00
7ad3015f5b
Added missing typename to FMT_STRING. ( #1089 )
...
* Added missing typename to FMT_STRING.
This is so that FMT_STRING can be used in a template.
2019-03-20 20:37:00 -07:00
f0b572da05
Update wording test
2019-03-20 06:53:31 -07:00
6d416cf674
Forward declare is_string<FILE*> specializations
2019-03-19 05:20:18 -07:00
b742f622ab
Create PR template to help agree to the licensing terms ( #1083 )
2019-03-18 14:41:17 +01:00
02a6f16b52
Update LICENSE.rst
2019-03-17 18:49:12 -07:00
294fd7df96
Remove isinf workaround
2019-03-17 14:49:19 -07:00
17c6900f83
Update docs
2019-03-17 14:15:48 -07:00
0faa968cc3
Make floating-point formatting locale-independent
2019-03-17 13:26:56 -07:00
bc784d3625
Remove isnan workaround
2019-03-17 12:23:36 -07:00
53379dfd0c
Don't set CMAKE_BUILD_TYPE if fmt is a subproject ( #1081 )
2019-03-17 10:50:40 -07:00
76d326a2a2
Enable grisu for general format
2019-03-17 09:48:50 -07:00
c21c6b8c4b
Move enable_if to template params
2019-03-16 15:15:38 -07:00
ec645ca262
Update readme and doxygen config
2019-03-16 10:47:50 -07:00
ae0b0dab9f
Remove obsolete TODO
2019-03-16 10:04:16 -07:00
5466a5b41f
Document inherited members
2019-03-16 08:22:16 -07:00
9b392a683d
Update readme
2019-03-16 07:59:58 -07:00
0fa65cf329
Add example
2019-03-16 07:36:27 -07:00
fdd0149e71
Update readme
2019-03-16 07:27:53 -07:00
e19a95b271
Update readme
2019-03-16 06:51:35 -07:00
ef39274973
Update readme
2019-03-16 06:47:18 -07:00
a7f68dcc01
Update readme
2019-03-16 06:46:19 -07:00
1428b34299
Update readme
2019-03-16 06:30:50 -07:00
97619e27a2
More fixed precision tests
2019-03-15 10:20:20 -07:00
dd6cc0e6ac
Merge time-test into chrono-test
2019-03-14 18:10:56 -07:00
a939c75956
Merge fmt/time.h into fmt/chrono.h
2019-03-14 18:07:42 -07:00
17e4b53926
Make chrono formatting work without exceptions ( #1062 )
2019-03-14 18:01:03 -07:00
a82b3680dc
More tests and fixed precision fixes
2019-03-13 19:47:07 -07:00
287342dab1
cmake: default FMT_PKGCONFIG_DIR to a relative path
2019-03-13 11:28:50 -07:00
e28429ee73
Prevent overflow with zero precision
2019-03-13 10:46:25 -07:00
49bbf3c876
Simplify shadowing warning fix
2019-03-13 08:29:37 -07:00
5e5506f833
Update readme
2019-03-12 06:08:18 -07:00
e06523361d
Visual Studio 2017: warning C4456: declaration of 'result' hides previous local declaration
2019-03-11 14:15:23 -07:00
ebec00138b
Reword licensing part
2019-03-10 17:42:36 -07:00
8daa3c6834
Clarify contribution licensing
...
This is similar to https://github.com/apple/swift/blob/master/CONTRIBUTING.md
with an explicit clause that allows changing license for #1073 .
2019-03-10 17:38:26 -07:00
0d418a8d58
Update and rename CONTRIBUTING.rst to CONTRIBUTING.md
2019-03-10 17:25:06 -07:00
4c66dad8c1
Refactor digit generation
2019-03-10 15:45:06 -07:00
b1f7cca89e
stop -> handler and swap args
2019-03-10 14:43:26 -07:00
f90d33ca12
error_ulp -> error
2019-03-10 14:29:28 -07:00
78c755dc48
Update readme
2019-03-10 12:17:35 -07:00
f230170157
Update readme
2019-03-10 12:13:14 -07:00
ced8aa8c9e
Update readme
2019-03-10 12:07:57 -07:00
77d54251f0
Update benchmark results
2019-03-10 11:21:24 -07:00
1632f72cbe
Test get_round_direction
2019-03-10 11:14:50 -07:00
8129b9bc46
Test that the library can be compiled witout locales
2019-03-10 07:57:29 -07:00
835087dd04
Add color-test
2019-03-10 07:57:29 -07:00
4523053e6f
Fix typos.
2019-03-10 07:49:33 -07:00
8407f4cb24
Round close to zero fixed precision
2019-03-09 15:18:34 -08:00
49d244c065
Don't emit more than precision digits ( #1072 )
2019-03-09 13:53:23 -08:00
3466d9c845
Don't override fixed formatting depending on exponent ( #1072 )
2019-03-09 13:22:07 -08:00
93d22dec35
Implement rounding up and clean up FP formatting
2019-03-09 10:40:36 -08:00
d560ddac25
Temporarily disable Grisu for fixed formatting
2019-03-08 19:09:05 -08:00
2d981bb133
Add documentation for '%' format type. ( #1071 )
2019-03-06 11:50:32 -10:00
d8434baa03
Declare the size of RESET_COLOR.
...
This is so that the format with a text_tyle will compile even if
header-only mode isn't enabled. Addresses #1063 .
2019-03-06 09:41:45 -10:00
8f7780a4f6
Correct comment
2019-03-06 09:23:16 -08:00
2e526a664a
Fix handling of output iterator in ranges
2019-03-06 08:10:46 -08:00
79b79f329e
Add support for '%' type to output floating point values as a
...
percentage.
This helps with compatibility with Python's format strings.
2019-03-05 17:36:20 -08:00
287eaab3b2
Increment output iterator in basic_writer::write for character types ( #1056 )
2019-02-26 12:16:34 -10:00
a97757736b
Use grisu for fixed precision
2019-02-23 15:50:50 -10:00
327d4b6e9e
Fixes for some pedantic warnings ( #1054 )
...
* Fix order of initializers
* Remove unused parameter
* Disable warning "-Wswitch-enum"
2019-02-23 09:40:08 -10:00
8af651be39
Implement fixed precision
2019-02-22 10:47:27 -10:00
187bd1b8b2
Clarify lifetimes of named_arg parameters ( #1051 )
...
* Clarify usage of fmt::arg
Document that fmt::arg takes a non-owning
reference, even if that reference is to
a temporary. As such, users should make sure
the lifetime of the reference lasts as long
as the named argument.
* Clean up language
Remove mentions of `std::reference_wrapper` and rvalues
in favor of more common terminology like dangling references.
2019-02-22 06:37:19 -10:00
4e5694fd05
Update arg signature
2019-02-21 17:38:30 -10:00
82c24edcf6
Workaround a bogus Qt Creator warning
2019-02-19 06:33:55 -10:00
ed138d794a
test: assert-test: fix typo in else-branch of EXPECT_DEBUG_DEATH_IF_SUPPORTED
...
Patch by Ievgen Liubymkin (jackyf).
2019-02-18 14:02:02 -10:00
0476a51cba
Add Sublime syntax ( #1037 )
2019-02-15 15:08:58 -08:00
c5aad69f2a
Restore deprecated begin()
2019-02-15 15:00:02 -08:00
5b0006476a
Make stopping condition configurable in grisu
2019-02-14 18:25:13 -08:00
a44238f2ef
Improve grisu
2019-02-13 20:03:27 -08:00
83808076e3
Minor cleanup
2019-02-13 19:28:02 -08:00
9660ea1bff
Simplify format string checks
2019-02-10 18:00:19 -08:00
4a9d676362
Gradle 4.10 >> Gradle 5.2
...
TravisCI
- replaced from manual Gradle download to install with 'sdkman'
- changed build name
Gradle
- updated build tool version
2019-02-10 16:15:32 -08:00
f041f128f5
Minor cleanup
2019-02-10 15:20:40 -08:00
e4572e5def
Update std implementation
2019-02-10 07:56:33 -08:00
442fa1bd46
Decouple format and parse contexts
2019-02-09 20:39:37 -08:00
744e66bb08
Deprecate format_context::parse_context()
2019-02-09 16:15:20 -08:00
d231d68a8b
Fix handling of custom context
2019-02-09 07:36:09 -08:00
01f34d0b0b
Fix library deprecation warning
...
Since C++17, using template specialization 'std::allocator<void>' in any shape or form (even just mentioning it) is deprecated! A simple workaround is replacing 'void' by another (preferably empty) type, e.g. 'fmt::monostate'.
Found by Clang 9 in Visual Studio.
2019-02-07 12:20:46 -08:00
9a0a24f90b
Test is_streamable with overloaded comma operators
2019-02-06 15:44:59 -08:00
430e6ac9b6
Protect against overloaded comma operators in decltype
2019-02-06 15:44:59 -08:00
467520e7a4
Remove unused macro
2019-02-06 11:34:59 -08:00
5a314a5288
Eliminate extra copy on floating-point formatting
2019-02-06 10:17:50 -08:00
9989e7f4e3
Update benchmark results
2019-02-04 17:56:33 -08:00
31510cb437
Fix warnings from Visual Studio
...
Name hiding.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-02-04 11:58:56 -08:00
61c9b563c2
Replace 'std::result_of' by 'std::invoke_result' where possible ( #1025 )
...
C++17 deprecated 'std::result_of' in favour of 'std::invoke_result' and will ban it outright in C++20. Therefore
- implement 'internal::result_of' in terms of 'std::invoke_result' when compiling C++17 mode.
- implement 'internal::result_of' in terms of 'std::result_of' when compiling in modes C++11 or C++14.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-02-04 11:25:22 -08:00
864b9a2202
Correct the comment
2019-02-04 08:29:39 -08:00
1538336836
Remove unnecessary checks
2019-02-04 08:25:41 -08:00
22de5a755f
Fix warnings from Travis
2019-02-03 15:25:09 -08:00
355eb6d29a
Enable grisu for shortest roundtrip (default) formatting
2019-02-03 10:38:28 -08:00
b8d34e0db3
Fix rounding
2019-02-02 09:19:46 -08:00
e61cac687d
Minor grisu improvements
2019-02-02 07:41:52 -08:00
7fbbfed8c6
Fix warnings caused by usage of deprecated functionality
2019-02-02 05:48:39 -08:00
c3268f4e50
Remove use cases of deprecated functionality
2019-02-02 05:48:39 -08:00
34951f1999
Replace comments regarding deprecation with attributes
2019-02-02 05:48:39 -08:00
3f52336e6c
Simplify formatter selection
2019-01-30 19:39:42 -08:00
7ca8fc3b17
Fix a bogus warning
2019-01-30 07:06:40 -08:00
5289dd600b
Test formatting of special numbers
2019-01-30 06:56:46 -08:00
bf6529f2ce
Update docs
2019-01-30 06:07:59 -08:00
0700612249
Implement 'chrono' formatting specifiers '%Q' and '%q'
...
Howard Hinnant's 'date' library recently gained these two new formatting specifiers. This implementation in {fmt} includes support for 'std::chrono::duration' specializations with floating-point representation types and user-definable precision.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-01-27 11:10:08 -08:00
06c005b7b0
Clarify that compile-time checks don't support named arguments
2019-01-27 10:10:13 -08:00
4f6fda558c
Add a grisu test stub
2019-01-27 10:10:13 -08:00
9f70b034e1
Implement precision for floating-point durations.
...
The formatting syntax follows p1361r0, augmented by a precision field as proposed in #1004 .
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-01-23 07:17:00 -08:00
7cdb1e5e40
Workaround broken is_default_constructible in MSVC
2019-01-21 10:54:49 -08:00
5f1ceebc7f
Make formatter<T> override ostream<< for templates ( #952 )
2019-01-21 09:42:55 -08:00
1b11b000c7
Update readme
2019-01-20 15:33:30 -08:00
83f052930a
Add code from p0645
2019-01-20 15:12:01 -08:00
fdd8e333c1
Fix compilation with locales disabled ( #1011 )
2019-01-19 07:16:05 -08:00
dad1eec842
Workaround unimplemented T... on gcc 4.6.x ( #1008 )
2019-01-16 11:41:20 -08:00
b0cde860ae
Implement 'snprintf(OutputIt it, size_t n, const S &format, const Args & ... args)' ( #917 )
...
Mostly equivalent to 'sprintf(const S &format, const Args & ... args)' but generates at most 'n' characters through output iterator 'it'. The output type is the same as with 'format_to_n'.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-01-13 13:08:01 -05:00
e05dfb0887
Fix compile errors due to name-hiding and an unused function argument.
...
These problems are pointed out by clang-tidy and fail compilation on msvc at /W4 /WX.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-01-13 12:18:05 -05:00
dde095fab8
Revert "Reorder defines"
...
This reverts commit 4a059914a9
.
2019-01-13 08:13:38 -08:00
4a059914a9
Reorder defines
2019-01-13 07:40:37 -08:00
58b6f8db48
Format the code using clang-format
2019-01-13 06:58:20 -08:00
9a777b9e1c
Implemented fmt::prepare()
...
Implementation of fmt::prepare() function and features around it.
2019-01-12 10:53:31 -08:00
da55e96f53
Install ninja to fix android build
2019-01-09 15:55:29 -08:00
dc8f8ce4c0
Fix handling of dynamic width in chrono formatter
...
Thanks to Howard Hinnant.
2019-01-09 15:23:21 -08:00
f5cc77cea0
Get rid of 'null_terminating_iterator' in printf.h ( #980 )
...
The iterator class itself and its helpers 'to_pointer' are removed after reformulating the formatting loop in terms of a 'basic_string_view<Char>::iterator'.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2019-01-04 12:18:14 -05:00
39623a7400
Replaced usage of gtest's internal scoped_ptr with unique_ptr.
...
scoped_ptr was removed in with gtest google/googletest@e857f9cdd9 .
2019-01-02 19:05:51 -05:00
ae1de3a8d3
Add support for using text_style in format and vformat directly ( #993 )
...
* Closes #993
2019-01-01 09:26:54 -05:00
1b8a216ddf
Improve docs
2018-12-28 15:05:42 -08:00
b3ad759a0a
Bump version and correct changelog
2018-12-28 13:09:31 -08:00
9e554999ce
Update version
2018-12-28 12:31:41 -08:00
b34d92b051
Bump version
2018-12-28 12:23:29 -08:00
d39ece1870
Make rst2md runnable and update changelog
2018-12-28 12:04:34 -08:00
fe2d715ff1
Update changelog
2018-12-24 11:56:48 -08:00
27b306701f
Update changelog
2018-12-24 11:51:20 -08:00
68837079aa
Update changelog
2018-12-24 11:48:41 -08:00
c98b202eb4
Update changelog
2018-12-24 11:47:06 -08:00
587a7f6634
Update changelog and docs
2018-12-24 10:56:13 -08:00
84e5170c9c
Update changelog and deprecate visit
2018-12-24 10:02:41 -08:00
130e412b64
Update changelog and docs
2018-12-24 09:37:52 -08:00
0bbdca5b8b
Fix conversion warnings ( #989 )
...
* Fix sign conversion warnings
* Ignore unused local typedefs
* Remove cast reported as useless on GCC
* Remove warning on unused variable
* Enable conversion warning checking for pedantic build
* Fix sign-conversion warnings in headers
2018-12-20 06:24:19 -08:00
77a7244804
Implement fill/align/width for strftime-like formatting
2018-12-19 07:03:02 -08:00
3e01376e08
Implement fill/align/width parsing in chrono formatter
2018-12-16 09:08:11 -08:00
1f92f8a9d8
Remove noexcept
2018-12-15 06:41:32 -08:00
8668639ae2
Get rid of null_terminating_iterator in format
2018-12-15 06:17:25 -08:00
93fd473b8f
Add support for builtin terminal colors. ( #974 )
2018-12-15 06:16:00 -08:00
61ad543c3e
Windows .sln filename changed from FORMAT to FMT
2018-12-14 07:50:54 -08:00
7f7504b3f5
Clean up docs
2018-12-12 18:21:13 -08:00
37f599b1a1
Fix docs
2018-12-12 17:50:50 -08:00
8c2e15aed5
Make printf work in search ( #164 )
2018-12-12 16:07:54 -08:00
de71db6d42
Fix asan error ( #977 )
2018-12-12 11:29:39 -08:00
b180b39152
Fix default formatting
2018-12-12 06:39:47 -08:00
24594c747e
Disable printing the reset escape code when no style modifiers where applied. ( #973 )
2018-12-09 15:57:20 -08:00
b0f2224719
Implement default chrono formatting
2018-12-09 15:56:15 -08:00
749276072f
Add file stream support for stylized text printing. ( #967 )
2018-12-09 09:28:48 -08:00
f54f3d0fb7
Move chrono-specific code to a separate header
2018-12-09 06:45:20 -08:00
bf1f1c73e3
Fix time test
2018-12-07 08:19:13 -08:00
b6bc6ec246
Add default ctor and fix use of constexpr macros in text_style
2018-12-07 07:22:18 -08:00
acfa95d4a8
Workaround a bug in MSVC's strftime ( #965 )
2018-12-07 07:07:21 -08:00
628f830583
More chrono formatting
2018-12-07 06:36:08 -08:00
aa3b5aba41
Implement locale-specific minute formatting
2018-12-06 16:12:10 -08:00
639de21757
Workaround more MSVC bugs
2018-12-06 12:16:04 -08:00
3242ddf7b5
Fix warnings
2018-12-06 08:16:12 -08:00
bd1104046b
Workaround a bug in MSVC
2018-12-06 08:16:01 -08:00
81b5c4a5fd
Add experimental emphasis support ( #961 )
2018-12-06 07:56:01 -08:00
7c4eb0fbeb
Fix warnings in time.h
2018-12-05 14:38:08 -08:00
2d624218bf
Fix another warning
2018-12-05 10:19:53 -08:00
b31680990e
Fix a warning
2018-12-05 09:49:39 -08:00
b10ccb83e1
Add rpclib to projects
2018-12-05 06:42:33 -08:00
0497875ff3
Stop the orgy of casts
2018-12-05 06:27:31 -08:00
37dc495b9d
Simplify MSVC workaround
2018-12-05 06:22:18 -08:00
2ff4996d05
Fix ambiguous complier error C2666 in vs2017.The '+' opeator may cause ambiguity.Avoid implicit conversion.
2018-12-05 05:55:43 -08:00
77656c672c
Fix sign-conversion warnings reported by Clang7
2018-12-03 16:22:59 -08:00
ea5e4790bd
Fix formatting
2018-12-03 08:58:48 -08:00
86681c4bb0
Update README.rst
2018-12-03 08:04:21 -08:00
e867768ee6
Do not override user provided compile flag
2018-12-03 07:31:19 -08:00
0c7f5c3ca4
Update README.rst
2018-12-02 08:22:51 -08:00
e7e2ab1070
Make return type of basic_format_args::max_size() consistent.
...
This squashes nasty narrowing conversion warnings.
2018-12-01 17:07:21 -08:00
29352af369
Update README.rst
2018-12-01 08:19:20 -08:00
68214bd904
More time formatting
2018-11-30 20:12:01 -08:00
bcf3fcd673
Clean up bit fiddling for argument packing
2018-11-30 17:04:49 -08:00
9dcf127fa5
Workaround a bogus MSVC warning
2018-11-30 13:47:04 -08:00
b8b06e3e10
Fix conversion warnings in Grisu
2018-11-30 10:37:40 -08:00
322b2594e0
Implement more time specifiers
2018-11-30 09:25:18 -08:00
0835f1ba3b
Use full paths for fmt.pc.in
2018-11-30 06:17:33 -08:00
a084495d7e
Add Ceph to projects
2018-11-28 17:28:27 -08:00
fa1d4dbcfd
Fix warnings
2018-11-28 16:15:15 -08:00
2b2cfdac19
Update docs
2018-11-28 12:53:09 -08:00
99744f8f8f
Suppress unfixable warning
2018-11-28 12:52:41 -08:00
f5fe849238
Specialize formatter for chrono durations
2018-11-28 11:39:21 -08:00
a5a9805a91
First stub at the datetime format parser
2018-11-25 17:25:22 -08:00
645c76a9a5
Fix dummy warnings
2018-11-25 15:33:28 -08:00
fecb2d6f0d
Eliminate msvc compiler warnings ( #931 )
...
The sheer presence of 'std::gmtime' or 'std::localtime' gives rise to C4996 warnings in Microsofts compilers. Alas, the 'fallback(internal::null<>)'functions containing these library calls are never ADL-picked in the respective 'handle(internal::null<>)' selectors. Therefore hiding the fallbacks from msvc is perfectly fine.
2018-11-25 13:48:52 -08:00
64690d3a97
Add context_base::arg()
2018-11-24 10:49:48 -08:00
01640f44cf
Fully qualify dummy_int ( #941 )
2018-11-24 06:22:59 -08:00
e37d6a9840
add make_printf_args and make_wprintf_args functions ( #934 )
...
* add make_printf_args and make_wprintf_args to printf.h
add minimal test for make_printf_args and make_wprintf_args to printf-test.cc
renamed the old printf_context template to basic_printf_context_t. the original wish was to rename it basic_printf_context, but that clashed with the name of the inner typedef. this style matches the format_context_t struct.
2018-11-22 13:57:07 -08:00
982ee5c699
parse_context -> format_parse_context
2018-11-21 07:10:22 -08:00
b7b8548559
thousands_sep -> thousands_sep_impl ( #939 )
2018-11-20 15:43:17 -08:00
00a8cc8325
Fix formatting
2018-11-20 07:43:40 -08:00
33fbb3a7eb
Fix remaining linker errors.
2018-11-20 07:01:21 -08:00
bd6121596f
Disable fmt-impl-test in windows + shared lib.
2018-11-20 07:01:21 -08:00
702b3d1618
Fix link error in windows with shared library.
2018-11-20 07:01:21 -08:00
9d4ef94350
Install pdb files.
2018-11-20 07:01:21 -08:00
6c95fb3562
Default Context to format_context
2018-11-18 07:19:25 -08:00
16b78ee629
fix incompatibilities with c++2a mode in clang
2018-11-17 08:38:04 -08:00
19e008876b
More locale support
2018-11-14 16:25:49 -08:00
f2ee988105
Improve locale support
2018-11-14 12:07:39 -08:00
1385050e26
More formatter tests
2018-11-08 16:26:55 -08:00
03c1b110a5
Fix gcc 4.4 build
2018-11-08 12:41:55 -08:00
cc805c6162
Test enabled formatters
2018-11-08 10:59:10 -08:00
e01579231d
Disallow leading zeros in arg-id
2018-11-08 08:48:56 -08:00
34030deca9
Cleanup warning flags
2018-11-06 17:22:30 -08:00
6b26e3f2d7
Manifest & Gradle comment
...
- #926
- The version of android build results follows latest release(5.2.1)
- Comment for Gradle and its plugin for android
- `net.fmtlib` package name in the manifest
2018-11-05 17:31:09 -08:00
d286c97753
Update for Gradle build
...
Recovered Gradle build with latest release (ver. 4.10.2)
TravisCI
- Changed several apt configurations & build steps for Android
AndroidManifest:
- package name: fmt -> org.fmtlib
Gradle:
- Plugin version 3.1.3. Requires Gradle 4.4+
- Removed `x86` (duplicated with `x86_64`)
- `-std=c++17`. Latest NDK(clang7) should support this
- Missing `repositories` configuration
For some reason, the `repositories` config affects to the error:
"Could not find com.android.tools.lint:lint-gradle:26.1.3."
2018-11-05 17:31:09 -08:00
d951f6dfe7
Get latest Gradle (ver. 4.10.2)
...
Recovery of Gradle build. 1 of N
Modified several apt configurationss and order of the build
2018-11-05 17:31:09 -08:00
a23d592472
Fix check_format_string ( #925 )
2018-11-03 16:51:15 -07:00
36161284e2
Update docs
2018-10-28 09:28:51 -07:00
38f355d87b
Revert "find sphinx-build before calling build.py"
...
This reverts commit 07200f445a
because
the latter doesn't work with virtualenv correctly.
2018-10-28 09:26:21 -07:00
324eac1aa5
Make locales work with any character type
2018-10-28 09:03:27 -07:00
bdda4d6030
Simplify compile-time strings
2018-10-28 09:02:03 -07:00
5ee1a4bc8a
check for property 'mutable iterator' and SFINAE on it
2018-10-28 08:57:43 -07:00
2dea780fbd
change type naming and fix sfinae bug
2018-10-28 06:00:55 -07:00
b98e8301d5
add non-char support for compile-time format check
2018-10-28 06:00:55 -07:00
ccd3e8bbf3
Make is_constructible public ( #918 )
2018-10-27 17:10:19 -07:00
4373153800
Update usage.rst
2018-10-27 12:59:51 -07:00
73cfd8f325
Fix colored print
2018-10-25 17:18:46 -07:00
ec384302db
additional test for print with background color
...
checks for clashes with other function overloads in fmt with templated parameters on the first or second position in the parameter list
2018-10-25 16:54:54 -07:00
0a96c032b9
Parameterize v*printf on string type ( #920 )
2018-10-25 13:52:08 -07:00
61e6d2e38c
Fix core version of vformat_to
2018-10-25 06:21:41 -07:00
ea4010d704
Merge has_to_string_view into is_string
2018-10-24 18:16:00 -07:00
486fff597c
Add sprintf_format instantiations and remove syntactic noise
2018-10-24 16:46:32 -07:00
1e3dcbba81
fix: 'format_to_n' compiles 'std::back_inserter' arguments
...
std::back_insert_iterators model the OutputIterator concept but differ considerably in their traits and behavior. In particular the former made compilation to fail when format_to_n is given a back_inserter as first argument. The emulation of an OutputIterator is not perfect due to the behavioural differences of back_insert_iterators (e.g. assignment always implies increment) but good enough to be used within fmt's machinery.
2018-10-24 16:45:18 -07:00
f0328f8e36
Use char_traits::length in string_view ctor ( #914 )
2018-10-24 15:21:21 -07:00
895fb98456
Disallow gcc 4.4 failures
2018-10-24 10:52:13 -07:00
20c708bf6d
Fix build on gcc 4.4
2018-10-24 10:52:02 -07:00
9d0c9c4bb1
cmake: output share/fmt.pc
2018-10-24 07:14:08 -07:00
2d2326a76d
Fix compilation with older gcc
2018-10-23 07:31:24 -07:00
1ec0272303
Get rid of FMT_UNION
2018-10-22 20:19:31 -07:00
2c81c851b2
Adapt any string-like type to be used by {fmt} just like the standard string types already supported. The adaption is totally non-intrusive.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-22 18:25:52 -07:00
846c644e84
Workeround broken sprintf in MSVC
2018-10-19 07:30:59 -07:00
13d472bd8c
Compute output size for grisu
2018-10-18 17:16:50 -07:00
b71d3fe7ab
Remove use_grisu
2018-10-17 17:01:45 -07:00
847abb6f8f
Fix test
2018-10-17 11:57:06 -07:00
dda47c9466
Merge min_digits and max_digits
2018-10-17 10:49:30 -07:00
2924622157
Fix naming of basic_format_specs members
2018-10-17 10:13:10 -07:00
bda5f9a556
Replace grisu2_specs with core_format_specs
2018-10-17 08:55:45 -07:00
b1ca608bac
Remove unused empty_spec
2018-10-17 08:39:58 -07:00
e8efdef8de
Avoid extra copy
2018-10-17 08:19:46 -07:00
98f1c1fe87
Remove unused code
2018-10-14 15:36:45 -07:00
50b18a3c10
Integrate Grisu
2018-10-14 14:33:25 -07:00
699297520a
Implement Grisu rounding
2018-10-13 11:18:54 -07:00
4bb76ef0c7
Remove redundant definition of print
2018-10-13 11:15:46 -07:00
ddd7caf38e
Fix locale-dependent formatting ( #905 )
2018-10-13 11:15:41 -07:00
10e03e695b
use found python executable for launching sphinx-build
...
there is chance that the distro install python as python3, in that case
the shebang of
```
```
in build.py won't work.
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2018-10-13 09:14:53 -07:00
07200f445a
find sphinx-build before calling build.py
...
this allows us to use sphinx-build-3, as user might already in a python3
world, and distros, like fedora 28, tend to add a "-3" suffix to sphinx-build.
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2018-10-13 09:14:53 -07:00
08a65c2282
Workaround broken constexpr in MSVC2017
2018-10-11 06:38:25 -07:00
167f8fe325
Fix a typo in api.rst
2018-10-10 10:51:43 -07:00
57983423c3
Remove signbit workaround
2018-10-10 09:41:46 -07:00
7bebb3e128
Clarify overload resolution in docs
2018-10-10 09:41:46 -07:00
939fbe5567
Remove basic_fixed_buffer.
...
Issue #873 indicates that this class is no longer required,
as it has been superseded by a new API.
Fixes #873
2018-10-09 06:51:01 -07:00
61f81a0719
minor documentation corrections
...
In the Format API section, it says fmt:print writes to a file, but it
writes to a stream as referenced from fopen(3), "stream open
functions". Also in the Safety section a typo; tim should be time.
2018-10-08 06:27:25 -07:00
f27defc639
Parameterize printf functions on the type of the format string.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-08 06:22:04 -07:00
6a685571df
Make 'std::*::basic_string_view' a valid argument type for 'format_str' parameters.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-08 06:12:02 -07:00
87a0408c64
Fix ostream.h build
2018-10-07 12:58:20 -07:00
2b5acad4a9
Remove redundant size argument to write_padded
2018-10-07 12:45:34 -07:00
655ce53383
is_format_string -> is_string
2018-10-07 12:45:22 -07:00
fea712abb1
Parameterize ostream functions on the type of the format string.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-07 09:21:14 -07:00
f16a118e88
Fix non-matching char types.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-07 05:56:21 -07:00
041bf83d9b
Improve fmt::format readability
2018-10-05 18:42:02 -07:00
2299032392
Document how to write a formatter for a type hierarchy
2018-10-05 13:21:29 -07:00
f5480635c0
visit -> visit_format_arg
2018-10-05 07:15:41 -07:00
cdf3fa08dc
Put related code together in fmt/core.h
2018-10-04 19:44:09 -07:00
38325248e5
Count width in code points ( #628 )
2018-10-03 20:09:46 -07:00
deb901b9e4
Parameterize core functions on the type of the format string.
...
Take #2 of n
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-10-03 14:19:08 -07:00
0f98de3011
Update docs
2018-10-03 12:07:55 -07:00
c797708fcc
Workaround strlen being non-constexpr in ARM toolchain
2018-10-03 09:23:49 -07:00
49b4c1e9db
Update docs
2018-10-02 06:21:19 -07:00
63a87beba4
Add to_string_view
2018-10-01 18:48:18 -07:00
4e0c314654
checked_format_args -> checked_args
2018-10-01 07:14:59 -07:00
c3538a1eee
Simplify variadic functions further
2018-09-30 22:19:32 -07:00
2d7d0835d7
Simplify variadic functions
2018-09-30 21:52:47 -07:00
3f4cfa6c60
Implement UTF-8 string support
2018-09-30 15:45:58 -07:00
f8027414f5
Impelement char8_t support
2018-09-30 12:31:25 -07:00
76a47d41c8
Cleanup the use of FMT_CHAR
2018-09-30 08:45:57 -07:00
267fdc7a1b
Parameterize core functions on the type of the format string.
...
Take #1 of n
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-09-30 08:40:58 -07:00
5bced12421
Parameterize more functions on string type
2018-09-30 08:02:19 -07:00
674999c527
fix vs2017 warning fmt::v5::localtime 'not all control paths return a value'.
2018-09-30 07:23:35 -07:00
e4fea22d15
Make char8_t a strongly-typed enum
2018-09-30 07:11:37 -07:00
66992e90d2
Clarify that writing to memory_buffer appends ( #877 )
2018-09-28 06:22:12 -07:00
e864acfdbd
Fix compilation with intel compilers (ICC/ICPC) v14.0
2018-09-27 07:11:23 -07:00
4cf21f58b2
constrain templated format_to on proper format string type.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-09-26 21:05:47 -07:00
d7f17613f5
Fix compilation on platforms with exotic double ( #878 )
2018-09-26 08:45:34 -07:00
e4ca37ccf6
Parameterize format_to on string type ( #880 )
2018-09-25 07:47:15 -07:00
d66fa2216e
Reduce syntactic noise
2018-09-23 14:31:14 -07:00
48e6dcd0f2
Implement workarounds for gcc 4.4
2018-09-23 12:29:48 -07:00
0ea3221d34
Remove is_named_arg and add FMT_CHAR
2018-09-23 09:44:01 -07:00
73c53d7833
Parameterize 'printf(rgb color, ...)' and 'vprint_rgb(rgb color, ...)' on the type of the format string.
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2018-09-23 09:15:27 -07:00
d41be23acd
Simplify string_view detection
2018-09-23 07:29:35 -07:00
2def9e4c82
Remove FMT_DTOR_NOEXCEPT
2018-09-22 18:51:32 -07:00
ff6e46ed97
More cleanup
2018-09-22 16:00:34 -07:00
715f2b4c00
Remove require_wchar and internalize no_formatter_error
2018-09-21 18:25:24 -07:00
ec0cdc46f6
Workaround Windows slowness
2018-09-21 17:11:57 -07:00
3e75ad9822
Update version
2018-09-21 10:18:51 -07:00
4f043f8e00
Bump version
2018-09-21 10:07:56 -07:00
cc02cbc455
Fix formatting
2018-09-21 09:48:21 -07:00
73c0238e3b
Update changelog
2018-09-21 09:48:21 -07:00
cb122a4d03
Fix format_to formatting to wmemory_buffer
2018-09-21 09:48:21 -07:00
dc69cc45d2
Clean tests
2018-09-21 09:48:21 -07:00
9d8021f0d6
Add checks for NVIDIA's CUDA compiler
...
- Disable templated user-defined literals when compiled under nvcc
Similarly to Intel's C++ compiler, nvcc fails to compile templated UDLs
as they both share the same parsing engine (EDG C++ Front End). This
fixes building CUDA programs which make use of fmt.
2018-09-21 06:55:45 -07:00
9d2221b954
Improve error message when formatting unknown types
2018-09-20 07:01:39 -07:00
70a6a4bb01
prevent ""fmt/range.h"" from specializing fmt::basic_string_view ( #865 )
2018-09-19 20:13:05 -07:00
e4fc856c2f
Disable android build due to gradle issues
2018-09-19 19:53:47 -07:00
3f4984fb36
Clean core-test and fix linkage errors on older gcc
2018-09-19 12:24:38 -07:00
d43665056d
Workaround visit lookup issues in printf.h on gcc
2018-09-19 09:16:26 -07:00
894b6fac8e
Changed to use scoped enum
...
Changed "reusing existing formatters example" to use scoped enum instead.
2018-09-16 17:28:40 -07:00
59f555ad8f
Workaround more visit lookup issues on gcc
2018-09-15 08:46:12 -07:00
a7e356cc80
Update README.rst
2018-09-14 07:52:30 -07:00
e758bfbae1
Merge branch 'release' of github.com:fmtlib/fmt
2018-09-13 07:38:23 -07:00
66381e308d
Minor cleanup
2018-09-13 07:37:50 -07:00
295a0d84d9
Update version
2018-09-13 07:28:20 -07:00
1fb1c4c912
Update docs
2018-09-13 07:20:43 -07:00
465a593536
Add table support to rst2md
2018-09-13 07:15:18 -07:00
d62f4c3bc1
Formatting
2018-09-12 19:00:26 -07:00
a243490ad7
Add more methods to benchmark results
2018-09-12 18:28:26 -07:00
9e12ca6069
Update changelog
2018-09-12 18:07:29 -07:00
fbca830dd1
Update changelog, readme and improve compat
2018-09-12 12:44:04 -07:00
6146248cf4
Update changelog
2018-09-12 10:42:50 -07:00
bc26fbf1b0
Move experimental color API to fmt/color.h
2018-09-12 09:04:26 -07:00
97cc889374
Workaround a visit lookup issue in gcc 8 ( #851 )
2018-09-12 08:45:14 -07:00
7110b46076
Optimize default formatting
2018-09-12 08:45:14 -07:00
c8a8464f7d
Optimize buffer construction
2018-09-12 08:45:14 -07:00
8cbfb6e727
Get rid of conversion warning in gcc-4.8 ( #854 )
...
Get rid of conversion warning in gcc-4.8
Get rid of the following warning:
conversion to ‘int’ from ‘long unsigned int’ may alter its value [-Werror=conversion]
2018-09-11 06:14:39 -07:00
6ffc828a79
Phasing out null_terminating_iterator
2018-09-10 06:51:38 -07:00
aeb6add336
Skip strchr for the common case
2018-09-09 09:08:41 -07:00
5614289dd8
Optimize and simplify format string parsing
2018-09-09 08:41:27 -07:00
10c7f89351
Optimize format string processing on dumb compilers
2018-09-09 08:13:06 -07:00
59c268a5f8
Use strlen when possible since it's constexpr on gcc
2018-09-08 16:17:22 -07:00
918bb1ce8f
Optimize argument capture
2018-09-08 15:29:32 -07:00
a3ba6b4f62
Disable the fmt(...) macro by default ( #853 )
2018-09-08 09:55:41 -07:00
8671689449
Update docs and formatting
2018-09-08 09:06:54 -07:00
cc10b4607f
Make format_to faster on older gcc
2018-09-08 07:22:29 -07:00
981797f059
Get rid of implicit-fallthrough warn. in GCC 7 and 8
...
This change enables FMT_FALLLTHROUGH also for GCC-Compilers in the versions 7 and 8.
2018-09-07 12:43:32 -07:00
2117775747
Micro-optimize parsing
2018-09-05 07:10:50 -07:00
be0e268468
Optimize processing of trailing '}'
2018-08-31 15:34:31 -07:00
fbc38b9083
Pass heavy arguments by ref
2018-08-31 15:17:18 -07:00
8dc69b9da9
Workaround a bug in Intellisense
2018-08-29 20:40:54 -07:00
1489d3b7fa
Implement exponential notation
2018-08-29 18:55:57 -07:00
dd8c5ce442
Implement more FP formatting options
2018-08-29 09:34:57 -07:00
46484da711
Fix a warning
2018-08-29 07:00:24 -07:00
802ff8866e
Fix compilation of time.h when localtime_t is a macro ( #843 )
2018-08-29 06:40:54 -07:00
95a718992c
Remove conversion compiler warnings ( #844 )
...
* Remove conversion compiler warning
When compiling with g++8, I get the following two errors:
include/fmt/format-inl.h:400:29: error: conversion from ‘int’ to ‘char’ may change value [-Werror=conversion]
buffer[size++] = zero + static_cast<char>(digit);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
include/fmt/format-inl.h:416:28: error: conversion from ‘int’ to ‘char’ may change value [-Werror=conversion]
buffer[size++] = '0' + digit;
~~~~^~~~~~~
With this change, the errors are gone.
2018-08-29 06:38:56 -07:00
e483a01a0f
Implement some formatting options in Grisu
2018-08-27 17:51:49 -07:00
f51080916e
Revert "Implement some formatting options in Grisu"
...
This reverts commit 2a952dd0b2
.
2018-08-27 17:51:27 -07:00
2a952dd0b2
Implement some formatting options in Grisu
2018-08-26 09:51:49 -07:00
0de44a469a
Implement exponent formatting
2018-08-26 08:12:35 -07:00
f0d0a1ebd7
Implement Grisu2 digit generation
2018-08-25 20:45:50 -07:00
569ac91e0b
Implement Grisu boundary computation
2018-08-25 11:39:38 -07:00
a11eb3a090
Workaround various icc bugs ( #822 )
2018-08-22 09:07:17 -07:00
62010520ed
Disable gnu-string-literal-operator-template warning
2018-08-22 08:12:59 -07:00
987514761e
Make convert_to_int public ( #818 )
2018-08-22 07:40:06 -07:00
ba95e36a58
Clarify that '\0' cannot be used as fill ( #832 )
2018-08-19 08:37:40 -07:00
abde38b4fb
Add compilation support with Newlib nano for embedded targets
...
Remove the dependency on std::locale to reduce executable sizes
For embedded target the usage of locale bring a huge amount of code to the executable, just to get hold of the thousands separator. Using a static defined thousands separator makes libfmt embedded target friendly.
2018-08-19 07:40:34 -07:00
18400503da
Fix C4127 warning in basic_writer<Range>::write_double
2018-08-17 07:36:38 -07:00
9de312112a
Reformat and add a comment
2018-08-15 06:54:43 -07:00
8bbb0b48b4
Update README.rst
2018-08-15 06:34:34 -07:00
5c0101ab2d
Use the correct function signature in the docs
2018-08-12 11:34:48 -07:00
fbe6410e53
Fix docs
2018-08-12 08:52:47 -07:00
8b9fb9fb7e
Fix ambiguous instantiation with formatter in fmt/ostream.h ( #830 )
2018-08-11 09:13:54 -07:00
0f04ec68a9
Fix package upload ( #828 )
2018-08-11 07:57:45 -07:00
809073851f
Update changelog
2018-08-11 07:22:41 -07:00
5d02041c59
Update changelog
2018-08-11 07:12:52 -07:00
4b868b8922
Re-enable compile-time format-string checking
...
Since the commit 691a7a9
compile-time string checking was accidently not possible anymore.
With this change, it should be possible again.
2018-08-07 07:43:47 -07:00
4061a0d35d
Parameterize vformat to support custom char types
2018-08-05 10:44:59 -07:00
c68bab7014
Remove broken fmt::internal::format_enum ( #818 )
2018-08-01 07:11:53 -07:00
0c63d15ee9
Improve wording
2018-07-27 07:37:45 -07:00
ce19309d09
Workaround a bug in icc 15
2018-07-26 07:59:41 -07:00
c684349195
Move contiguous version of format_to to fmt/core.h
2018-07-22 18:09:22 -07:00
8db14efa84
util-test -> core-test and minor cleanup
2018-07-22 17:05:23 -07:00
ffe414cad1
Add compile-time format string checks to format_to ( #783 )
2018-07-22 15:30:51 -07:00
c178ab440f
Remove FMT_USE_RVALUE_REFERENCES
2018-07-22 15:07:53 -07:00
5befe6584d
Remove fmt/folly.h and clean up core API
2018-07-22 14:42:25 -07:00
35538ca66c
Merge more format overloads
2018-07-22 12:24:47 -07:00
4f16409730
Merge format overloads using SFINAE
2018-07-22 08:06:42 -07:00
2a4e948864
Add UTF-8 types
2018-07-22 06:36:21 -07:00
d778bded95
Make line in tests fit within 80chars
2018-07-20 17:07:23 -07:00
7b4f170c94
Fix warning about using old-style cast
2018-07-20 17:07:23 -07:00
b1d10a2884
Add support for dynamic arg sets
...
This allows construction of basic_format_args from a dynamic set of arguments. The syntax is a little clunky and could probably be improved but this at least enables the functionality.
2018-07-20 17:07:23 -07:00
cf2719bd12
Add support for types explicitly convertible to wstring_view
2018-07-18 19:12:10 -07:00
50584f42b4
Test formatting of an object with templated conversion to string-like
2018-07-18 16:24:46 -07:00
73bed45b7a
Add support for types explicitly convertible to fmt::string_view
2018-07-18 14:42:26 -07:00
6eaa507473
Fix global initialization issue ( #807 )
2018-07-18 09:49:21 -07:00
48dff9f3c5
Update docs
2018-07-18 06:44:46 -07:00
a9e261599b
Minor cleanup
2018-07-17 08:54:22 -07:00
efd8ee8a7f
Reduce warnings, support #809
2018-07-16 12:37:54 +02:00
8615ff2acc
Micro-optimize argument retrieval
2018-07-15 07:28:31 -07:00
916ed99dab
Micro-optimize argument retrieval
2018-07-14 15:28:55 -07:00
e7e9578ed4
Optimize format string parsing
2018-07-14 14:27:56 -07:00
c99a259739
Mark new functions with FMT_API ( #808 )
2018-07-14 07:43:16 -07:00
e0f6a2f8be
Add a formatter for folly::StringPiece
2018-07-14 07:31:47 -07:00
ae4a3945f5
Revert "Better support for newer CMake's"
...
This reverts commit 0eb01b832c
.
2018-07-14 06:34:20 -07:00
a317448bd4
Keep noexcept specifier when exceptions are disabled.
2018-07-13 12:46:15 -07:00
0eb01b832c
Better support for newer CMake's
2018-07-11 07:08:17 -07:00
2a4cd6d05e
Fix the returned value of format_to_n
with user-defined types having operator<<.
2018-07-10 14:01:12 -07:00
9c32e73abf
Fixing return unreachable warning on NVCC
2018-07-09 21:33:10 -07:00
e5c93108e6
Added clear() to basic_buffer
2018-07-09 20:25:49 -07:00
60c662b3a7
Add an example of reusing formatters
2018-07-08 15:00:44 -07:00
f66ba6508a
Optimize format string parsing
2018-07-08 10:15:24 -07:00
f21268aa72
Revert "Optimize format string parsing" because of a bug in MSVC
...
https://godbolt.org/g/rpiDgh
This reverts commit f9e9bf0231
.
2018-07-08 08:08:50 -07:00
07b690a679
Update README.rst
2018-07-07 18:18:56 -07:00
f9e9bf0231
Optimize format string parsing
2018-07-07 16:50:22 -07:00