URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [obj-c++.dg/] [bitfield-2.mm] - Rev 703
Compare with Previous | Blame | View Log
/* Check if bitfield ivars are inherited correctly (i.e., withoutbeing "promoted" to ints). *//* Contributed by Ziemowit Laski <zlaski@apple.com>. *//* { dg-do run } *//* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */#include "../objc-obj-c++-shared/TestsuiteObject.m"#include <stdlib.h>#define CHECK_IF(expr) if(!(expr)) abort();@interface Base: TestsuiteObject{int full;int full2: 32;int _refs: 8;int field2: 3;unsigned f3: 8;short cc;unsigned g: 16;int r2: 8;int r3: 8;int r4: 2;int r5: 8;char c;}- (void)setValues;@end@interface Derived: Base{char d;int _field3: 6;}- (void)checkValues;@end@implementation Base-(void)setValues {full = 1;full2 = 2;_refs = 3;field2 = 1;f3 = 6;cc = 7;g = 8;r2 = 9;r3 = 10;r4 = 1;r5 = 12;c = 13;}@end@implementation Derived-(void)checkValues {CHECK_IF(full == 1);CHECK_IF(full2 == 2);CHECK_IF(_refs == 3);CHECK_IF(field2 == 1);CHECK_IF(f3 == 6);CHECK_IF(cc == 7);CHECK_IF(g == 8);CHECK_IF(r2 == 9);CHECK_IF(r3 == 10);CHECK_IF(r4 == 1);CHECK_IF(r5 == 12);CHECK_IF(c == 13);}@endint main(void) {Derived *obj = [[Derived alloc] init];[obj setValues];[obj checkValues];return 0;}
