diff --git a/mediapipe/framework/deps/status_macros.h b/mediapipe/framework/deps/status_macros.h index 92bbf0b8..eceea01b 100644 --- a/mediapipe/framework/deps/status_macros.h +++ b/mediapipe/framework/deps/status_macros.h @@ -82,7 +82,7 @@ // return absl::OkStatus(); // } #define MP_RETURN_IF_ERROR(expr) \ - STATUS_MACROS_IMPL_ELSE_BLOCKER_ \ + MP_STATUS_MACROS_IMPL_ELSE_BLOCKER_ \ if (mediapipe::status_macro_internal::StatusAdaptorForMacros \ status_macro_internal_adaptor = {(expr), MEDIAPIPE_LOC}) { \ } else /* NOLINT */ \ @@ -134,10 +134,10 @@ // Example: Logging the error on failure. // ASSIGN_OR_RETURN(ValueType value, MaybeGetValue(query), _.LogError()); // -#define ASSIGN_OR_RETURN(...) \ - STATUS_MACROS_IMPL_GET_VARIADIC_((__VA_ARGS__, \ - STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_3_, \ - STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_2_)) \ +#define ASSIGN_OR_RETURN(...) \ + MP_STATUS_MACROS_IMPL_GET_VARIADIC_( \ + (__VA_ARGS__, MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_3_, \ + MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_2_)) \ (__VA_ARGS__) // ================================================================= @@ -146,37 +146,39 @@ // MSVC incorrectly expands variadic macros, splice together a macro call to // work around the bug. -#define STATUS_MACROS_IMPL_GET_VARIADIC_HELPER_(_1, _2, _3, NAME, ...) NAME -#define STATUS_MACROS_IMPL_GET_VARIADIC_(args) \ - STATUS_MACROS_IMPL_GET_VARIADIC_HELPER_ args +#define MP_STATUS_MACROS_IMPL_GET_VARIADIC_HELPER_(_1, _2, _3, NAME, ...) NAME +#define MP_STATUS_MACROS_IMPL_GET_VARIADIC_(args) \ + MP_STATUS_MACROS_IMPL_GET_VARIADIC_HELPER_ args -#define STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_2_(lhs, rexpr) \ - STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_( \ - STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__), lhs, rexpr, \ - return mediapipe::StatusBuilder( \ - std::move(STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__)) \ - .status(), \ +#define MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_2_(lhs, rexpr) \ + MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_( \ + MP_STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__), lhs, rexpr, \ + return mediapipe::StatusBuilder( \ + std::move(MP_STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__)) \ + .status(), \ MEDIAPIPE_LOC)) -#define STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_3_(lhs, rexpr, error_expression) \ - STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_( \ - STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__), lhs, rexpr, \ - mediapipe::StatusBuilder _( \ - std::move(STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__)) \ - .status(), \ - MEDIAPIPE_LOC); \ - (void)_; /* error_expression is allowed to not use this variable */ \ +#define MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_3_(lhs, rexpr, \ + error_expression) \ + MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_( \ + MP_STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__), lhs, rexpr, \ + mediapipe::StatusBuilder _( \ + std::move(MP_STATUS_MACROS_IMPL_CONCAT_(_status_or_value, __LINE__)) \ + .status(), \ + MEDIAPIPE_LOC); \ + (void)_; /* error_expression is allowed to not use this variable */ \ return (error_expression)) -#define STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_(statusor, lhs, rexpr, \ - error_expression) \ - auto statusor = (rexpr); \ - if (ABSL_PREDICT_FALSE(!statusor.ok())) { \ - error_expression; \ - } \ +#define MP_STATUS_MACROS_IMPL_ASSIGN_OR_RETURN_(statusor, lhs, rexpr, \ + error_expression) \ + auto statusor = (rexpr); \ + if (ABSL_PREDICT_FALSE(!statusor.ok())) { \ + error_expression; \ + } \ lhs = std::move(statusor).value() // Internal helper for concatenating macro values. -#define STATUS_MACROS_IMPL_CONCAT_INNER_(x, y) x##y -#define STATUS_MACROS_IMPL_CONCAT_(x, y) STATUS_MACROS_IMPL_CONCAT_INNER_(x, y) +#define MP_STATUS_MACROS_IMPL_CONCAT_INNER_(x, y) x##y +#define MP_STATUS_MACROS_IMPL_CONCAT_(x, y) \ + MP_STATUS_MACROS_IMPL_CONCAT_INNER_(x, y) // The GNU compiler emits a warning for code like: // @@ -189,9 +191,9 @@ // if (do_expr) MP_RETURN_IF_ERROR(expr) << "Some message"; // // The "switch (0) case 0:" idiom is used to suppress this. -#define STATUS_MACROS_IMPL_ELSE_BLOCKER_ \ - switch (0) \ - case 0: \ +#define MP_STATUS_MACROS_IMPL_ELSE_BLOCKER_ \ + switch (0) \ + case 0: \ default: // NOLINT namespace mediapipe {