- Timestamp:
- Nov 25, 2017, 3:24:26 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 1f370451, a16a7ec
- Parents:
- 3de176d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/polymorphism.c
r3de176d ra7caf3d 47 47 S s; 48 48 s.i = i; 49 assert (s.i == i);49 assertf(s.i == i, "struct operation fails in polymorphic context."); 50 50 51 51 B b; … … 73 73 { 74 74 // test aggregates with polymorphic members 75 typedef uint32_t x_type;76 typedef uint64_t y_type;75 typedef __attribute__((aligned(8))) uint32_t x_type; 76 typedef __attribute__((aligned(8))) 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 assert ( struct_size(x, y) == sizeof(S));92 assert ( union_size(x, y) == sizeof(U));91 assertf( struct_size(x, y) == sizeof(S), "struct size differs in polymorphic context." ); 92 assertf( union_size(x, y) == sizeof(U), "union size differs in polymorphic context." ); 93 93 94 94 y_type ?=?(y_type & this, zero_t) { … … 111 111 u.f2 = 0; 112 112 u.f1 = x; 113 assert (ret == u.f2);113 assertf(ret == u.f2, "union operation fails in polymorphic context."); 114 114 } 115 115 }
Note: See TracChangeset
for help on using the changeset viewer.