This cherry-picks a tinyformat commit:
8a2812d848
The effect should be to remove all compilation warnings about implicit
switch fallthroughs.
Updating the entire header file to the latest release at once brings in
other changes that may be more invasive for 1.14.5, and this commit
should not interfere with a further update.
Updates `tinyformat.h` to commit
3a33bbf654 upstream.
Makes sure that our local changes are kept:
- #37671b8fd35aad Make tinyformat errors raise an exception instead of assert()ing
- #47359b6d4c5cdc Move strprintf define to tinyformat.h
- #47486e5fd003e0 include stdexcept (for std::exception)
- #80009eaa0afa6e force USE_VARIADIC_TEMPLATES
- Add `std::string format(const std::string &fmt...` added this
at the time, as we want to be able to do `strprintf(_(...), ...)`
Inspired by #8264.
By default tinyformat errors such as 'wrong number of conversion
specifiers in format string' cause an assertion failure.
Raise an exception instead so that error handling can recover or can
show an appropriate error.