Version 6.1.0: Flexible aliasing, mingw compatibility, CMake improvements
Dear users: Your feedback from building and using the library in a wide variety of environments is what allows me to make safer and more portable releases. Please email me or post an issue if you notice a bug or unexpected behavior.
Changes since v6.0.0:
Bug fixes
Compatibility
- #130 :
_vsprintf()
renamed to avoid clash with msys/mingw headers - #132 : Now avoiding
ssize_t
declaration conflict with mingw - #129 : Differentiating the
printf
andgnu_printf
function format attribute, due to msys2 "sensibilities" - #144 : Removed redundant
extern "C"
which is disliked by Apple clang 13
Other bug fixes
- #126 : Dropped gratuitous parentheses in the definition of
ATTR_PRINTF
for non-GNUC compiler,
Build configuration
- #142 : Use CMake's
export()
and install the resulting exported targets - #139 : Repository can be used with CMake's FetchContent mechanism (using the Craig Scott approach).
Other changes
- #141 Now supporting two forms of aliasing of standard library functions:
- hard aliasing (supported since v5.0.0, in this repository): The compiled library exposes
printf()
,sprintf()
etc. rather thanprintf_()
,sprintf_()
etc. - soft aliasing (supported before v5.0.0, in mpaland's repository): The compiled library exposes
printf_()
,sprintf_()
etc. and does not clas with the standard library; when including its headers, macros replaceprintf_
withprintf_
,sprintf
withsprintf_
etc.
The hard-aliasing is more robust and less error-prone - but for some people it's imperative for the exported symbols to differ from the standard library's. So, the CMake configuration now has three possible values for the aliasing option (the two modes + no-aliasing, which is the default).
- hard aliasing (supported since v5.0.0, in this repository): The compiled library exposes
- #140
_vsprintf()
now avoids reading past the end of the format string even if it is malfored - #137 : Now using proper C prototypes (e.g.
int foo(void)
rather thanint foo()
). - #145 : Standard header inclusion re-arrange
Caveats
- Still no special handling for denormals.