Use int instead of NSInteger for ABI compatibility

Summary: Cannot use NSInteger as NSInteger has a different size than int (which is the default type of a enum). Therefor when linking the Yoga C library into obj-c the header is a missmatch for the Yoga ABI.

Reviewed By: cwdick

Differential Revision: D4392272

fbshipit-source-id: 22b92ac8f3eb7114e81dbd9b0bec9044c3d43da5
This commit is contained in:
Emil Sjolander 2017-01-09 08:34:56 -08:00 committed by Facebook Github Bot
parent 30e89b49f1
commit 618a14b228
1 changed files with 7 additions and 13 deletions

View File

@ -41,18 +41,12 @@
} }
#endif #endif
#ifndef YG_ENUM_BEGIN #ifdef NS_ENUM
#ifndef NS_ENUM // Cannot use NSInteger as NSInteger has a different size than int (which is the default type of a enum).
#define YG_ENUM_BEGIN(name) enum name // Therefor when linking the Yoga C library into obj-c the header is a missmatch for the Yoga ABI.
#else #define YG_ENUM_BEGIN(name) NS_ENUM(int, name)
#define YG_ENUM_BEGIN(name) NS_ENUM(NSInteger, name)
#endif
#endif
#ifndef YG_ENUM_END
#ifndef NS_ENUM
#define YG_ENUM_END(name) name
#else
#define YG_ENUM_END(name) #define YG_ENUM_END(name)
#endif #else
#define YG_ENUM_BEGIN(name) enum name
#define YG_ENUM_END(name) name
#endif #endif