- Timestamp:
- Jul 19, 2021, 4:03:19 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- f9b68d6
- Parents:
- 12a1013 (diff), fcaa1e4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- tests
- Files:
-
- 3 edited
-
.expect/polymorphism.txt (modified) (1 diff)
-
polymorphism.cfa (modified) (2 diffs)
-
unified_locking/mutex_test.hfa (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/.expect/polymorphism.txt
r12a1013 r63bde81 1 1 123 456 456 2 2 5 5 3 === checkPlan9offsets 4 static: 5 offset of inner double: 8 6 offset of inner float: 16 7 dynamic: 8 offset of inner double: 8 9 offset of inner float: 16 -
tests/polymorphism.cfa
r12a1013 r63bde81 54 54 b.i = s.i; 55 55 return b.j; 56 } 57 58 void checkPlan9offsets() { 59 60 forall( T ) 61 struct thing { 62 T q; // variable-sized padding 63 inline double; 64 inline float; 65 }; 66 67 #define SHOW_OFFSETS \ 68 double & x_inner_double = x; \ 69 float & x_inner_float = x; \ 70 printf(" offset of inner double: %ld\n", ((char *) & x_inner_double) - ((char *) & x) ); \ 71 printf(" offset of inner float: %ld\n", ((char *) & x_inner_float ) - ((char *) & x) ); 72 73 void showStatic( thing(int) & x ) { 74 printf("static:\n"); 75 SHOW_OFFSETS 76 } 77 78 forall( T ) 79 void showDynamic( thing(T) & x ) { 80 printf("dynamic:\n"); 81 SHOW_OFFSETS 82 } 83 84 #undef SHOW_OFFSETS 85 86 printf("=== checkPlan9offsets\n"); 87 thing(int) x; 88 showStatic(x); 89 showDynamic(x); 56 90 } 57 91 … … 114 148 assertf(ret == u.f2, "union operation fails in polymorphic context."); 115 149 } 150 151 checkPlan9offsets(); 116 152 } 117 153 -
tests/unified_locking/mutex_test.hfa
r12a1013 r63bde81 8 8 struct MutexObj { 9 9 LOCK l; 10 $thread* id;10 thread$ * id; 11 11 uint32_t sum; 12 12 }; … … 22 22 23 23 uint32_t cs() { 24 $thread* me = active_thread();24 thread$ * me = active_thread(); 25 25 uint32_t value; 26 26 lock(mo.l);
Note:
See TracChangeset
for help on using the changeset viewer.