Add the INTERNAL_FATAL level. It will print 'F' like FATAL, but
does not abort after logging.
Add a test to logging_test.
Bug: 31338270
Test: m
Test: mmma system/core/base && adb sync && adb shell /data/nativetest/libbase_test/libbase_test32
Change-Id: Idf74c08e8516881efccaefc58fa3f41d57e56396
Assume C++11 support. logging.h already used constexpr before,
macros.h now also does no longer check the language level.
Use constexpr for the logging evaluator. This allows the usage
of CHECK and co in other constexpr expressions in C++14.
Test: m checkbuild (N9)
Change-Id: Ifdffa074271fff1f9949c48829a185800ec5e524
I've been meaning to do this for a while, and it came up on the bug below
that there have been conflicts with similar-named files in <base/*.h>,
so let's rule out one possible explanation.
Bug: http://b/27804373
Change-Id: I69e5d52b6260c573c308513420aee0e281426bd4
As logging macros uses `if xxx else yyy` style, it is reported as an
error when DCHECK() is compiled with -Wdangling-else option. Because
after preprocess, DCHECK(x) becomes:
if (EnableDChecks)
if (x)
;
else
LogMessage(FATAL) << yyy;
This CL avoids compilation error by replacing `if xxx else yyy`
with `xxx && yyy` or `!(xxx) || yyy`.
Bug: 26962895
Change-Id: Ib0bf242cc04a238ec31a1ab66b53fc8a5b5ed28f