From e5ba5791b231e4d1066318dcc110956355d992da Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Mon, 3 Feb 2025 06:29:28 -0800 Subject: [PATCH] Enable -Wundef for react-native targets (#49041) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/49041 Prevent the class of issues seen in D68797482 by making `#if FOO` where `FOO` is not defined an error. Changelog: [Internal] Reviewed By: NickGerleman, sammy-SC Differential Revision: D68824244 fbshipit-source-id: 1291c5f2f84ecb023ba76a015716cc7c9ae0f89e --- packages/react-native/Libraries/Required/RCTRequired.h | 2 +- packages/react-native/React/Base/RCTAssert.h | 2 +- packages/react-native/React/Base/RCTDefines.h | 4 ++-- .../ReactCommon/react/renderer/graphics/Transform.h | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/react-native/Libraries/Required/RCTRequired.h b/packages/react-native/Libraries/Required/RCTRequired.h index abcff0e47ee..169cf00fb2d 100644 --- a/packages/react-native/Libraries/Required/RCTRequired.h +++ b/packages/react-native/Libraries/Required/RCTRequired.h @@ -12,7 +12,7 @@ // the inlining decisions to avoid unnecessary code bloat. In effect RCTRequired // is a cost-free abstraction in non-DEBUG mode. In DEBUG mode we don't force // inlining for ease of debugging. -#if DEBUG +#ifdef DEBUG #define RCTREQUIRED_INLINE inline #else #define RCTREQUIRED_INLINE __attribute__((always_inline)) inline diff --git a/packages/react-native/React/Base/RCTAssert.h b/packages/react-native/React/Base/RCTAssert.h index e088fa9582b..47d4409f6e2 100644 --- a/packages/react-native/React/Base/RCTAssert.h +++ b/packages/react-native/React/Base/RCTAssert.h @@ -157,7 +157,7 @@ RCT_EXTERN NSString *RCTFormatStackTrace(NSArray *> /** * Convenience macro to assert which thread is currently running (DEBUG mode only) */ -#if DEBUG +#ifdef DEBUG #define RCTAssertThread(thread, ...) \ _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") RCTAssert( \ diff --git a/packages/react-native/React/Base/RCTDefines.h b/packages/react-native/React/Base/RCTDefines.h index ed038680a41..2332681c721 100644 --- a/packages/react-native/React/Base/RCTDefines.h +++ b/packages/react-native/React/Base/RCTDefines.h @@ -27,7 +27,7 @@ * from release builds to improve performance and reduce binary size. */ #ifndef RCT_DEBUG -#if DEBUG +#ifdef DEBUG #define RCT_DEBUG 1 #else #define RCT_DEBUG 0 @@ -39,7 +39,7 @@ * such as the debug executors, dev menu, red box, etc. */ #ifndef RCT_DEV -#if DEBUG +#ifdef DEBUG #define RCT_DEV 1 #else #define RCT_DEV 0 diff --git a/packages/react-native/ReactCommon/react/renderer/graphics/Transform.h b/packages/react-native/ReactCommon/react/renderer/graphics/Transform.h index 9977807244f..911774d35df 100644 --- a/packages/react-native/ReactCommon/react/renderer/graphics/Transform.h +++ b/packages/react-native/ReactCommon/react/renderer/graphics/Transform.h @@ -8,8 +8,10 @@ #pragma once #include +#include #include +#include #include #include #include