This is a redo of https://github.com/merryhime/dynarmic/pull/690 with a
much smaller foot-print to introduce a new pattern while avoiding the
initial bugs
(5d9b720189)
**B**roadcasts a value as an **Xmm**-sized **Const**ant. Intended to
eventually encourage more hits within the constant-pool between vector
and non-vector code.
53d0d913a v3.5.0
1648c30ec Look just for 'Catch2 X.Y.Z' in doc placeholder update
d4e9fb8aa Highlight that SECTIONs rerun the entire test case from beginning (#2749)
b606bc280 Remove obsolete section in limitations.md
4ab0af8ba Fix minor typos in documentation (#2769)
b7d70ddcd Ensure we always read 32 bit seed from std::random_device
a6f22c516 Remove static instance of std::random_device in Benchmark::analyse_samples
1887d42e3 Use our PCG32 RNG instead of mt19937 in Benchmark::analyse_samples
1774dbfd5 Make it clearer that the JSON reporter is WIP
cb07ff9a7 Fix uniform_floating_point_distribution for unit ranges
ae4fe16b8 Make the user-facing random Generators reproducible
28c66fdc5 Make uniform_floating_point_distribution reproducible
ed9d672b5 Add uniform_integer_distribution
04a829b0e Add helpers for implementing uniform integer distribution
ab1b079e4 Add uniform_floating_point_distribution
d139b4ff7 Add implementation of helpers for uniform float distribution
bfd9f0f5a Move nextafter polyfill to polyfills.hpp
9a1e73568 Add test showing literals and complex generators in one GENERATE
21d2da23b Fix typo in tostring.md
d1d7414eb Always run apt-get update before apt-get install
dacbf4fd6 Drop VS 2017 support
0520ff443 [DOC] Replaced broken link (fixes#2770)
4a7be16c8 Fix compilation on Xbox platforms
32d9ae24b JSONWriter deals in StringRefs instead of std::strings
de7ba4e88 fn need to be in parenthesis
733b901dd Fix special character escaping in JsonWriter
7bf136b50 Add JSON reporter (#2706)
2c68a0d05 lifted suggested version
01cac90c6 Bump up actions/checkout version to v4 (#2760)
b735dfce2 Increase build parallelism on macOS (#2759)
caffe79a3 Fix missing include in catch_message.hpp
a8cf3e671 Mark `CATCH_CONFIG_` options as advanced
79d39a195 Fix tests for C++23's multi-arg index operator
6ebc013b8 Fix UDL definitions for C++23
966d36155 Improve formatting of test specification docs
766541d12 why-catch.md: Add JetBrains survey link
7b793314e Catch.cmake: Support CMake multi-config with PRE_TEST discovery mode (#2739)
0fb817e41 fix some bugprone-macro-parentheses warnings
f161110be Merge pull request #2747 from xandox/devel
db495acdb correct argument references in CatchAddTests.cmake
9c541ca72 Add test for multiple streaming parts in UNSCOPED_INFO
92672591c Make jackknife TU-local to stats.cpp
56fcd584c Make directCompare TU-local to stats.cpp
aafe09bc1 Update meson.build to fix#2722 (#2742)
47a2c9693 Reduce the number of templates in Benchmarking
fb96279ae Remove superfluous stdlib includes from catch_benchmark.hpp
e14a08d73 Remove unused typedef from Benchmark::Environment
9bba07cb8 Replace vector iterator args in benchmarks with ptr args
b4ffba508 Update sample output in docs/benchmarks.md
3a5cde55b implement stringify for std::nullopt_t
2a19ae16b Rewrite commandline test spec docs
f24d39e42 Support C arrays and ADL ranges in from_range generator
85eb4652b Add nice license headers to files in examples/ and fuzzing/
5bba3e403 Edited amalgamated file generator, to block REUSE from getting confused
e09de7222 Small cleanup in XML reporter
a64ff326b Change 'estimated' to 'est run time' in console reporter output
ad5646347 Flush stream after benchmarkStarting in ConsoleReporter
9538d1600 Mention missing catch_user_config.hpp in FAQ
a94bee771 Add missing line for v3.4.0 to ToC in release-notes.md
d7304f0c4 Constify section hints in static-analysis mode
cd60a0301 Assert Info reset need to also reset result disposition to normal to handle uncaught exception correctly (#2723)
b593be211 Always default empty destructors
ed4acded3 Don't define tryTranslators function if exception are disabled
4acc51828 Introduce CATCH_CONFIG_PREFIX_MESSAGES to only prefix a few logging related macros. (#2544)
6e79e682b v3.4.0
683c85772 Clean up explanation in tests
1b049bdba 2 more TEST_CASEs to DiscoverTests/register-tests.cpp
e4b16053a Escape Catch2 test names in catch_discover_tests tests
42ee66b5e Fix handling of semicolon and backslash characters in CMake test discovery (#2676)
a0c6a2846 Fix possible FP in catch_discover_tests tests
c8363143e Add test scaffolding for catch_discover_tests
7a52dfa77 Fix typo in cross-docs links
913173663 Bazel support: Update skylib
0631b607e Test & document SKIP in generator constructor
dff7513b2 Static analysis cleanup in tests
bf5aa7b38 Experimental static analysis support in TEST_CASE and SECTION
dba9197ec Add new config option: STATIC_ANALYSIS_SUPPORT
f60c15364 Add macro for suppressing Wshadow
b3cf1bfb5 Avoid unused variable warning in GeneratorsImpl tests
73b93ce6b Include catch_user_config.hpp in all catch_config_* files
8008625d7 Merge pull request #2693 from Ali-Amir/u/ali/optional-meson-unit-tests
ce7b15302 Add option to disable building unit tests in Meson build file.
535205e2a Suppress -Wunused-result warning in gcc
689fdcd7d Fix some tests never being run
a153fce72 Improve error messages for TEST_CASE tag parsing errors
06c0e1cfa Merge pull request #2689 from ThePhD/fix/includes/header-exception
05d7eb5a0 🛠 Add <exception> header where strictly necessary
f53bb3ae7 meson: require version >=0.54.1
ce8a7b339 Merge pull request #2687 from ChrisThrasher/sfml
6dce539fa Add SFML to the list of open source users
5a40b2275 Update CatchConfigOptions.cmake
598895d04 Fix Wredundant-decls
0dc82e08d Move CATCH_INTERNAL_STRINGIFY macro into its own header
8ca504cbc Move AssertionResult when passing it inside RunContext
c57b5cdf4 Move-enable Catch::optional
d84777c9c Fix assertionStarting events being sent after the expr is evaluated
51fdbedd1 Internal linkage for outlier_variance
10f0a5864 Some template instantiation reductions
fe64c2892 Reduce compilation costs of benchmarks
7d07efc92 Clean up iterator usage in benchmarks
f3c678c0a Constexprify constants in estimate_clock.hpp
46539b6d9 Fix spelling
10596b227 Fix unreachable-code-return warnings
897fe2a01 cmake: Improve unreachable-code warnings
aad926baf Catch.cmake: Add new DISCOVERY_MODE option to catch_discover_tests
4e8399d83 CatchAddTests.cmake: Refactor into callable method
9a2a4eadc Bump xml-format-version in XML reporter
fb806da76 Add lineinfo to XML reporter output for INFO/WARN
50bf00e26 Fix reporter detection in catch_discover_tests
9f08097f5 Cleanup internal includes by splitting out some event structs
1f881ab46 Split ITestInvoker into its own header
c487b27d9 Reduce misc includes all around
3230760db Cleanup in translating exceptions to messages
b3ebce715 Cleanup benchmarking includes
d0f70fdfd Unify IReporterRegistry and ReporterRegistry
4f4ad8ada Sprinkle some constexpr around
5b665be64 Cut out catch_interfaces_capture.hpp include from the main include
2598116aa Mark various anonymous classes final
173aa3f1f Devirtualize Context
28437e121 Remove pointless member variable from RunContext
3c8fb6bbb Internal linkage for generator trackers
72f3ce4db Outline the actual registering of listener factories to cpp file
62167d756 Reduce internal includes
678341134 Fixed extras installation and shard impl location
7b4dd326c Remove obsolete comment in multireporter
1dfaa8abe Outline throwing of TestSkipException
ba94278bd Inline trivial function in AssertionHandler
8e5a4b6f7 Remove superfluous pointer copy in AssertionStats constructor
9b884d810 Fix refactoring
8a1b3b81c Add wxWidgets as another Open Source project using Catch
e5aabb671 Add xmlwrapp to the list of Open Source projects using Catch
3a1ef1409 Use hasMessage() instead of getMessage().empty()
13fae1e2f Move exception's translation into AssertionResultData message
3220ae6d4 Add support for the IAR compiler
0a0ebf500 Support elements without op!= in VectorEquals
69f35a5ac Bazel support: Update skylib version
3f0283de7 v3.3.2
6fbb3f072 Add IsNaN matcher
9ff3cde87 Simplify test name creation for list-templated test cases
4d802ca58 Use StringRef UDL in more preprocessor-generated strings
13711be7c Use StringRef UDL for generated generator names
27ba26f74 Merge pull request #2643 from kisielk/patch-1
a209bcfb5 Update build instructions in contributing.md
584973a48 Early evaluate line loc in NameAndLoc::operator==
4f7c8cb28 Avoid copying NameAndLocationRef when passed as argument
e1dbad4c9 Inline StringRef::operator==
2befd98da Inline some non-virtual functions in ITracker and TrackerContext
00f259aeb Move captured output into TestCaseStats when sending testCaseEnded
fed143624 Avoid allocating trimmed name for SectionTracker
0477326ad Directly construct empty string for invalid SectionInfo
f04c93462 Small refactoring in AssertionResult
1af351cea Remove unused TrackerContext::endRun function
dcc9fa3f3 Use StringRef UDL for more string literals when expanding macros
bf6a15a69 Rewrite -# docs
6135a78c3 Don't insert the foo part of [.foo] tag twice when parsing test spec
e8ba329b6 Add support for iterator+sentinel pairs in Contains matcher
4aa88299a Preconstruct error message in RunContext::handleIncomplete
4ff9be3bc cmake-integration.md: Use "tests" as test target name in all examples.
76cdaa3b5 Merge pull request #2637 from jbadwaik/nvhpc_unused_warning
644294df6 Suppress declared_but_not_referenced warning for NVHPC
cefa8fcf3 Enable use of UnorderedRangeEquals with iterator+sentinel pairs
772fa3f79 Add Catch::Detail::is_permutation that supports sentinels
f3c0a3cd0 Fix RangeEquals matcher to handle iterator + sentinel ranges
42d9d4533 Add test for empty result of filter generator
618d44c44 Update docs about thread safe assertions
388f7e173 Cleanup unneeded allocations from reporters
2ab20a0e0 v3.3.1
60264b880 Avoid copying strings in sonarqube when sorting tests by file
65ffee518 Don't take ownership of SECTION's name for inactive sections
43f02027e Avoid allocations when looking for trackers
906552f8c Clean up extraneous copies in Messages
356dfc143 Move name and sample analysis in benchmarks into BenchmarkStats
e5d1eb757 Move AssertionResultData into AssertionResult in RunContext
2403f5620 Move SectionEndInfo into sectionEnded call in SECTION's destructor
d58491c85 Move sectionInfo into sectionEndInfo when SECTION ends
c837cb4a8 v3.3.0
8359a6b24 Stop exceptions in generator constructors from aborting the binary
adf43494e Add missing version information to matchers.md
efca9a0f1 Added ElementsAre and UnorderedElementsAre (#2377)
dd36f83b8 Merge pull request #2630 from ChrisThrasher/export_all_symbols
baab9e8d2 Export symbols for all compilers on Windows
2d3c9713a Remove VS2015 workaround from Detail::generate
956f915e3 Document template macros are in spearate header
aa8da505e Fix compatibility with previous CUDA versions
e27bb7198 Fix macro-redefinition issue with MSVC+CUDA
3486f8ed9 Update generator docs
b5be64204 catch_debugger.hpp: restore PPC support (#2619)
d59572f46 Reword the SKIP docs a bit
16f48f8c7 Add SUCCEED and FAIL docs next to SKIP docs
367c2cb24 Update doc about what counts as unique test case
d548be26e Add new SKIP macro for skipping tests at runtime (#2360)
52066dbc2 Fix build with GCC 13 (add missing <cstdint> include)
cdf604f30 Update command-line.md
04382af4c Slightly better clang-format
ac93f1943 Improved path normalization in approvalTests.py
72b60dfd2 Cleanup the Windows GHA builds
0c62167fe Merge pull request #2604 from ChrisThrasher/generated_includes_directory
1be954ff7 Keep generated headers within project binary directory
78bb4fda0 Mention that the benchmarks are not run by default next to example
e6ec1c238 Fix benchmarking example in the main readme
477c1f515 Fixed typo in code example in top level README.md
f8b9f7725 Prune Appveyor builds
77fbacb03 Add VS 2019-2022 C+14/17 jobs to GHA
e3fc97dff fix compiler warning in parseUint and catch only relevant exceptions (#2572)
9c0533a90 Add MessageMatches matcher for exception (#2570)
ed02710b8 Make AutoReg in test registration macros const
8b84438be Avoid usage of master when possible
git-subtree-dir: externals/catch
git-subtree-split: 53d0d913a422d356b23dd927547febdf69ee9081
Additionally changed the numeric values of the test vectors in the
32-bit element tests to match the pattern of the other tests - this
makes it easier to tell at a glance what elements are out of place if a
test fails.
f5e54359d Update version
a003ab93c Update changelog
9b7416081 `atomic_flag` formatting (#3594)
a21690bdf Coding conventions
c9efd8968 Merge branch 'MathewBensonCode-master'
e78682405 Refactor Improvement on umul128 function
2b20d7be6 Refactor To remove friend function private access
1f38ebbdb Add condition to include friend function in win32
e41817969 Fix for FMT_MODULE not compiling on GCC
0bffed895 Bump actions/checkout from 3.1.0 to 3.5.3 (#3602)
cc077a5e3 Fix `FMT_NO_UNIQUE_ADDRESS` warning with clang-cl. (#3600)
a992b3d1f Fix for Compilation Error When Using FMT_MODULE (#3597)
af1b768cc Update changelog
2a7c45b54 Update changelog
bd868f3a5 Improve compatibility with GBK #3598 (#3599)
bbb784fb1 Fix a gcc error about partial specialization after instantiation
6c845f57e Fix `formatted_size` with `FMT_COMPILE` and format specs (#3588)
a379595c5 Bump actions/upload-artifact from 3.1.0 to 3.1.2 (#3593)
9dfde7871 Bump ossf/scorecard-action from 2.1.2 to 2.2.0 (#3592)
e92a705bd Bump github/codeql-action from 2.2.4 to 2.21.4 (#3591)
5a866fe85 Add formatter for std::atomic (#3574)
e150ea0cc to_string supports types with format_as
29ce2ff8a Update README.rst
2e1362add Create scorecard.yml
e57ca2e36 Update version
4c56612c6 Update changelog
e1acd5f4d Bump version
6ffee2f75 Handle new rst nodes
ee475d640 Update changelog
ecc914125 Update changelog
d42486231 Fix fixed precision handling during rounding in long double
3c1b3337d Update changelog
35fb69ebe Update changelog
f92be35c0 Update changelog
7a2f6ac21 Fix a comment
744ff5554 Fix docs
70ae48b00 Update changelog
ebb10347c Merge branch 'master' of github.com:fmtlib/fmt
100572016 Clarify that visit_format_arg is deprecated
aeb6ad4dd Added formatter for bit_reference-like types (#3570)
96d1fa22d Update changelog
8a4bec5cf fix ambiguous formatter lookup for flat_set (#3561)
eacd51c24 cmake: fix FMT_PKGCONFIG_DIR path (#3563)
757564f5c add missing inline specifier (#3552)
f4214ae8d Use the U literal for unsigned integer constants. (#3549)
aecf80d30 Update a comment
503d49286 expose detail::throw_format_error (#3551)
4f46cb82f Remove std::copy usage. (#3550)
3dec65b7f Use replacement character in path
dbabb305c Turn off error-producing NVCC workaround when using c++20 (#3544)
ac0ab8eff Improve path formatter
40f35d6f0 Cleanup std formatters
31c2c5679 Cleanup formatters
b2728a317 Improve path formatter
77e0b0e22 Cleanup chrono formatter
e47585904 Fix overspecified tests
436c131d4 Optimize compiled format_to_n
388bc296b Fix fixed formatting of small long doubles
95e1ea573 Clarify requirement on compiled formatter
fb97cb231 Suppress a bogus stringop-overflow warning
dd5a9691f Clarify that data is not null-terminated
72dc4491e Fix format_string_checker initialisation order (#3542)
9bea6ec04 Don't use deprecated checked_array_iterator
661b23ede Call parse on empty specs at compile time
8e87d3a8b Fix include
a47491656 Update CMakeLists.txt (#3523)
de4705f84 Trying to improve errors in the unformattable case (#3478)
e4c8cfe38 README: Add link to merged clang-tidy check (#3515)
606f85f8b Workaround brain-damaged conversions
a331dbfb6 Fix type in assert message. (#3508)
13156e54b Revert "add ability to build Apple framework using CMAKE_FRAMEWORK" (#3496)
9158bea1e Remove old grisu tests
dd17f89a1 Fix for issue #3492 (#3493)
1daae555b Optimize format string compilation
6ad301235 Optimize code unit output in compiled format
8732ad877 Update docs
5afb1821a Update docs
a81135f2c Fix a link
dfc34821a Update docs
0765e7284 Update docs
977d887a4 Suppress a bogus warning
c86fe0b8d Give basic_memory_buffer allocator [[no_unique_address]] (#3485)
5dbe0ff95 Bump actions/checkout from 3.5.2 to 3.5.3 (#3486)
de0757b57 Use FMT_TRY and FMT_CATCH in std.h (#3482)
8fe893c0a Update README.rst
0f823df46 Remove detail namespace hack
60fd9941c Use correct Char type in std::filesystem::path (#3476)
8abfc145b Fix MSVC warning in std::chrono::time_point formatter (#3475)
686b3353a Simplify typeid check
b2106f363 Tweak comments
35547d600 Use const_check to silence MSVC warning
179c7e5a6 Use typeid() only if it's available
61fb3a15f Add VxWorks7 user space and kernel space support (#3467)
bd393456e Remove FMT_*_DETAIL_NAMESPACE
6be36af0d Remove udl_formatter
2a35eeed8 Remove unused data
256a826d6 Consolidate formatters
6369af37d Simplify formatters
0b8404918 Remove get_cached_power
171a020c8 Pass correct Char to base format_as formatter (#3457)
d8f04e399 Simplify ceil
5e988f8df Remove is_constant_evaluated() check
19b17618a Make constexpr ceil
c684a06d5 New CI: macOS 13, Xcode 14.3, C++ 20
abdb7fdf8 Update api.rst
8b09fe2a0 Fix example for user-defined types in documentation for 10.0.0 (#3461)
adad18a74 Update ChangeLog.rst
858e528ab Use dragon in constexpr
a54cb108d CMake: Do not fail on unknown compiler features (#3453)
ef55d4f52 Suppress a bogus gcc warning
70b6a6fa4 Update README.rst (#3454)
6fe895410 Remove invalid_arg_index
d0652d225 Create dependabot.yml (#3452)
de8d0171a Simplify FMT_FORMAT_AS
7401fe046 Hash pin Github Workflows (#3451)
08ef0d084 fix formatter<char*> (#3432)
d60b907f8 Replace mod_inv_25 by explicit value (#3450)
4ce086f73 remove code duplication (#3448)
821f8cdb4 Detemplatize printf more
0bf6ed7e1 Cleanup printf
e40e04fac Detemplatize printf_arg_formatter
0a1c27281 Detemplatize basic_printf_context
2f605cc89 Deprecate wide printf
1d54499ac Apply coding conventions
3c6053c53 Cleanup basic_printf_context
4a392adaa Remove basic_printf_parse_context
b14913fae FMT_MODULE_EXPORT -> FMT_EXPORT
2117df299 format-inl.h: address implicit int to bool conversion (#3446)
616a49378 Revert Char* formatter removal
9a034b0d5 Always assert in FMT_THROW (#3439)
e0fc0e85e Remove unneeded FMT_API
552c43aba Improve long formatters
d6846f4ac Clarify why byte formatter is in core
aeedac588 Remove unneeded specialization
eaa630769 Make hex float test more stable (#3434)
e82bf41a1 Update README.rst
e077396f5 Update docs
861facad0 Fix a typo
75bfe5761 Improve docs
697e76ba3 Don't call init_named_args unnecessarily
a425e0ff3 Cleanup xchar API
c36dd825b Remove unnecessary forwarding
130b8fcdb Reduce template instantiations
a47e8419b Cleanup the core API
ea49c91cd Cleanup argument construction
d7592ad8b Fix time_point formatting for durations with certain ratios (#3430)
ebfb2e677 Remove unused alias
5780269d5 Improve API safety
b47119216 Fix a comment
8f18e72df Improve API safety
93d7cb12f Fix formatting
0e4278717 Remove unused macro
93a30a074 unicode_to_utf8 -> to_utf8 since both sides of conversion are Unicode
a08196b14 Update ChangeLog.rst
0398ba42c Update ChangeLog.rst
a0b8a92e3 Update version
5cf2342aa Bump version
fe9d39d7c Update changelog
4c9856197 Update changelog
403b271ed Update changelog
2c991e1af Update changelog
c984df981 Remove an unused function from internal class
fbf21ed22 Update changelog
575583144 Update changelog
e7f6888c7 Update changelog
39db2dfd0 Update changelog
9b7829e26 Update changelog
1e0ce567e Fix formatting of paths containing invalid Unicode
dde8cf3bb Unification utf16/utf32 to utf8 conversion
e84b00e01 Workaround to error: variable 'n' set but not used [-Werror,-Wunused-but-set-variable]
b12ffea4f Add filesystem_error test back
f61f15cc5 Suppress a false positive in gcc
192df93d7 modules missing pieces (#3399)
d8973bf16 Add FMT_STRING for format_to() call (#3413)
d7a8e50cb Improve module testing (#3397)
02cae7e48 Improve handling of Unicode in paths
53162142b Remove .bazelrc mention from Bazel related readme (#3411)
5bcf0d7f9 Bazel support (#3406)
f8c9fabd9 Fix spelling (#3404)
62ff4e1db Remove foonathan from maintainer list (#3402)
f449ca052 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)
eafcd3c8e Optionally attach declarations to the `global module` rather than `module fmt` (#3387)
18154cc90 Simplify print
0de789cf2 Update changelog
c03938922 export names only once (#3392)
93e81bb5d Fix C4365 (signed/unsigned mismatch) warning on 32-bit Windows (#3398)
e7d6eb679 Update tests to use recommended MOCK_METHOD (#3395)
18e7a2532 Remove obsolete msvc workarounds (#3388)
0489c19dc fix and improve module (#3386)
8ec94ac6a Use full path to pcm
d97d8cea6 Push module check to test
d8a2698e6 Fix compilation as a C++20 module with gcc 13
d9c19940a Update add_module_library
4b5ae0b0e Remove unnecessary module support check
75f3b1c09 Use add_module_library
faf83406a Workaround cmake issue
165814d57 Add module support to CMake
33f715077 Fix error C2668 on msvc (#3378)
c98e5a08a Fix modular build on clang
119c6bd16 Move the modules check
77eeb7183 Remove unused headers
13bf99f9d Enable modules in clang 16
1d0257e4c FMT_MODULE_EXPORT_* -> FMT_EXPORT_*
4613d48fd FMT_EXPORT -> FMT_LIB_EXPORT
4a4a2a2bd Fix diagnostics
fce74caa1 Disable problematic implicit conversions
02bf4d1c1 Disable to_string_view ADL
466e0650e Remove problematic workaround
029caa8ea Update changelog
e406ddbfa Remove broken part of the config
909567953 Update changelog
7f46cb75b ranges: Fix extra semi (#3374)
4e3f38105 Update changelog
d3c10f516 fix compilation for MSDOS (#3369)
ab956f600 Update changelog
97aedeab4 Workaround a double-double hexfloat format (#3366)
bce8d4ed0 Remove stray comment
a91c7b286 Cleanup the core API
19c074e47 Remove deprecated fallback formatter
41cfc739f Generalize format_as
f6276a2c2 Force use a signed char (On ARM char is unsigned by default) (#3362)
6002ddf82 Remove a deprecated option
6549ffde8 Improve format_as safety
d9bc5f132 Fix code causing spurious Wstringop-overflow warning
9c5cd998d Remove unused functions
93bfa0538 %T is %H:%M:%S (#3349)
d8e1c4265 fix case of variant which is valueless by exception (#3347)
e1720c0e5 Fix CUDA nvcc warning fmt/include/fmt/core.h(295): warning #1675-D: unrecognized GCC pragma (#3352)
7f882918e `write_floating_seconds`: Fall back to `::round` (#3343)
cbc7b8d5c Cleanup dead variable (#3338)
050293646 Path is not escaped twice in the debug mode (#3321)
3daf33837 Enable consteval for Xcode 14.0.1 and later (#3331)
e0748e61d Fix recursion check in range formatting
b94e1016f chore: set permission to cifuzz.yml (#3328)
98699719f Make # handling consistent with std::format
48dfbcaa9 Improve license and PR template wording
c644c753d Add '🐙 userver framework' to the projects
73b7cee7f Fix for issue #3325 (#3326)
5b8302079 Add optional support (#3303)
3a69529e8 Fix various typos (#3312)
76f520835 Call element parse in tuple parse
507c3042d class -> typename
1741e90de Always call parse in range formatter
d646fd0da Minor cleanup
b5c2f74f4 change sopen_s to wsopen_s (fmtlib#3234) (#3293)
e03753c4a Add ubuntu mirrors (#3302)
6e6eb6377 [msvc] fix warning about non-inline variable
3c5464ba1 Fix OpenBSD build error (#3295)
655046d24 Fix container adaptor formatting
581c6292c Add formatters for container adapters (#3279)
7718eeeac Implement glibc ext for sec, min, and hour (#3271)
44e0eea94 Use FMT_HAS_INCLUDE and apply clang-format
99070899b Fix errors setting of FMT_USE_FLOAT128 (#3259)
05e3a9233 Allowing formatting non-copyable ranges. (#3290)
70db193f0 Visual Studio 2022: fmt/format-inl.h(1145,60): warning C4310: cast truncates constant value #3287 (#3288)
a2c05a10e Workaround a bug in MSVC <= 19.22
cae9bf45b Simplify apidoc comments
87c066a35 Implement `println` (#3267)
9409b2e4d Workaround for incompatibility between libstdc++ consteval-based std::is_constant_evaluated() implementation and clang-14 (#3281)
f89cd276f Refactor countl_zero fallback (#3276)
240b728d8 Report an error on overflow
dfbb952b2 Fix empty spec for time point (#3275)
39971eb33 Fix localized format for float-point numbers (#3272)
0f42c17d8 Implement a new formatting algorithm for small given precision (#3269)
bfc0924ea Bugfix for fmt::printf on Power9 architecture with the XL compiler (#3256)
676c2a107 Fix negative subsec for time_point (#3261)
2c80cedc3 Fix standard default installation target presence (#3264)
dda53082b Support fill, align & width for time point (#3260)
2622cd23e Simplify arg_mapper
9e4a54fa6 Disable remaining implicit conversions
9ce648067 Disble deprecated implicit enum conversions
9121f9b1d Enable format_as for classes
b7535365b Enable format_as for non-integral types
09ed1ddb9 Cleanup tests
0ec65d99a Merge parse_presentation_type into parse_format_specs
71e4e0272 Cleanup vprintf
aad546baa Simplify presentation type parsing
14a69fcc5 Use parse_align
bf34ffd33 Refactor format string parsing
6056e0712 Simplify symbols
aa99b8640 Minor cleanup
6ade2eb4e Inline all_int_set
caa697494 Simplify parse functions
a73a9b6a8 Refactor format string checks
72785a3ab Cleanup write
0c3dd5ddd Remove redundant check
739b600f4 Remove iterator shenanigans
3710c4d38 Link to dragonbox
a05ba44df Simplify format string parsing
ffb9b1d13 Improve handling of signed types
32190859e Fix handling of char
8fe4d97d5 Reduce template instantiations
7e5a95956 Fix build with MSVC C++20 modules (#3254)
9e6030486 Clarify that unused args are allowed
7ad48c1f6 Cleanup core.h
a921a596e Cleanup core.h
3e762fdf5 Use ignore_unused
79981a252 Cleanup ranges formatting
bd12aaa98 Simplify format string parsing
b8f36207c Simplify format string parsing
d907786f0 Move anchor to where it belongs
f2355bbe5 Fix docs
f398c9476 Fix docs
4841784e8 Simplify C99 strftime detection conditions
cb72c23e9 Improve timezone tests
583f2d820 Set timezone for chrono tests
32c439070 Minor cleanup
3a5e19fbf Minor cleanup
dfb857ebe Refactor format spec parsing
9ea9b6bcb Cleanup arg id parsing
2b0ff62a7 Remove unused template arg from format_string_checker
d1745084e Simplify parse context
407e7b7b6 basic_format_specs -> format_specs
3cf979475 Cleanup format string parsing
934c8e5f7 Refactor precision parsing
fc9693834 Remove empty semicolon
f0ab112c3 Cleanup parsing
9660e5b95 Remove redundant tests
a585571e9 Ignore 0 character with align
840ec8569 Cleanup width handlers
1dadeb8a3 Refactor width parsing
275b4b341 Remove obsolete parse-benchmark
e004f1d69 Fix for issue #3241
bde1a6070 Simplify fill and alignment parsing
040dc2a5d small typo in syntax.rst
6a186bcd6 Localize FMT_USE_LOCAL_TIME
8c56919bd Check chrono spec starts with %
115001a3b Formatting of system clocks ought to be to UTC, not to local time. This improves standards conformance of fmt.
b90895412 Fix formatting of named arguments with locale
d072f1dc6 Fix for issue #3228
3999fd193 Workaround an ADL issue
c06e0b4ed Extract timezone offset from timezone conversion functions
1bf302a4e Implement %Ez, %Oz for chrono formatter
f1733afd4 Pin godbolt example to specific version
f61dcccc6 Update README.rst
f9bcbdcbc Update README.rst
1a854b4aa Clarify what mod_inv_5 is
62ceb181b fix#3105 - Compile-time error when mixing named argument with automatic indexing
b0c8263cb include/fmt/core.h: copy constructors removal
d24be2e95 Add countl_zero function
8d50d814d Fix a chrono formatting issue found by fuzzing
115ca96e0 Bump tested CMake version to 3.25
886491625 Remove workaround for GTest bug
74c51ff37 Skip only strptime dependent test in scan-test
69ffedfe5 Use `target_compile_features` to specify C++ standard requirement
fae6f7e08 Optimize range formatter
a69e43c9d Update benchmark results
91c024ed3 Rename leading_v -> leading_xdigit
649aa102d CI linux: add CIFuzz Github action
31364732d Replace snprintf-based hex float formatter with internal implementation
74d55a493 Add missing operators
8276f1a20 Fix warning: the implicit by-copy capture of "this" is deprecated (EDG frontend)
81ebe70b9 Fix warning: a class type that is not trivially copyable passed through ellipsis (EDG frontend)
3160847eb Enable C++17 tests on macOS
6a95f8c7e Add missing env CTEST_OUTPUT_ON_FAILURE
c7980542d Skip the scan-test if strptime isn't defined (#3184)
7df30f91a Format unique_ptr with custom deleter (#3177)
d2e89c8b0 Document more chrono specs
bd1959320 Document more chrono specs
fd0d0ec8d Document more chrono specs
8e93434ed Update README.rst
fc07217d8 Make utf-8 detection compatible with gbk
cb7373b46 Replace format with FMT_STRING. (#3162)
795ed8abf Add precision modifier for seconds in chrono format (#3148)
66d71a1b3 Fixing formatting of range of range of char. (#3158)
80f8d3442 fmt::ostream - aggregate buffer instead of inheriting it (#3139)
64965bdc9 Add locale getter in tm_writer (#3147)
e1ffa7655 Fix warning: conditional expression is constant. (#3150)
8c19bf3f2 Mention MariaDB amongst the projects that use fmt (#3145)
f67dbc981 Remove duplicate implementation (#3144)
cd7202e03 Fix overflow error (#3143)
51d3685ef Remove duplicate template parameter. (#3142)
9254cfa6f Support formatting of subseconds (#3115)
cfb34a060 Avoid using `uint` as a type name (#3137)
5ad7b7138 Fix options for C++20 experimental module in CMake (#3134)
d2c47c0df Fix broken condition (#3129)
491c32cbd Workaround gcc bug 103879
662adf4f3 Move formatter<std::error_code> from fmt/os.h to fmt/std.h (#3125)
ad91cab37 Normalization of stdlib inline namespace names (#3119)
0ccaed3a6 Set CMAKE_RUNTIME_OUTPUT_DIRECTORY relative to CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#3120)
ad719619c Support formatting of std time_point with utc_clock (#3110)
6e0a5f7fb Update CI to Ubuntu 20.04 and to newer versions of actions
48f525d02 Add basic_format_string::get()
0b5cb18b7 Use buffering in to_string to avoid bloat
4c4f99a58 Update a godbolt link
3272a7a3c Update an example
a48e3355a Improve docs
afcf42429 Update docs
ac85afaab Simplify format_error
3178bb9a2 Update docs
cf58f64c5 Update docs
e4e0ae391 Use fmt/core.h in examples
d65acc4e6 Improve docs
c9f790b06 Update docs
6b8144a5a Update locale docs
2d66ad5d3 Suppress -Wshadow
042af5332 Suppress -Wfloat-equal
192859c2b Optimize writing to buffers via back_insert_iterator
e2f6d7665 fix gcc <= 7.1 compile errors
61844b6b6 Fix build error on GCC-9
7a752e75f New CI: GCC-9
94ceb38a0 Improve locale API
58c4c012f Disable slow windows build and simplify write_loc
c3494ae36 Refactor float localization
8ae56161c Fix compilation with FMT_ENFORCE_COMPILE_STRING and FMT_WERROR (#3091)
76705fc2e Update doc
21c2137e7 Add class name output to formatter for std::exception (#3076)
ecffca672 Don't parse '}' as fill
3176e0fad Add locale overload for formatted_size (#3084) (#3087)
1feb430fa Fix intellisense on Windows (#3082)
b98ffb7db Improve locale handling
bac53951b Add starts_with to basic_string_view. (#3080)
d59b89e9c More locale
58a5563a9 Implement grouping
1b94271ff Add support for UTF-8 digit separators
768d79a83 Implement format_facet
91ecb38a3 Localize negative integers
aec3bb5d0 Workaround C complex.h idiocy
29c600013 Simplify is_variant_like_ check, fix compile error before GCC 11 (#3072)
fec5515c5 num_format_facet -> format_facet
f187274d3 Add loc_value
fc5e59fe4 Don't use stringstream
d6a870460 Improve locale support
56c72a671 Reduce locale dependency
4191477b9 Add formatter for std::exception (#3062)
75383a87f Inline trivial functions
48327a82e Make format.h compile faster
b79ed4105 Remove unnecessary type_identity
64e29893c Improve locale support
0b0f7cfbf hip workaround
40e414d82 Fix compilation error with gcc-7.2.0
33b4c33c5 Requires FMT_CONSTEXPR20 support
a07411c2b Disable compile-time checks for dynamic width/precision test for LCC and compiler without std::is_constant_evaluated()
797d82b21 Disable non-type template args for LCC
a553521d6 Disable "GCC optimize" pragma for LCC
a33701196 Update version
1f575fd5c Bump version
c7635288f Fix docs, take 2
c8ed78e31 Fix docs
e07cfb206 Update changelog
1dc7af569 Fix markup
f7d21c3a1 Update changelog
a55bcb24b Update changelog
30cb2b312 Remove appveyor config
cf8d3c322 Update changelog
3c3cb6f6b Update changelog
91481f255 Detemplatize code_point_length_impl
f98048b62 Fix bugs in utf8 decoder (#3056)
4a8e2949b Fix formatting of ranges of code unit types
3a3b0709e Disable bogus -Wstringop-overflow on GCC 11 (#3054)
e724bbea1 Fix wchar_t corner cases
665d9779e Disable non-type template args for nvhpc (#3053)
13d07c6a3 Apply doc fixes retroactively
391f922ac Improve error reporting in format string compilation
dc59d3df3 Fix a warning in gtest
489dabbd3 Fix decoder on broken utf8 sequences. (#3044)
541cd2183 Fix locale name (thanks Mikhail Paulyshka)
1f95c3438 Fix sign handling with large code units
779449fd9 Belarusify test
fbb568bce nvhpc/22.3: workaround for c++17 mode. (#3043)
36c23bd5f Prepare for deprecating FindPythonInterp module. (#3040)
9ff0f3a7d Fix docs
fd41110d3 Add MinGW to CI
fc23cfbf4 Fix testsuite on MinGW + MSVCRT
fd93b633b Constexpr formatted_size (#3026)
7fb8d33f9 Fix compile-time width/precision type check
8bd02e93b Reduce conditional compilation
d9c1c7353 Use is_utf8() in print(std::ostream&, ...)
682e097be Remove -Wl,--as-needed linker option
b9087ee58 Suppress unused typedef warning
df56fdf88 Clarify docs for compile-time checks
90c48b852 Remove double code execution
5a8b7cd74 Add comment
36a25d75b Reuse detail::string_literal in the chrono formatter
6c9304b2c Replace ParseContext with basic_format_parse_context
24ab9dd19 Remove duplicate method
a95dc1701 Remove unused condition
5f774c0ae I shouldn't be there
6567df7f2 Update README.rst
6c6b1fbf6 Workaround a bug in MSVC
9beddd08f Improve CI on Windows
6452e3c9e Fix a typo in example
756822ba3 Fix Unicode handling for ostream under Windows with libc++. (#3001)
0b2862a1e Range formatter (#2983)
258000064 Add fmt:: namespace to doc (#3009)
e9ca7ea47 Suppress a bogus warning
81f1cc74a Improve Unicode handling when writing to an ostream on Windows (#2994)
bbcb129e0 Reduce filesize of the tests on MinGW (#2995)
48e0a5922 Implement compile-time checks for dynamic width/precision type
bc5c7c50f Fixes IBM XLC behavior with uint128 fallback (#2985)
00adc7120 Add a regression test for here be dragons
c48be439f Add additional search paths for doxygen on Windows
371f9c71c Fix even in format_dragon
91abfcd6c Suppress an msvc warning
deeab54b4 Remove unused include
688a627d6 Remove unused constants.
9bb1605f1 Remove some branches
8061d9afb Simplify Dragonbox implementation
d82e1a108 Make sure the correct fmod overload is called
defa04e73 Fix for EDG frontend (Intel, NVHPC compilers) (#2982)
92d36e82c The n specifier for ranges (#2981)
0db43cf7f Pointless comparison warnings (#2971)
05be7a076 Use FMT_USE_FLOAT128 instead of __SIZEOF_FLOAT128__
2a1b3ac62 Fix large shift in uint128_fallback
e1d3d3a32 Exclude recursive ranges from the formatter specialization for ranges (#2974)
b761f1279 Improve forward using the idea from Jonathan Müller
cc1926942 Inline std::forward
d5e9166f5 Fixed typo in changelog example.
b31d1a75a Add xchar support for fmt::streamed().
git-subtree-dir: externals/fmt
git-subtree-split: f5e54359df4c26b6230fc61d38aa294581393084
Dynarmic uses semantic versioning, restricting backwards-incompatible
changes to major releases. This backwards compatibility, though, refers
to API changes, and disregards ABI stability. Since having to maintain a
compatible ABI between major releases is somewhat of a pain, and it
arguably doesn't matter that much for dynarmic, setting the SOVERSION to
major.minor allows for breaking ABI changes to be made between feature
releases, and not only major ones.
To be clear, this patch doesn't try to enforce a new policy, but just
reflects how the project has handled ABI changes in the past. That is,
these kind of changes have been made already.
This patch comes as a fix for Debian bug <https://bugs.debian.org/1041270>.
Caught by UBSan. I don't think this has a meaningful performance impact
(especially since the thread state doesn't include floating-point/vector
registers), but I haven't tested it.