From 20b016c47be6c7a2a595ea2a2e9680aa8dfb5456 Mon Sep 17 00:00:00 2001 From: David Chisnall Date: Thu, 29 Mar 2018 15:47:16 +0100 Subject: [PATCH] Reserve some class flag bits. These are free for the compiler to be able to use in future ABI versions. --- class.h | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/class.h b/class.h index 7ed2d26..e5221fa 100644 --- a/class.h +++ b/class.h @@ -309,37 +309,51 @@ enum objc_class_flags { /** This class structure represents a metaclass. */ objc_class_flag_meta = (1<<0), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved1 = (1<<1), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved2 = (1<<2), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved3 = (1<<3), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved4 = (1<<4), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved5 = (1<<5), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved6 = (1<<6), + /** Reserved for future ABI versions. */ + objc_class_flag_reserved7 = (1<<7), /** * This class has been sent a +initalize message. This message is sent * exactly once to every class that is sent a message by the runtime, just * before the first other message is sent. */ - objc_class_flag_initialized = (1<<2), + objc_class_flag_initialized = (1<<8), /** * The class has been initialized by the runtime. Its super_class pointer * should now point to a class, rather than a C string containing the class * name, and its subclass and sibling class links will have been assigned, * if applicable. */ - objc_class_flag_resolved = (1<<3), + objc_class_flag_resolved = (1<<9), /** * This class was created at run time and may be freed. */ - objc_class_flag_user_created = (1<<5), + objc_class_flag_user_created = (1<<10), /** * Instances of this class are provide ARC-safe retain / release / * autorelease implementations. */ - objc_class_flag_fast_arc = (1<<6), + objc_class_flag_fast_arc = (1<<11), /** * This class is a hidden class (should not be registered in the class * table nor returned from object_getClass()). */ - objc_class_flag_hidden_class = (1<<7), + objc_class_flag_hidden_class = (1<<12), /** * This class is a hidden class used to store associated values. */ - objc_class_flag_assoc_class = (1<<8) + objc_class_flag_assoc_class = (1<<13) }; /**