logging: fix the behavior of XLOG_IF(FATAL, condition)
Summary: Previously `XLOG_IF(FATAL, condition)` always crashed regardless of the condition check. When `XLOG_IF()` was added it did not update the checks used to mark the statement as `[noreturn]` based on the log level. As a result `XLOG_IF(FATAL, ...)` always used the `[noreturn]` APIs, even though this code can return if the condition is not true. This splits the `XLOG()` and `XLOG_IF()` implementations so that `XLOG(FATAL)` can still be marked as `noreturn` but `XLOG_IF(FATAL, ...)` is no `noreturn`. Reviewed By: yfeldblum, mnv104 Differential Revision: D8817269 fbshipit-source-id: 47a493eaaac69c563cff07da0888dd423f7dc07d
Showing
Please register or sign in to comment