From d05d24d3845562d5aa8a3531b97ae9f6f39097d9 Mon Sep 17 00:00:00 2001 From: Iain Smith Date: Wed, 21 Aug 2024 17:29:26 +0100 Subject: [PATCH 1/2] Specify that enums are closed for swift export --- yoga/YGMacros.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yoga/YGMacros.h b/yoga/YGMacros.h index a2b6d60e..1638a30f 100644 --- a/yoga/YGMacros.h +++ b/yoga/YGMacros.h @@ -49,7 +49,7 @@ #define YG_ENUM_END(name) #else #define YG_ENUM_BEGIN(name) enum name -#define YG_ENUM_END(name) name +#define YG_ENUM_END(name) __attribute__((enum_extensibility(closed))) name #endif #ifdef __cplusplus -- 2.50.1.windows.1 From 8e8cfa28e8b6f63278cf455920e59aeb617becad Mon Sep 17 00:00:00 2001 From: Iain Smith Date: Mon, 26 Aug 2024 23:37:14 +0100 Subject: [PATCH 2/2] Wrap attribute in clang check --- yoga/YGMacros.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/yoga/YGMacros.h b/yoga/YGMacros.h index 1638a30f..dec68733 100644 --- a/yoga/YGMacros.h +++ b/yoga/YGMacros.h @@ -47,9 +47,12 @@ // the header is a mismatch for the Yoga ABI. #define YG_ENUM_BEGIN(name) NS_ENUM(int, name) #define YG_ENUM_END(name) -#else +#elif defined(__clang__) #define YG_ENUM_BEGIN(name) enum name #define YG_ENUM_END(name) __attribute__((enum_extensibility(closed))) name +#else +#define YG_ENUM_BEGIN(name) enum name +#define YG_ENUM_END(name) name #endif #ifdef __cplusplus -- 2.50.1.windows.1