Changes in src/tests/polymorphism.c [1f370451:3787dc1]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/polymorphism.c
r1f370451 r3787dc1 47 47 S s; 48 48 s.i = i; 49 assert f(s.i == i, "struct operation fails in polymorphic context.");49 assert(s.i == i); 50 50 51 51 B b; … … 73 73 { 74 74 // test aggregates with polymorphic members 75 typedef __attribute__((aligned(8)))uint32_t x_type;76 typedef __attribute__((aligned(8)))uint64_t y_type;75 typedef uint32_t x_type; 76 typedef uint64_t y_type; 77 77 78 78 x_type x = 3; … … 89 89 // ensure that the size of aggregates with polymorphic members 90 90 // matches the size of the aggregates in a monomorphic context 91 size_t ssz = struct_size(x, y); 92 size_t usz = union_size(x, y); 93 assertf( ssz == sizeof(S), "struct size differs in polymorphic context: %zd / %zd", ssz, sizeof(S)); 94 assertf( usz == sizeof(U), "union size differs in polymorphic context: %zd / %zd", usz, sizeof(U)); 91 assert( struct_size(x, y) == sizeof(S) ); 92 assert( union_size(x, y) == sizeof(U) ); 95 93 96 94 y_type ?=?(y_type & this, zero_t) { … … 113 111 u.f2 = 0; 114 112 u.f1 = x; 115 assert f(ret == u.f2, "union operation fails in polymorphic context.");113 assert(ret == u.f2); 116 114 } 117 115 }
Note: See TracChangeset
for help on using the changeset viewer.