Commit Graph

4952 Commits

Author SHA1 Message Date
vtta
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
Victor Zverovich
7d8c34018e
Update pull_request_template.md 2021-03-30 08:42:11 -07:00
Victor Zverovich
b966afcc7a Remove formattable 2021-03-28 14:21:12 -07:00
Victor Zverovich
ec5315a987 Use strlen when possible in fallback basic_string_view 2021-03-28 08:01:55 -07:00
Victor Zverovich
4f8778bab9 Inline basic_format_args's ctor 2021-03-28 07:32:17 -07:00
Yaser Afshar
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
Yaser Afshar
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
Victor Zverovich
0fb8ef8f79 Inline trivial argument handling functions 2021-03-27 19:05:39 -07:00
Victor Zverovich
1b23e25f95 Simplify formattability check 2021-03-27 18:57:18 -07:00
Victor Zverovich
35c71ff536 Only use -Og with optimizations disabled 2021-03-27 11:35:01 -07:00
Victor Zverovich
243d8bebd1 Enable minimal optimizations in debug mode 2021-03-27 08:40:07 -07:00
Chris White
9b34681d97
Work around xl compiler bug when nvcc preprocesses this file (#2190) 2021-03-27 06:05:49 -07:00
Vladislav Shchapov
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
Victor Zverovich
9cb347b4b2 Simplify argument formatters 2021-03-21 09:31:46 -07:00
Ryan Sherlock
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
Victor Zverovich
417e1cee9e Stop using deprecated UDL templates 2021-03-19 08:34:55 -07:00
Victor Zverovich
f7e900e12e Simplify UDL definitions 2021-03-19 08:10:58 -07:00
Victor Zverovich
d9661c8f3b Mark grouping as deprecated 2021-03-19 07:54:57 -07:00
Victor Zverovich
14a2a64df4 Fix handling of formattable types with to_string_view (#2181) 2021-03-19 06:43:38 -07:00
Victor Zverovich
6ae402fd0b Fix handling of types with to_string_view and formatter specialization (#2180) 2021-03-18 11:25:43 -07:00
Victor Zverovich
a6408a3b09 Add args-test 2021-03-18 09:04:17 -07:00
Victor Zverovich
1147782c79 Fix an ambiguous call to check caused by ADL (#2184) 2021-03-17 20:59:36 -07:00
VZ
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
Brainy0207
d0bded5988
Fix MSVC /clr builds (#2179) 2021-03-15 08:17:28 -07:00
Victor Zverovich
8308f52c2a Fix dynamic_format_arg_store::push_back comment 2021-03-15 07:10:28 -07:00
Victor Zverovich
6151d0dc1e Fix the comment 2021-03-14 09:26:18 -07:00
Victor Zverovich
5a1127b726 Don't wrap named arg in cref and clarify docs 2021-03-14 09:08:08 -07:00
moiwi
b8ff3c1820
optimize append (#2164) 2021-03-13 07:21:23 -08:00
Alexey Ochapov
c8d8b88223
fix GCC 7,8,9 warning about unused but set parameter (#2177) 2021-03-13 06:36:53 -08:00
Victor Zverovich
d28101878a Document ostream support limitation 2021-03-12 15:49:22 -08:00
Victor Zverovich
bac14ef985 Simplify integer spec checking 2021-03-12 15:02:01 -08:00
Victor Zverovich
8f9db3fcb8 Make ubsan happy on empty format specs (#2175) 2021-03-12 09:13:47 -08:00
Victor Zverovich
af567538a0 Bitpack integral prefixes 2021-03-11 21:22:33 -08:00
Victor Zverovich
cdf877d4b1 Workaround missed optimization opportunity 2021-03-11 16:44:59 -08:00
Victor Zverovich
eef4ba9c02 Optimize integer formatting without padding 2021-03-11 15:47:58 -08:00
Victor Zverovich
a1ea8a82c3 Unbloat my heart 2021-03-11 08:27:53 -08:00
Victor Zverovich
a457e16360 Simplify integer formatter 2021-03-11 08:14:03 -08:00
Victor Zverovich
05bc87a66f Optimize padding 2021-03-10 17:59:36 -08:00
Victor Zverovich
605b603735 Optimize count_digits for powers of 2 2021-03-10 14:48:07 -08:00
Victor Zverovich
85ba271639 Implement 128-bit count_digits in terms of count_digits_fallback 2021-03-10 12:57:46 -08:00
Victor Zverovich
d9835737f0 spec -> specs 2021-03-10 12:51:03 -08:00
Victor Zverovich
f9e0e90441 Apply clang-format 2021-03-10 12:08:02 -08:00
Victor Zverovich
60f5d24411 Simplify arg_formatter 2021-03-10 09:35:48 -08:00
Victor Zverovich
30e1302e73 Simplify on_format_specs 2021-03-10 08:46:16 -08:00
Victor Zverovich
87c5cd46ac Optimize parsing of argument ids 2021-03-10 07:04:04 -08:00
Alexey Ochapov
6a9016ea60
fix formatted_size with "compiled format" as argument (#2161) 2021-03-07 06:44:36 -08:00
Victor Zverovich
6e1fc01752 Move detail::truncating_iterator to fmt/compile.h 2021-03-06 08:35:36 -08:00
Jason Cobb
e718ec3e93
Make truncating_iterator an output_iterator (#2158) 2021-03-04 15:53:08 -08:00
John Steele Scott
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
Alexey Ochapov
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