[Libreoffice] Assertions and Logging
Stephan Bergmann
sbergman at redhat.com
Wed Nov 23 07:06:26 PST 2011
On 11/22/2011 10:50 AM, Stephan Bergmann wrote:
> I pushed the proposed changes as
> <http://cgit.freedesktop.org/libreoffice/core/commit/?id=70a6b9ffbd676a1384433a86205d2cd4f2d4f4b1>
> and
> <http://cgit.freedesktop.org/libreoffice/binfilter/commit/?id=d45d5ee81e3d3f1779774af3f400ce3f1aa6697d>.
> Any further refinements (where to send the log output, performance
> considerations) can carry on from there.
Based on Lubos's comments, I changed this once again, incompatibly:
* sal/log.h is now sal/log.hxx, and can thus only be used from C++ code.
If we need it in a file that is still C, change that file to C++
first. (I see almost no need for any pure C files in LO at all. That
many implementation files in, e.g., sal are written in C is a historic
relic that can and should be fixed; I already did that recently for
sal/source/rtl. The stable C header files in the URE interface are a
different thing, of course.)
* The _S suffix is dropped from the logging macros using streaming, and
the format-string variants are gone. A compile time check ensures the
common case of streaming just a plain C-style string literal still
produces reasonably compact call-site code.
* The format-string variants are still available in sal/detail/log.h,
but only to be used in obsolete osl/diagnose.h etc., and going to be
removed again eventually.
I noticed this change will break non-clean builds in odk, "cd odk && rm
-rf ${INPATH?}" should help.
Stephan
More information about the LibreOffice
mailing list