From 2de87f04d8e84834da204ded5a48e2baf0e4bc34 Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Thu, 30 Sep 2010 09:01:19 +0000 Subject: struct_objc_class.h: Add padding to avoid warning with -Wpadded. 2010-09-30 Kai Tietz * objc/deprecated/struct_objc_class.h: Add padding to avoid warning with -Wpadded. From-SVN: r164746 --- libobjc/ChangeLog | 5 +++++ libobjc/objc/deprecated/struct_objc_class.h | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 029b0a31ad8..b1590c44374 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,8 @@ +2010-09-30 Kai Tietz + + * objc/deprecated/struct_objc_class.h: Add padding + to avoid warning with -Wpadded. + 2010-09-26 Nicola Pero * encoding.c (objc_sizeof_type): Added support for vector type and diff --git a/libobjc/objc/deprecated/struct_objc_class.h b/libobjc/objc/deprecated/struct_objc_class.h index 4918e738e8d..5a4859cbd65 100644 --- a/libobjc/objc/deprecated/struct_objc_class.h +++ b/libobjc/objc/deprecated/struct_objc_class.h @@ -24,6 +24,16 @@ struct objc_class { The sum of the class definition and all super class definitions. */ +#ifdef _WIN64 + /* We pad the structure manually to prevent warning when -Wpadded + is used. The compiler automatically pads the structures that it + generates, so this manually padded structure still matches the one + generated by the compiler, but if we don't pad manually, -Wpadded + detects that padding is being added and generates annoying warnings. + This hack is necessary as on LLP64 targets sizeof (long) isn't equal + to sizeof (void *). */ + long pad; +#endif struct objc_ivar_list* ivars; /* Pointer to a structure that describes the instance variables in the class @@ -42,3 +52,4 @@ struct objc_class { struct objc_protocol_list *protocols; /* Protocols conformed to */ void* gc_object_type; }; + -- cgit v1.2.1