From 5008a91029f6d07b3edf49b7d7342eb01d3b1181 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Fri, 30 Jun 2023 22:18:11 -0700 Subject: [PATCH] Disable REACT_NATIVE_DEBUG in gray builds (#38082) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/38082 Reviewed By: javache Differential Revision: D47028243 fbshipit-source-id: 79b3bc2a075bf74fcf4aa197326ec00150167845 --- .../ReactCommon/react/debug/flags.h | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/packages/react-native/ReactCommon/react/debug/flags.h b/packages/react-native/ReactCommon/react/debug/flags.h index dae3ecc4e51..1ccc1a2817d 100644 --- a/packages/react-native/ReactCommon/react/debug/flags.h +++ b/packages/react-native/ReactCommon/react/debug/flags.h @@ -8,14 +8,15 @@ #pragma once // -// Enable REACT_NATIVE_DEBUG if NDEBUG is not defined. -// Due to BUCK defaults in open-source, NDEBUG is always defined for all android -// builds. -// If you build in OSS with CMake, you will have -DNDEBUG set only for release -// builds, therefore REACT_NATIVE_DEBUG will not be set. Here we introduce -// REACT_NATIVE_DEBUG that we use internally instead of NDEBUG that we can -// control and use as a more reliable xplat flag. For any build that doesn't -// have NDEBUG defined, we enable REACT_NATIVE_DEBUG for convenience. -#ifndef NDEBUG -#define REACT_NATIVE_DEBUG 1 +// Preprocessor flags which control whether code meant for debugging the +// internals of React Native is included in the build. E.g. debug assertions. +// +// This flag is normally derived from NDEBUG, but may be set explicitly by +// defining `REACT_NATIVE_DEBUG` or `REACT_NATIVE_PRODUCTION`. +#if !(defined(REACT_NATIVE_DEBUG) || defined(REACT_NATIVE_PRODUCTION)) +#ifdef NDEBUG +#define REACT_NATIVE_PRODUCTION +#else +#define REACT_NATIVE_DEBUG +#endif #endif