aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/core/status.h
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/lib/core/status.h')
-rw-r--r--tensorflow/core/lib/core/status.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/tensorflow/core/lib/core/status.h b/tensorflow/core/lib/core/status.h
index 85eb607cc7..3b8a322854 100644
--- a/tensorflow/core/lib/core/status.h
+++ b/tensorflow/core/lib/core/status.h
@@ -120,17 +120,19 @@ typedef std::function<void(const Status&)> StatusCallback;
extern tensorflow::string* TfCheckOpHelperOutOfLine(
const ::tensorflow::Status& v, const char* msg);
+
inline tensorflow::string* TfCheckOpHelper(::tensorflow::Status v,
const char* msg) {
if (v.ok()) return nullptr;
return TfCheckOpHelperOutOfLine(v, msg);
}
-#define TF_CHECK_OK(val) \
- while (::tensorflow::string* _result = TfCheckOpHelper(val, #val)) \
- LOG(FATAL) << *(_result)
-#define TF_QCHECK_OK(val) \
- while (::tensorflow::string* _result = TfCheckOpHelper(val, #val)) \
- LOG(QFATAL) << *(_result)
+
+#define TF_DO_CHECK_OK(val, level) \
+ while (auto _result = TfCheckOpHelper(val, #val)) \
+ LOG(level) << *(_result)
+
+#define TF_CHECK_OK(val) TF_DO_CHECK_OK(val, FATAL)
+#define TF_QCHECK_OK(val) TF_DO_CHECK_OK(val, QFATAL)
// DEBUG only version of TF_CHECK_OK. Compiler still parses 'val' even in opt
// mode.