Test case for misaligned ivars.

main
Niels Grewe 9 years ago
parent 4afd2d4241
commit 8c79eb836c

@ -52,8 +52,32 @@ typedef int v4si __attribute__ ((vector_size (16)));
}
@end
#if __has_attribute(objc_root_class)
__attribute__((objc_root_class))
#endif
@interface StringLikeTest
{
Class isa;
char* c_string;
int len;
}
@end
@implementation StringLikeTest
+ (Class)class
{
return self;
}
@end
int main(void)
{
[[Vector alloc] permute];
[[Foo new] check];
Ivar v_isa = class_getInstanceVariable([StringLikeTest class], "isa");
Ivar v_c_string = class_getInstanceVariable([StringLikeTest class], "c_string");
Ivar v_len = class_getInstanceVariable([StringLikeTest class], "len");
assert(ivar_getOffset(v_isa) < ivar_getOffset(v_c_string));
assert(ivar_getOffset(v_c_string) < ivar_getOffset(v_len));
}

Loading…
Cancel
Save