From e4719eb4625e695fc1fcc786444c1a9c8d78fc57 Mon Sep 17 00:00:00 2001 From: minqiyang Date: Fri, 21 Dec 2018 20:42:29 +0800 Subject: [PATCH] Fix bug in Windows VC 2010 test=develop --- paddle/fluid/operators/lrn_mkldnn_op.cc | 2 +- paddle/fluid/platform/enforce.h | 35 ++++++++++++++----------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/paddle/fluid/operators/lrn_mkldnn_op.cc b/paddle/fluid/operators/lrn_mkldnn_op.cc index 0a18882e8..adcf69445 100644 --- a/paddle/fluid/operators/lrn_mkldnn_op.cc +++ b/paddle/fluid/operators/lrn_mkldnn_op.cc @@ -50,7 +50,7 @@ template class LRNMKLDNNOpKernel : public paddle::framework::OpKernel { public: void Compute(const paddle::framework::ExecutionContext& ctx) const override { - PADDLE_ENFORCE(std::is_same::value, + PADDLE_ENFORCE(std::is_same::value, "MKLDNN LRN must use float data."); PADDLE_ENFORCE(paddle::platform::is_cpu_place(ctx.GetPlace()), "MKLDNN LRN must use CPUPlace."); diff --git a/paddle/fluid/platform/enforce.h b/paddle/fluid/platform/enforce.h index efead2930..dd83686b9 100644 --- a/paddle/fluid/platform/enforce.h +++ b/paddle/fluid/platform/enforce.h @@ -258,30 +258,30 @@ inline void throw_on_error(T e) { #define PADDLE_THROW(...) \ throw ::paddle::platform::EnforceNotMet(__FILE__, __LINE__, __VA_ARGS__) -#define PADDLE_THROW_ERROR(COND, ...) \ - PADDLE_THROW_I(__VA_ARGS__, \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ - ::paddle::platform::throw_on_error(COND)) - -#define PADDLE_THROW_I(_, _9, _8, _7, _6, _5, _4, _3, _2, X_, ...) X_; +#define __PADDLE_THROW_ERROR(COND, ...) \ + __PADDLE_THROW_ERROR_I( \ + __VA_ARGS__, ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND, __VA_ARGS__), \ + ::paddle::platform::throw_on_error(COND)) + +#define __PADDLE_THROW_ERROR_I(_, _9, _8, _7, _6, _5, _4, _3, _2, X_, ...) X_; #define __PADDLE_UNARY_COMPARE(COND, ...) \ do { \ auto __cond = COND; \ if (UNLIKELY(::paddle::platform::is_error(__cond))) { \ - PADDLE_THROW_ERROR(__cond, __VA_ARGS__); \ + __PADDLE_THROW_ERROR(__cond, __VA_ARGS__); \ } \ } while (0) #ifndef REPLACE_ENFORCE_GLOG -#define PADDLE_ENFORCE(COND, ...) \ +#define __PADDLE_ENFORCE_I(COND, ...) \ do { \ try { \ __PADDLE_UNARY_COMPARE(COND, __VA_ARGS__); \ @@ -292,9 +292,12 @@ inline void throw_on_error(T e) { } while (0) #else -#define PADDLE_ENFORCE(COND, ...) __PADDLE_UNARY_COMPARE(COND, __VA_ARGS__); +#define __PADDLE_ENFORCE_I(COND, ...) __PADDLE_UNARY_COMPARE(COND, __VA_ARGS__); #endif // REPLACE_ENFORCE_GLOG +#define __PADDLE_ENFORCE(args) __PADDLE_ENFORCE_I args +#define PADDLE_ENFORCE(...) __PADDLE_ENFORCE((__VA_ARGS__)) + #define PADDLE_THROW_EOF() \ do { \ throw ::paddle::platform::EOFException("There is no next data.", __FILE__, \ -- GitLab