Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/objc.dg/sizeof-1.m @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* 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; }