URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [objc.dg/] [sizeof-1.m] - Rev 704
Compare with Previous | Blame | View Log
/* Check that the sizeof() operator works with ObjC classes and their aliases. */ /* Contributed by Ziemowit Laski <zlaski@apple.com>. */ /* { dg-options "" } */ /* { dg-do run } */ #include "../objc-obj-c++-shared/TestsuiteObject.m" #include <objc/objc.h> extern void abort(void); #define CHECK_IF(expr) if(!(expr)) abort(); @interface Foo: TestsuiteObject { int a, b; float c, d; } @end @implementation Foo @end typedef TestsuiteObject MyObject; typedef struct Foo Foo_type; @compatibility_alias AliasObject TestsuiteObject; int main(void) { CHECK_IF(sizeof(Foo) > sizeof(TestsuiteObject) && sizeof(TestsuiteObject) > 0); CHECK_IF(sizeof(Foo) == sizeof(Foo_type)); CHECK_IF(sizeof(TestsuiteObject) == sizeof(MyObject)); CHECK_IF(sizeof(TestsuiteObject) == sizeof(AliasObject)); return 0; }