- Timestamp:
- Apr 16, 2021, 2:28:09 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 665edf40
- Parents:
- 857a1c6 (diff), 5f6a172 (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:
-
- 2 added
- 52 edited
-
.expect/KRfunctions.nast.arm64.txt (modified) (1 diff)
-
.expect/KRfunctions.nast.x64.txt (modified) (1 diff)
-
.expect/KRfunctions.nast.x86.txt (modified) (1 diff)
-
.expect/KRfunctions.oast.x64.txt (modified) (1 diff)
-
.expect/declarationSpecifier.arm64.txt (modified) (1 diff)
-
.expect/declarationSpecifier.x64.txt (modified) (1 diff)
-
.expect/declarationSpecifier.x86.txt (modified) (1 diff)
-
.expect/extension.arm64.txt (modified) (1 diff)
-
.expect/extension.x64.txt (modified) (1 diff)
-
.expect/extension.x86.txt (modified) (1 diff)
-
.expect/gccExtensions.arm64.txt (modified) (1 diff)
-
.expect/gccExtensions.x64.txt (modified) (1 diff)
-
.expect/gccExtensions.x86.txt (modified) (1 diff)
-
.expect/math.nast.arm64.txt (modified) (1 diff)
-
.expect/math.nast.x64.txt (modified) (1 diff)
-
.expect/math.nast.x86.txt (modified) (1 diff)
-
concurrent/futures/multi.cfa (modified) (4 diffs)
-
concurrent/spinaphore.cfa (modified) (2 diffs)
-
errors/.expect/completeType.nast.arm64.txt (modified) (9 diffs)
-
exceptions/.expect/resume-threads.txt (modified) (1 diff)
-
exceptions/.expect/resume.txt (modified) (1 diff)
-
exceptions/.expect/terminate-threads.txt (modified) (1 diff)
-
exceptions/.expect/terminate.txt (modified) (1 diff)
-
exceptions/cancel/coroutine.cfa (modified) (3 diffs)
-
exceptions/cancel/thread.cfa (modified) (4 diffs)
-
exceptions/conditional.cfa (modified) (3 diffs)
-
exceptions/data-except.cfa (modified) (1 diff)
-
exceptions/defaults.cfa (modified) (5 diffs)
-
exceptions/finally.cfa (modified) (1 diff)
-
exceptions/interact.cfa (modified) (8 diffs)
-
exceptions/polymorphic.cfa (modified) (5 diffs)
-
exceptions/resume.cfa (modified) (8 diffs)
-
exceptions/terminate.cfa (modified) (8 diffs)
-
exceptions/trash.cfa (modified) (1 diff)
-
exceptions/type-check.cfa (modified) (1 diff)
-
exceptions/virtual-cast.cfa (modified) (4 diffs)
-
exceptions/virtual-poly.cfa (modified) (7 diffs)
-
io/.expect/manipulatorsOutput1.arm64.txt (modified) (1 diff)
-
io/.expect/manipulatorsOutput1.x64.txt (modified) (1 diff)
-
io/.expect/manipulatorsOutput1.x86.txt (modified) (1 diff)
-
io/.expect/manipulatorsOutput2.arm64.txt (modified) (2 diffs)
-
io/.expect/manipulatorsOutput2.x64.txt (modified) (2 diffs)
-
io/.expect/manipulatorsOutput2.x86.txt (modified) (2 diffs)
-
io/.expect/manipulatorsOutput4.x64.txt (added)
-
io/manipulatorsOutput1.cfa (modified) (3 diffs)
-
io/manipulatorsOutput2.cfa (modified) (2 diffs)
-
io/manipulatorsOutput3.cfa (modified) (1 diff)
-
io/manipulatorsOutput4.cfa (added)
-
linking/exception-nothreads.cfa (modified) (1 diff)
-
linking/exception-withthreads.cfa (modified) (1 diff)
-
math.cfa (modified) (2 diffs)
-
meta/.expect/archVast.nast.arm64.txt (modified) (2 diffs)
-
quasiKeyword.cfa (modified) (1 diff)
-
vector_math/.expect/vec4_float.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tests/.expect/KRfunctions.nast.arm64.txt
r857a1c6 rc8a0210 104 104 signed int _X1bi_2; 105 105 { 106 signed int *(*_tmp_cp_ret 4)(signed int __param_0, signed int __param_1);107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret 4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));106 signed int *(*_tmp_cp_ret6)(signed int __param_0, signed int __param_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret6=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret6))); 108 108 } 109 109 -
tests/.expect/KRfunctions.nast.x64.txt
r857a1c6 rc8a0210 104 104 signed int _X1bi_2; 105 105 { 106 signed int *(*_tmp_cp_ret 4)(signed int __param_0, signed int __param_1);107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret 4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));106 signed int *(*_tmp_cp_ret6)(signed int __param_0, signed int __param_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret6=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret6))); 108 108 } 109 109 -
tests/.expect/KRfunctions.nast.x86.txt
r857a1c6 rc8a0210 104 104 signed int _X1bi_2; 105 105 { 106 signed int *(*_tmp_cp_ret 4)(signed int __param_0, signed int __param_1);107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret 4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));106 signed int *(*_tmp_cp_ret6)(signed int __param_0, signed int __param_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret6=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret6))); 108 108 } 109 109 -
tests/.expect/KRfunctions.oast.x64.txt
r857a1c6 rc8a0210 104 104 signed int _X1bi_2; 105 105 { 106 signed int *(*_tmp_cp_ret 4)(signed int _X1xi_1, signed int _X1yi_1);107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret 4=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret4)));106 signed int *(*_tmp_cp_ret6)(signed int _X1xi_1, signed int _X1yi_1); 107 ((void)(_X1xFPi_ii__2=(((void)(_tmp_cp_ret6=_X3f10FFPi_ii__iPiPid__1(3, (&_X1ai_2), (&_X1bi_2), 3.5))) , _tmp_cp_ret6))); 108 108 } 109 109 -
tests/.expect/declarationSpecifier.arm64.txt
r857a1c6 rc8a0210 1147 1147 1148 1148 { 1149 signed int _tmp_cp_ret 4;1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);1149 signed int _tmp_cp_ret6; 1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 1151 1151 } 1152 1152 -
tests/.expect/declarationSpecifier.x64.txt
r857a1c6 rc8a0210 1147 1147 1148 1148 { 1149 signed int _tmp_cp_ret 4;1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);1149 signed int _tmp_cp_ret6; 1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 1151 1151 } 1152 1152 -
tests/.expect/declarationSpecifier.x86.txt
r857a1c6 rc8a0210 1147 1147 1148 1148 { 1149 signed int _tmp_cp_ret 4;1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);1149 signed int _tmp_cp_ret6; 1150 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 1151 1151 } 1152 1152 -
tests/.expect/extension.arm64.txt
r857a1c6 rc8a0210 457 457 458 458 { 459 signed int _tmp_cp_ret 4;460 ((void)(((void)(_tmp_cp_ret 4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4));459 signed int _tmp_cp_ret6; 460 ((void)(((void)(_tmp_cp_ret6=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret6)); 461 461 } 462 462 -
tests/.expect/extension.x64.txt
r857a1c6 rc8a0210 457 457 458 458 { 459 signed int _tmp_cp_ret 4;460 ((void)(((void)(_tmp_cp_ret 4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4));459 signed int _tmp_cp_ret6; 460 ((void)(((void)(_tmp_cp_ret6=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret6)); 461 461 } 462 462 -
tests/.expect/extension.x86.txt
r857a1c6 rc8a0210 457 457 458 458 { 459 signed int _tmp_cp_ret 4;460 ((void)(((void)(_tmp_cp_ret 4=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret4));459 signed int _tmp_cp_ret6; 460 ((void)(((void)(_tmp_cp_ret6=__extension__ _X4fredFi_i__1(3))) , _tmp_cp_ret6)); 461 461 } 462 462 -
tests/.expect/gccExtensions.arm64.txt
r857a1c6 rc8a0210 339 339 340 340 { 341 signed int _tmp_cp_ret 4;342 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);341 signed int _tmp_cp_ret6; 342 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 343 343 } 344 344 -
tests/.expect/gccExtensions.x64.txt
r857a1c6 rc8a0210 339 339 340 340 { 341 signed int _tmp_cp_ret 4;342 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);341 signed int _tmp_cp_ret6; 342 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 343 343 } 344 344 -
tests/.expect/gccExtensions.x86.txt
r857a1c6 rc8a0210 317 317 318 318 { 319 signed int _tmp_cp_ret 4;320 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret 4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */);319 signed int _tmp_cp_ret6; 320 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret6=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret6)) /* ?{} */); 321 321 } 322 322 -
tests/.expect/math.nast.arm64.txt
r857a1c6 rc8a0210 17 17 4 16 18 18 log:0. 0. 0. 0.346574+0.785398i 0.346573590279973+0.785398163397448i 0.346573590279972654708616060729088+0.785398163397448309615660845819876i 19 log2:10 17 23 20 log2:10 17 23 21 log2:10 17 23 22 log2:10. 17. 23. 19 23 log2:3. 3. 3. 20 24 log10:2. 2. 2. -
tests/.expect/math.nast.x64.txt
r857a1c6 rc8a0210 17 17 4 16 18 18 log:0. 0. 0. 0.346574+0.785398i 0.346573590279973+0.785398163397448i 0.346573590279972655+0.78539816339744831i 19 log2:10 17 23 20 log2:10 17 23 21 log2:10 17 23 22 log2:10. 17. 23. 19 23 log2:3. 3. 3. 20 24 log10:2. 2. 2. -
tests/.expect/math.nast.x86.txt
r857a1c6 rc8a0210 17 17 4 16 18 18 log:0. 0. 0. 0.346574+0.785398i 0.346573590279973+0.785398163397448i 0.346573590279972655+0.78539816339744831i 19 log2:10 17 23 20 log2:10 17 23 21 log2:10 17 23 19 22 log2:3. 3. 3. 20 23 log10:2. 2. 2. -
tests/concurrent/futures/multi.cfa
r857a1c6 rc8a0210 5 5 6 6 thread Server { 7 int cnt, iteration;7 int pending, done, iteration; 8 8 multi_future(int) * request; 9 9 }; 10 10 11 11 void ?{}( Server & this ) { 12 this.cnt = 0; 12 ((thread&)this){"Server Thread"}; 13 this.pending = 0; 14 this.done = 0; 13 15 this.iteration = 0; 14 16 this.request = 0p; … … 16 18 17 19 void ^?{}( Server & mutex this ) { 18 assert(this. cnt== 0);19 this.request = 0p;20 assert(this.pending == 0); 21 this.request = 0p; 20 22 } 21 23 … … 24 26 } 25 27 26 void process( Server & mutex this ) { 27 fulfil( *this.request, this.iteration ); 28 this.iteration++; 28 void call( Server & mutex this ) { 29 this.pending++; 29 30 } 30 31 31 void call( Server & mutex this ) {32 this. cnt++;32 void finish( Server & mutex this ) { 33 this.done++; 33 34 } 34 35 35 void finish( Server & mutex this ) { }36 37 36 void main( Server & this ) { 37 MAIN_LOOP: 38 38 for() { 39 39 waitfor( ^?{} : this ) { 40 40 break; 41 41 } 42 or when( this.cnt < NFUTURES ) waitfor( call: this ) { 43 if (this.cnt == NFUTURES) { 44 process(this); 42 or waitfor( call: this ) { 43 if (this.pending != NFUTURES) { continue MAIN_LOOP; } 44 45 this.pending = 0; 46 fulfil( *this.request, this.iteration ); 47 this.iteration++; 48 49 for(NFUTURES) { 50 waitfor( finish: this ); 45 51 } 46 } 47 or waitfor( finish: this ) { 48 if (this.cnt == NFUTURES) { 49 reset( *this.request ); 50 this.cnt = 0; 51 } 52 53 reset( *this.request ); 54 this.done = 0; 52 55 } 53 56 } … … 57 60 Server * the_server; 58 61 thread Worker {}; 62 void ?{}(Worker & this) { 63 ((thread&)this){"Worker Thread"}; 64 } 65 59 66 multi_future(int) * shared_future; 60 67 -
tests/concurrent/spinaphore.cfa
r857a1c6 rc8a0210 49 49 void main(Unblocker & this) { 50 50 this.sum = 0; 51 unsigned me = (unsigned) &this;51 unsigned me = (unsigned)(uintptr_t)&this; 52 52 for(num_unblocks) { 53 53 $thread * t = V(sem, false); 54 54 Blocker * b = from_thread(t); 55 55 b->sum += me; 56 this.sum += (unsigned) b;56 this.sum += (unsigned)(uintptr_t)b; 57 57 unpark(t); 58 58 yield(random(10)); … … 73 73 for(i;num_blockers) { 74 74 for(num_blocks) 75 usum += (unsigned) &blockers[i];75 usum += (unsigned)(uintptr_t)&blockers[i]; 76 76 } 77 77 78 78 for(i;num_unblockers) { 79 79 for(num_unblocks) 80 bsum += (unsigned) &unblockers[i];80 bsum += (unsigned)(uintptr_t)&unblockers[i]; 81 81 } 82 82 -
tests/errors/.expect/completeType.nast.arm64.txt
r857a1c6 rc8a0210 12 12 Application of 13 13 Variable Expression: *?: forall 14 DT: data type14 instance of type DT (not function type) 15 15 function 16 16 ... with parameters … … 21 21 ... with resolved type: 22 22 pointer to forall 23 [unbound]:data type 23 instance of type [unbound] (not function type) 24 function 25 ... with parameters 26 pointer to instance of type [unbound] (not function type) 27 ... returning 28 reference to instance of type [unbound] (not function type) 29 30 ... to arguments 31 Variable Expression: x: pointer to instance of struct A without body 32 ... with resolved type: 33 pointer to instance of struct A without body 34 35 ... with resolved type: 36 reference to instance of struct A without body 37 ... to: nothing 38 ... with resolved type: 39 void 40 (types: 41 void 42 ) 43 Environment:([unbound]DT) -> instance of struct A without body (no widening) 44 45 46 Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of: 47 Application of 48 Variable Expression: *?: forall 49 instance of type DT (not function type) 50 function 51 ... with parameters 52 pointer to instance of type DT (not function type) 53 ... returning 54 reference to instance of type DT (not function type) 55 56 ... with resolved type: 57 pointer to forall 58 instance of type [unbound] (not function type) 24 59 function 25 60 ... with parameters … … 41 76 void 42 77 ) 43 Environment:([unbound]) -> instance of struct B with body (no widening) 44 45 46 Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of: 47 Application of 48 Variable Expression: *?: forall 49 DT: data type 50 function 51 ... with parameters 52 pointer to instance of type DT (not function type) 53 ... returning 54 reference to instance of type DT (not function type) 55 56 ... with resolved type: 57 pointer to forall 58 [unbound]:data type 59 function 60 ... with parameters 61 pointer to instance of type [unbound] (not function type) 62 ... returning 63 reference to instance of type [unbound] (not function type) 64 65 ... to arguments 66 Variable Expression: x: pointer to instance of struct A without body 67 ... with resolved type: 68 pointer to instance of struct A without body 69 70 ... with resolved type: 71 reference to instance of struct A without body 72 ... to: nothing 73 ... with resolved type: 74 void 75 (types: 76 void 77 ) 78 Environment:([unbound]) -> instance of struct A without body (no widening) 78 Environment:([unbound]DT) -> instance of struct B with body (no widening) 79 79 80 80 … … 113 113 Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of 114 114 Variable Expression: baz: forall 115 T: sized data type 116 ... with assertions 117 ?=?: pointer to function 115 instance of type T (not function type) 116 with assertions 117 Variable Expression: ?=?: pointer to function 118 ... with parameters 119 reference to instance of type T (not function type) 120 instance of type T (not function type) 121 ... returning 122 instance of type T (not function type) 123 124 ... with resolved type: 125 pointer to function 118 126 ... with parameters 119 127 reference to instance of type T (not function type) … … 122 130 instance of type T (not function type) 123 131 124 ?{}: pointer to function 125 ... with parameters 126 reference to instance of type T (not function type) 127 ... returning nothing 128 129 ?{}: pointer to function 130 ... with parameters 131 reference to instance of type T (not function type) 132 instance of type T (not function type) 133 ... returning nothing 134 135 ^?{}: pointer to function 136 ... with parameters 137 reference to instance of type T (not function type) 138 ... returning nothing 139 132 Variable Expression: ?{}: pointer to function 133 ... with parameters 134 reference to instance of type T (not function type) 135 ... returning nothing 136 137 ... with resolved type: 138 pointer to function 139 ... with parameters 140 reference to instance of type T (not function type) 141 ... returning nothing 142 143 Variable Expression: ?{}: pointer to function 144 ... with parameters 145 reference to instance of type T (not function type) 146 instance of type T (not function type) 147 ... returning nothing 148 149 ... with resolved type: 150 pointer to function 151 ... with parameters 152 reference to instance of type T (not function type) 153 instance of type T (not function type) 154 ... returning nothing 155 156 Variable Expression: ^?{}: pointer to function 157 ... with parameters 158 reference to instance of type T (not function type) 159 ... returning nothing 160 161 ... with resolved type: 162 pointer to function 163 ... with parameters 164 reference to instance of type T (not function type) 165 ... returning nothing 140 166 141 167 function … … 146 172 ... with resolved type: 147 173 pointer to forall 148 [unbound]:sized data type 149 ... with assertions 150 ?=?: pointer to function 174 instance of type [unbound] (not function type) 175 with assertions 176 Variable Expression: ?=?: pointer to function 177 ... with parameters 178 reference to instance of type T (not function type) 179 instance of type T (not function type) 180 ... returning 181 instance of type T (not function type) 182 183 ... with resolved type: 184 pointer to function 151 185 ... with parameters 152 186 reference to instance of type [unbound] (not function type) … … 155 189 instance of type [unbound] (not function type) 156 190 157 ?{}: pointer to function 191 Variable Expression: ?{}: pointer to function 192 ... with parameters 193 reference to instance of type T (not function type) 194 ... returning nothing 195 196 ... with resolved type: 197 pointer to function 158 198 ... with parameters 159 199 reference to instance of type [unbound] (not function type) 160 200 ... returning nothing 161 201 162 ?{}: pointer to function 202 Variable Expression: ?{}: pointer to function 203 ... with parameters 204 reference to instance of type T (not function type) 205 instance of type T (not function type) 206 ... returning nothing 207 208 ... with resolved type: 209 pointer to function 163 210 ... with parameters 164 211 reference to instance of type [unbound] (not function type) … … 166 213 ... returning nothing 167 214 168 ^?{}: pointer to function 215 Variable Expression: ^?{}: pointer to function 216 ... with parameters 217 reference to instance of type T (not function type) 218 ... returning nothing 219 220 ... with resolved type: 221 pointer to function 169 222 ... with parameters 170 223 reference to instance of type [unbound] (not function type) 171 224 ... returning nothing 172 173 225 174 226 function … … 188 240 void 189 241 ) 190 Environment:([unbound] ) -> instance of type T (not function type) (no widening)242 Environment:([unbound]T) -> instance of type T (not function type) (no widening) 191 243 192 244 Could not satisfy assertion: 193 ?=?: pointer to function245 Variable Expression: ?=?: pointer to function 194 246 ... with parameters 195 reference to instance of type [unbound](not function type)196 instance of type [unbound](not function type)247 reference to instance of type T (not function type) 248 instance of type T (not function type) 197 249 ... returning 198 instance of type [unbound] (not function type) 199 250 instance of type T (not function type) 251 252 ... with resolved type: 253 pointer to function 254 ... with parameters 255 reference to instance of type [unbound] (not function type) 256 instance of type [unbound] (not function type) 257 ... returning 258 instance of type [unbound] (not function type) 259 -
tests/exceptions/.expect/resume-threads.txt
r857a1c6 rc8a0210 6 6 7 7 catch-all 8 9 throwing child exception10 inner parent match11 8 12 9 caught yin as yin -
tests/exceptions/.expect/resume.txt
r857a1c6 rc8a0210 6 6 7 7 catch-all 8 9 throwing child exception10 inner parent match11 8 12 9 caught yin as yin -
tests/exceptions/.expect/terminate-threads.txt
r857a1c6 rc8a0210 5 5 6 6 catch-all 7 8 throwing child exception9 inner parent match10 7 11 8 caught yin as yin -
tests/exceptions/.expect/terminate.txt
r857a1c6 rc8a0210 5 5 6 6 catch-all 7 8 throwing child exception9 inner parent match10 7 11 8 caught yin as yin -
tests/exceptions/cancel/coroutine.cfa
r857a1c6 rc8a0210 4 4 #include <exception.hfa> 5 5 6 TRIVIAL_EXCEPTION(internal_error); 6 EHM_EXCEPTION(internal_error)(); 7 EHM_VIRTUAL_TABLE(internal_error, internal_vt); 7 8 8 9 coroutine WillCancel {}; … … 14 15 void main(WillCancel & wc) { 15 16 printf("1"); 16 cancel_stack((internal_error){ });17 cancel_stack((internal_error){&internal_vt}); 17 18 printf("!"); 18 19 } … … 24 25 resume(cancel); 25 26 printf("4"); 26 } catchResume ( CoroutineCancelled(WillCancel)* error) {27 } catchResume (SomeCoroutineCancelled * error) { 27 28 printf("2"); 28 29 if ((virtual internal_error *)error->the_exception) { -
tests/exceptions/cancel/thread.cfa
r857a1c6 rc8a0210 4 4 #include <exception.hfa> 5 5 6 TRIVIAL_EXCEPTION(internal_error); 6 EHM_EXCEPTION(internal_error)(); 7 EHM_VIRTUAL_TABLE(internal_error, internal_vt); 7 8 8 9 thread WillCancel {}; … … 14 15 void main(WillCancel &) { 15 16 printf("1"); 16 cancel_stack((internal_error){ });17 cancel_stack((internal_error){&internal_vt}); 17 18 printf("!"); 18 19 } … … 25 26 join(cancel); 26 27 printf("4"); 27 } catchResume ( ThreadCancelled(WillCancel)* error) {28 } catchResume (SomeThreadCancelled * error) { 28 29 printf("2"); 29 30 if ((virtual internal_error *)error->the_exception) { … … 42 43 } 43 44 printf("4"); 44 } catchResume ( ThreadCancelled(WillCancel)* error) {45 } catchResume (SomeThreadCancelled * error) { 45 46 printf("2"); 46 47 if ((virtual internal_error *)error->the_exception) { -
tests/exceptions/conditional.cfa
r857a1c6 rc8a0210 6 6 #include <exception.hfa> 7 7 8 VTABLE_DECLARATION(num_error)(9 int (*code)(num_error *this);8 EHM_EXCEPTION(num_error)( 9 int num; 10 10 ); 11 11 12 struct num_error { 13 VTABLE_FIELD(num_error); 14 char * msg; 15 int num; 16 }; 17 18 const char * num_error_msg(num_error * this) { 19 if ( ! this->msg ) { 20 static const char * base = "Num Error with code: X"; 21 this->msg = (char *)malloc(22); 22 for (int i = 0 ; (this->msg[i] = base[i]) ; ++i); 23 } 24 this->msg[21] = '0' + this->num; 25 return this->msg; 26 } 27 void ?{}(num_error & this, int num) { 28 VTABLE_INIT(this, num_error); 29 this.msg = 0; 30 this.num = num; 31 } 32 void ?{}(num_error & this, num_error & other) { 33 this.virtual_table = other.virtual_table; 34 this.msg = 0; 35 this.num = other.num; 36 } 37 void ^?{}(num_error & this) { 38 if( this.msg ) free( this.msg ); 39 } 40 int num_error_code( num_error * this ) { 41 return this->num; 42 } 43 44 VTABLE_INSTANCE(num_error)( 45 num_error_msg, 46 num_error_code, 47 ); 12 EHM_VIRTUAL_TABLE(num_error, num_error_vt); 48 13 49 14 void caught_num_error(int expect, num_error * actual) { … … 52 17 53 18 int main(int argc, char * argv[]) { 54 num_error exc = 2;19 num_error exc = {&num_error_vt, 2}; 55 20 56 21 try { 57 22 throw exc; 58 } catch (num_error * error ; 3 == error-> virtual_table->code( error )) {23 } catch (num_error * error ; 3 == error->num ) { 59 24 caught_num_error(3, error); 60 } catch (num_error * error ; 2 == error-> virtual_table->code( error )) {25 } catch (num_error * error ; 2 == error->num ) { 61 26 caught_num_error(2, error); 62 27 } … … 64 29 try { 65 30 throwResume exc; 66 } catchResume (num_error * error ; 3 == error-> virtual_table->code( error )) {31 } catchResume (num_error * error ; 3 == error->num ) { 67 32 caught_num_error(3, error); 68 } catchResume (num_error * error ; 2 == error-> virtual_table->code( error )) {33 } catchResume (num_error * error ; 2 == error->num ) { 69 34 caught_num_error(2, error); 70 35 } -
tests/exceptions/data-except.cfa
r857a1c6 rc8a0210 3 3 #include <exception.hfa> 4 4 5 DATA_EXCEPTION(paired)(5 EHM_EXCEPTION(paired)( 6 6 int first; 7 7 int second; 8 8 ); 9 9 10 void ?{}(paired & this, int first, int second) { 11 VTABLE_INIT(this, paired); 12 this.first = first; 13 this.second = second; 14 } 10 EHM_VIRTUAL_TABLE(paired, paired_vt); 15 11 16 const char * paired_msg(paired * this) { 17 return "paired"; 18 } 19 20 VTABLE_INSTANCE(paired)(paired_msg); 21 22 void throwPaired(int first, int second) { 23 paired exc = {first, second}; 12 const char * virtual_msg(paired * this) { 13 return this->virtual_table->msg(this); 24 14 } 25 15 26 16 int main(int argc, char * argv[]) { 27 paired except = { 3, 13};17 paired except = {&paired_vt, 3, 13}; 28 18 29 19 try { 30 20 throw except; 31 21 } catch (paired * exc) { 32 printf("%s(%d, %d)\n", paired_msg(exc), exc->first, exc->second);22 printf("%s(%d, %d)\n", virtual_msg(exc), exc->first, exc->second); 33 23 ++exc->first; 34 24 } 35 25 36 printf("%s(%d, %d)\n", paired_msg(&except), except.first, except.second);26 printf("%s(%d, %d)\n", virtual_msg(&except), except.first, except.second); 37 27 38 28 try { 39 29 throwResume except; 40 30 } catchResume (paired * exc) { 41 printf("%s(%d, %d)\n", paired_msg(exc), exc->first, exc->second);31 printf("%s(%d, %d)\n", virtual_msg(exc), exc->first, exc->second); 42 32 ++exc->first; 43 33 } 44 34 45 printf("%s(%d, %d)\n", paired_msg(&except), except.first, except.second);35 printf("%s(%d, %d)\n", virtual_msg(&except), except.first, except.second); 46 36 } -
tests/exceptions/defaults.cfa
r857a1c6 rc8a0210 4 4 #include <exception.hfa> 5 5 6 DATA_EXCEPTION(log_message)(6 EHM_EXCEPTION(log_message)( 7 7 char * msg; 8 8 ); 9 9 10 void ?{}(log_message & this, char * msg) { 11 VTABLE_INIT(this, log_message); 12 this.msg = msg; 13 } 14 15 const char * get_log_message(log_message * this) { 10 _EHM_DEFINE_COPY(log_message, ) 11 const char * msg(log_message * this) { 16 12 return this->msg; 17 13 } 18 19 VTABLE_INSTANCE(log_message)(get_log_message); 14 _EHM_VIRTUAL_TABLE(log_message, , log_vt); 20 15 21 16 // Logging messages don't have to be handled. … … 28 23 // We can catch log: 29 24 try { 30 throwResume (log_message){ "Should be printed.\n"};25 throwResume (log_message){&log_vt, "Should be printed.\n"}; 31 26 } catchResume (log_message * this) { 32 27 printf("%s", this->virtual_table->msg(this)); 33 28 } 34 29 // But we don't have to: 35 throwResume (log_message){ "Should not be printed.\n"};30 throwResume (log_message){&log_vt, "Should not be printed.\n"}; 36 31 } 37 32 38 33 // I don't have a good use case for doing the same with termination. 39 TRIVIAL_EXCEPTION(jump);34 EHM_EXCEPTION(jump)(); 40 35 void defaultTerminationHandler(jump &) { 41 36 printf("jump default handler.\n"); 42 37 } 43 38 39 EHM_VIRTUAL_TABLE(jump, jump_vt); 40 44 41 void jump_test(void) { 45 42 try { 46 throw (jump){ };43 throw (jump){&jump_vt}; 47 44 } catch (jump * this) { 48 45 printf("jump catch handler.\n"); 49 46 } 50 throw (jump){ };47 throw (jump){&jump_vt}; 51 48 } 52 49 53 TRIVIAL_EXCEPTION(first); 54 TRIVIAL_EXCEPTION(unhandled_exception); 50 EHM_EXCEPTION(first)(); 51 EHM_VIRTUAL_TABLE(first, first_vt); 52 53 EHM_EXCEPTION(unhandled_exception)(); 54 EHM_VIRTUAL_TABLE(unhandled_exception, unhandled_vt); 55 55 56 56 void unhandled_test(void) { 57 57 forall(T &, V & | is_exception(T, V)) 58 58 void defaultTerminationHandler(T &) { 59 throw (unhandled_exception){ };59 throw (unhandled_exception){&unhandled_vt}; 60 60 } 61 61 void defaultTerminationHandler(unhandled_exception &) { … … 63 63 } 64 64 try { 65 throw (first){ };65 throw (first){&first_vt}; 66 66 } catch (unhandled_exception * t) { 67 67 printf("Catch unhandled_exception.\n"); … … 69 69 } 70 70 71 TRIVIAL_EXCEPTION(second); 71 EHM_EXCEPTION(second)(); 72 EHM_VIRTUAL_TABLE(second, second_vt); 72 73 73 74 void cross_test(void) { 74 75 void defaultTerminationHandler(first &) { 75 76 printf("cross terminate default\n"); 76 throw (second){ };77 throw (second){&second_vt}; 77 78 } 78 79 void defaultResumptionHandler(first &) { 79 80 printf("cross resume default\n"); 80 throwResume (second){ };81 throwResume (second){&second_vt}; 81 82 } 82 83 try { 83 84 printf("cross terminate throw\n"); 84 throw (first){ };85 throw (first){&first_vt}; 85 86 } catch (second *) { 86 87 printf("cross terminate catch\n"); … … 88 89 try { 89 90 printf("cross resume throw\n"); 90 throwResume (first){ };91 throwResume (first){&first_vt}; 91 92 } catchResume (second *) { 92 93 printf("cross resume catch\n"); -
tests/exceptions/finally.cfa
r857a1c6 rc8a0210 4 4 #include "except-io.hfa" 5 5 6 TRIVIAL_EXCEPTION(myth); 6 EHM_EXCEPTION(myth)(); 7 8 EHM_VIRTUAL_TABLE(myth, myth_vt); 7 9 8 10 int main(int argc, char * argv[]) { 9 myth exc ;11 myth exc = {&myth_vt}; 10 12 11 13 try { -
tests/exceptions/interact.cfa
r857a1c6 rc8a0210 4 4 #include "except-io.hfa" 5 5 6 TRIVIAL_EXCEPTION(star); 7 TRIVIAL_EXCEPTION(moon); 6 EHM_EXCEPTION(star)(); 7 EHM_EXCEPTION(moon)(); 8 9 EHM_VIRTUAL_TABLE(star, star_vt); 10 EHM_VIRTUAL_TABLE(moon, moon_vt); 8 11 9 12 int main(int argc, char * argv[]) { 10 13 // Resume falls back to terminate. 11 14 try { 12 throwResume (star){ };15 throwResume (star){&star_vt}; 13 16 } catch (star *) { 14 17 printf("caught as termination\n"); … … 17 20 try { 18 21 loud_region a = "try block with resume throw"; 19 throwResume (star){ };22 throwResume (star){&star_vt}; 20 23 } catch (star *) { 21 24 printf("caught as termination\n"); … … 29 32 try { 30 33 try { 31 throw (star){ };34 throw (star){&star_vt}; 32 35 } catchResume (star *) { 33 36 printf("resume catch on terminate\n"); … … 43 46 try { 44 47 try { 45 throwResume (star){ };48 throwResume (star){&star_vt}; 46 49 } catch (star *) { 47 50 printf("terminate catch on resume\n"); … … 58 61 try { 59 62 try { 60 throw (star){ };63 throw (star){&star_vt}; 61 64 } catchResume (star *) { 62 65 printf("inner resume catch (error)\n"); … … 75 78 try { 76 79 try { 77 throwResume (star){ };80 throwResume (star){&star_vt}; 78 81 } catch (star *) { 79 82 printf("inner termination catch\n"); … … 94 97 try { 95 98 printf("throwing resume moon\n"); 96 throwResume (moon){ };99 throwResume (moon){&moon_vt}; 97 100 } catch (star *) { 98 101 printf("termination catch\n"); 99 102 } 100 103 printf("throwing resume star\n"); 101 throwResume (star){ };104 throwResume (star){&star_vt}; 102 105 } catchResume (star *) { 103 106 printf("resumption star catch\n"); … … 105 108 } catchResume (moon *) { 106 109 printf("resumption moon catch, will terminate\n"); 107 throw (star){ };110 throw (star){&star_vt}; 108 111 } 109 112 } catchResume (star *) { -
tests/exceptions/polymorphic.cfa
r857a1c6 rc8a0210 3 3 #include <exception.hfa> 4 4 5 FORALL_TRIVIAL_EXCEPTION(proxy, (T), (T)); 6 FORALL_TRIVIAL_INSTANCE(proxy, (U), (U)) 5 EHM_FORALL_EXCEPTION(proxy, (T&), (T))(); 7 6 8 const char * msg(proxy(int) * this) { return "proxy(int)"; } 9 const char * msg(proxy(char) * this) { return "proxy(char)"; } 10 POLY_VTABLE_INSTANCE(proxy, int)(msg); 11 POLY_VTABLE_INSTANCE(proxy, char)(msg); 7 EHM_FORALL_VIRTUAL_TABLE(proxy, (int), proxy_int); 8 EHM_FORALL_VIRTUAL_TABLE(proxy, (char), proxy_char); 12 9 13 10 void proxy_test(void) { 11 proxy(int) an_int = {&proxy_int}; 12 proxy(char) a_char = {&proxy_char}; 13 14 14 try { 15 throw (proxy(int)){};15 throw an_int; 16 16 } catch (proxy(int) *) { 17 17 printf("terminate catch\n"); … … 19 19 20 20 try { 21 throwResume (proxy(char)){};21 throwResume a_char; 22 22 } catchResume (proxy(char) *) { 23 23 printf("resume catch\n"); … … 25 25 26 26 try { 27 throw (proxy(char)){};27 throw a_char; 28 28 } catch (proxy(int) *) { 29 29 printf("caught proxy(int)\n"); … … 33 33 } 34 34 35 FORALL_DATA_EXCEPTION(cell, (T), (T))(35 EHM_FORALL_EXCEPTION(cell, (T), (T))( 36 36 T data; 37 37 ); 38 38 39 FORALL_DATA_INSTANCE(cell, (T), (T)) 40 41 const char * msg(cell(int) * this) { return "cell(int)"; } 42 const char * msg(cell(char) * this) { return "cell(char)"; } 43 const char * msg(cell(bool) * this) { return "cell(bool)"; } 44 POLY_VTABLE_INSTANCE(cell, int)(msg); 45 POLY_VTABLE_INSTANCE(cell, char)(msg); 46 POLY_VTABLE_INSTANCE(cell, bool)(msg); 39 EHM_FORALL_VIRTUAL_TABLE(cell, (int), int_cell); 40 EHM_FORALL_VIRTUAL_TABLE(cell, (char), char_cell); 41 EHM_FORALL_VIRTUAL_TABLE(cell, (bool), bool_cell); 47 42 48 43 void cell_test(void) { 49 44 try { 50 cell(int) except; 51 except.data = -7; 45 cell(int) except = {&int_cell, -7}; 52 46 throw except; 53 47 } catch (cell(int) * error) { … … 56 50 57 51 try { 58 cell(bool) ball; 59 ball.data = false; 52 cell(bool) ball = {&bool_cell, false}; 60 53 throwResume ball; 61 54 printf("%i\n", ball.data); -
tests/exceptions/resume.cfa
r857a1c6 rc8a0210 4 4 #include "except-io.hfa" 5 5 6 TRIVIAL_EXCEPTION(yin); 7 TRIVIAL_EXCEPTION(yang); 8 TRIVIAL_EXCEPTION(zen); 9 TRIVIAL_EXCEPTION(moment_of, zen); 6 EHM_EXCEPTION(yin)(); 7 EHM_EXCEPTION(yang)(); 8 EHM_EXCEPTION(zen)(); 9 10 EHM_VIRTUAL_TABLE(yin, yin_vt); 11 EHM_VIRTUAL_TABLE(yang, yang_vt); 12 EHM_VIRTUAL_TABLE(zen, zen_vt); 10 13 11 14 void in_void(void); 12 15 13 16 int main(int argc, char * argv[]) { 17 yin a_yin = {&yin_vt}; 18 yang a_yang = {&yang_vt}; 19 zen a_zen = {&zen_vt}; 20 14 21 // The simple throw catchResume test. 15 22 try { 16 23 loud_exit a = "simple try clause"; 17 24 printf("simple throw\n"); 18 throwResume (zen){};25 throwResume a_zen; 19 26 printf("end of try clause\n"); 20 27 } catchResume (zen * error) { … … 26 33 // Throw catch-all test. 27 34 try { 28 throwResume (zen){};35 throwResume a_zen; 29 36 } catchResume (exception_t * error) { 30 37 printf("catch-all\n"); 31 }32 printf("\n");33 34 // Catch a parent of the given exception.35 try {36 printf("throwing child exception\n");37 throwResume (moment_of){};38 } catchResume (zen *) {39 printf("inner parent match\n");40 } catchResume (moment_of *) {41 printf("outer exact match\n");42 38 } 43 39 printf("\n"); … … 46 42 try { 47 43 try { 48 throwResume (yin){};44 throwResume a_yin; 49 45 } catchResume (zen *) { 50 46 printf("caught yin as zen\n"); … … 62 58 loud_exit a = "rethrow inner try"; 63 59 printf("rethrow inner try\n"); 64 throwResume (zen){};60 throwResume a_zen; 65 61 } catchResume (zen *) { 66 62 loud_exit a = "rethrowing catch clause"; … … 77 73 try { 78 74 try { 79 throwResume (yin){};75 throwResume a_yin; 80 76 } catchResume (yin *) { 81 77 printf("caught yin, will throw yang\n"); 82 throwResume (yang){};78 throwResume a_yang; 83 79 } catchResume (yang *) { 84 80 printf("caught exception from same try\n"); … … 93 89 try { 94 90 printf("throwing first exception\n"); 95 throwResume (yin){};91 throwResume a_yin; 96 92 } catchResume (yin *) { 97 93 printf("caught first exception\n"); 98 94 try { 99 95 printf("throwing second exception\n"); 100 throwResume (yang){};96 throwResume a_yang; 101 97 } catchResume (yang *) { 102 98 printf("caught second exception\n"); … … 114 110 try { 115 111 try { 116 throwResume (zen){};117 throwResume (zen){};112 throwResume a_zen; 113 throwResume a_zen; 118 114 } catchResume (zen *) { 119 115 printf("inner catch\n"); 120 116 } 121 throwResume (zen){};117 throwResume a_zen; 122 118 } catchResume (zen *) { 123 119 printf("outer catch\n"); … … 130 126 // Do a throw and rethrow in a void function. 131 127 void in_void(void) { 128 zen a_zen = {&zen_vt}; 132 129 try { 133 130 try { 134 131 printf("throw\n"); 135 throwResume (zen){};132 throwResume a_zen; 136 133 } catchResume (zen *) { 137 134 printf("rethrow\n"); -
tests/exceptions/terminate.cfa
r857a1c6 rc8a0210 4 4 #include "except-io.hfa" 5 5 6 TRIVIAL_EXCEPTION(yin); 7 TRIVIAL_EXCEPTION(yang); 8 TRIVIAL_EXCEPTION(zen); 9 TRIVIAL_EXCEPTION(moment_of, zen); 6 EHM_EXCEPTION(yin)(); 7 EHM_EXCEPTION(yang)(); 8 EHM_EXCEPTION(zen)(); 9 10 EHM_VIRTUAL_TABLE(yin, yin_vt); 11 EHM_VIRTUAL_TABLE(yang, yang_vt); 12 EHM_VIRTUAL_TABLE(zen, zen_vt); 10 13 11 14 void in_void(void); 12 15 13 16 int main(int argc, char * argv[]) { 17 yin a_yin = {&yin_vt}; 18 yang a_yang = {&yang_vt}; 19 zen a_zen = {&zen_vt}; 20 14 21 // The simple throw catch test. 15 22 try { 16 23 loud_exit a = "simple try clause"; 17 24 printf("simple throw\n"); 18 throw (zen){};25 throw a_zen; 19 26 printf("end of try clause\n"); 20 27 } catch (zen * error) { … … 26 33 // Throw catch-all test. 27 34 try { 28 throw (zen){};35 throw a_zen; 29 36 } catch (exception_t * error) { 30 37 printf("catch-all\n"); 31 }32 printf("\n");33 34 // Catch a parent of the given exception.35 try {36 printf("throwing child exception\n");37 throw (moment_of){};38 } catch (zen *) {39 printf("inner parent match\n");40 } catch (moment_of *) {41 printf("outer exact match\n");42 38 } 43 39 printf("\n"); … … 46 42 try { 47 43 try { 48 throw (yin){};44 throw a_yin; 49 45 } catch (zen *) { 50 46 printf("caught yin as zen\n"); … … 62 58 loud_exit a = "rethrow inner try"; 63 59 printf("rethrow inner try\n"); 64 throw (zen){};60 throw a_zen; 65 61 } catch (zen *) { 66 62 loud_exit a = "rethrowing catch clause"; … … 77 73 try { 78 74 try { 79 throw (yin){};75 throw a_yin; 80 76 } catch (yin *) { 81 77 printf("caught yin, will throw yang\n"); 82 throw (yang){};78 throw a_yang; 83 79 } catch (yang *) { 84 80 printf("caught exception from same try\n"); … … 93 89 try { 94 90 printf("throwing first exception\n"); 95 throw (yin){};91 throw a_yin; 96 92 } catch (yin *) { 97 93 printf("caught first exception\n"); 98 94 try { 99 95 printf("throwing second exception\n"); 100 throw (yang){};96 throw a_yang; 101 97 } catch (yang *) { 102 98 printf("caught second exception\n"); … … 114 110 try { 115 111 try { 116 throw (zen){};117 throw (zen){};112 throw a_zen; 113 throw a_zen; 118 114 } catch (zen *) { 119 115 printf("inner catch\n"); 120 116 } 121 throw (zen){};117 throw a_zen; 122 118 } catch (zen *) { 123 119 printf("outer catch\n"); … … 130 126 // Do a throw and rethrow in a void function. 131 127 void in_void(void) { 128 zen a_zen = {&zen_vt}; 132 129 try { 133 130 try { 134 131 printf("throw\n"); 135 throw (zen){};132 throw a_zen; 136 133 } catch (zen *) { 137 134 printf("rethrow\n"); -
tests/exceptions/trash.cfa
r857a1c6 rc8a0210 3 3 #include <exception.hfa> 4 4 5 TRIVIAL_EXCEPTION(yin); 6 TRIVIAL_EXCEPTION(yang); 5 EHM_EXCEPTION(yin)(); 6 EHM_EXCEPTION(yang)(); 7 8 EHM_VIRTUAL_TABLE(yin, yin_vt); 9 EHM_VIRTUAL_TABLE(yang, yang_vt); 7 10 8 11 int main(int argc, char * argv[]) { 9 12 try { 10 13 try { 11 throw (yin){ };14 throw (yin){&yin_vt}; 12 15 } finally { 13 16 try { 14 throw (yang){ };17 throw (yang){&yang_vt}; 15 18 } catch (yin *) { 16 19 printf("inner yin\n"); -
tests/exceptions/type-check.cfa
r857a1c6 rc8a0210 3 3 #include <exception.hfa> 4 4 5 TRIVIAL_EXCEPTION(truth);5 EHM_EXCEPTION(truth)(); 6 6 7 7 int main(int argc, char * argv[]) { -
tests/exceptions/virtual-cast.cfa
r857a1c6 rc8a0210 12 12 #include <assert.h> 13 13 14 15 16 // Hand defined alpha virtual type: 17 struct __cfatid_struct_alpha { 18 __cfa__parent_vtable const * parent; 19 }; 20 21 __attribute__(( section(".gnu.linkonce.__cfatid_alpha") )) 22 struct __cfatid_struct_alpha __cfatid_alpha = { 23 (__cfa__parent_vtable *)0, 24 }; 25 14 26 struct alpha_vtable { 15 alpha_vtable const * const parent;27 struct __cfatid_struct_alpha const * const __cfavir_typeid; 16 28 char (*code)(void); 17 29 }; … … 27 39 28 40 41 // Hand defined beta virtual type: 42 struct __cfatid_struct_beta { 43 __cfatid_struct_alpha const * parent; 44 }; 45 46 __attribute__(( section(".gnu.linkonce.__cfatid_beta") )) 47 struct __cfatid_struct_beta __cfatid_beta = { 48 &__cfatid_alpha, 49 }; 50 29 51 struct beta_vtable { 30 alpha_vtable const * const parent;52 struct __cfatid_struct_beta const * const __cfavir_typeid; 31 53 char (*code)(void); 32 54 }; … … 42 64 43 65 66 // Hand defined gamma virtual type: 67 struct __cfatid_struct_gamma { 68 __cfatid_struct_beta const * parent; 69 }; 70 71 __attribute__(( section(".gnu.linkonce.__cfatid_gamma") )) 72 struct __cfatid_struct_gamma __cfatid_gamma = { 73 &__cfatid_beta, 74 }; 75 44 76 struct gamma_vtable { 45 beta_vtable const * const parent;77 struct __cfatid_struct_gamma const * const __cfavir_typeid; 46 78 char (*code)(void); 47 79 }; … … 57 89 58 90 extern "C" { 59 alpha_vtable _alpha_vtable_instance = { 0, ret_a };60 beta_vtable _beta_vtable_instance = { &_ alpha_vtable_instance, ret_b };61 gamma_vtable _gamma_vtable_instance = { &_ beta_vtable_instance, ret_g };91 alpha_vtable _alpha_vtable_instance = { &__cfatid_alpha, ret_a }; 92 beta_vtable _beta_vtable_instance = { &__cfatid_beta, ret_b }; 93 gamma_vtable _gamma_vtable_instance = { &__cfatid_gamma, ret_g }; 62 94 } 63 95 -
tests/exceptions/virtual-poly.cfa
r857a1c6 rc8a0210 8 8 #include <assert.h> 9 9 10 11 struct __cfatid_struct_mono_base { 12 __cfa__parent_vtable const * parent; 13 }; 14 15 __attribute__(( section(".gnu.linkonce.__cfatid_mono_base") )) 16 struct __cfatid_struct_mono_base __cfatid_mono_base = { 17 (__cfa__parent_vtable *)0, 18 }; 19 10 20 struct mono_base_vtable { 11 mono_base_vtable const * const parent;21 __cfatid_struct_mono_base const * const __cfavir_typeid; 12 22 }; 13 23 … … 17 27 18 28 forall(T) 29 struct __cfatid_struct_mono_child { 30 __cfatid_struct_mono_base const * parent; 31 }; 32 33 forall(T) 19 34 struct mono_child_vtable { 20 mono_base_vtable const * const parent;35 __cfatid_struct_mono_child(T) const * const __cfavir_typeid; 21 36 }; 22 37 … … 26 41 }; 27 42 28 mono_base_vtable _mono_base_vtable_instance @= { 0 }; 43 __cfatid_struct_mono_child(int) __cfatid_mono_child @= { 44 &__cfatid_mono_base, 45 }; 46 29 47 mono_child_vtable(int) _mono_child_vtable_instance @= { 30 &_ mono_base_vtable_instance48 &__cfatid_mono_child, 31 49 }; 32 50 … … 37 55 } 38 56 57 58 forall(U) 59 struct __cfatid_struct_poly_base { 60 __cfa__parent_vtable const * parent; 61 }; 62 39 63 forall(U) 40 64 struct poly_base_vtable { 41 poly_base_vtable(U) const * const parent;65 __cfatid_struct_poly_base(U) const * const __cfavir_typeid; 42 66 }; 43 67 … … 48 72 49 73 forall(V) 74 struct __cfatid_struct_poly_child { 75 __cfatid_struct_poly_base(V) const * parent; 76 }; 77 78 forall(V) 50 79 struct poly_child_vtable { 51 poly_base_vtable(V) const * const parent;80 __cfatid_struct_poly_child(V) const * const __cfavir_typeid; 52 81 }; 53 82 … … 57 86 }; 58 87 59 poly_base_vtable(int) _poly_base_vtable_instance @= { 0 }; 88 __cfatid_struct_poly_base(int) __cfatid_poly_base @= { 89 (__cfa__parent_vtable *)0, 90 }; 91 __cfatid_struct_poly_child(int) __cfatid_poly_child = { 92 &__cfatid_poly_base, 93 }; 60 94 poly_child_vtable(int) _poly_child_vtable_instance @= { 61 &_ poly_base_vtable_instance95 &__cfatid_poly_child, 62 96 }; 63 /* Resolver bug keeps me from adding these.64 poly_base_vtable(char) _poly_base_vtable_instance @= { 0 };65 poly_child_vtable(char) _poly_child_vtable_instance @= {66 &_poly_base_vtable_instance67 };68 */69 97 70 98 void poly_poly_test() { … … 77 105 mono_poly_test(); 78 106 poly_poly_test(); 79 printf( "done\n" ); // non-empty .expect file107 printf( "done\n" ); 80 108 } -
tests/io/.expect/manipulatorsOutput1.arm64.txt
r857a1c6 rc8a0210 29 29 float 30 30 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 31 0. 3.000000 3.000000 3.537 3.537000 44 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0031 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 32 32 double 33 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0034 0. 3.000000 3.537 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0033 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 34 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 35 35 long double 36 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0037 0. 3.000000 3.53699999999999992184029906638898 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0036 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 37 0. 3. 3 3.53699999999999992184029906638898 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 38 38 39 39 char -
tests/io/.expect/manipulatorsOutput1.x64.txt
r857a1c6 rc8a0210 29 29 float 30 30 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 31 0. 3.000000 3.000000 3.537 3.537000 44 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0031 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 32 32 double 33 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0034 0. 3.000000 3.537 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0033 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 34 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 35 35 long double 36 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0xe.26p-2 0XE.26P-2 3.54e+0037 0. 3.000000 3.53699999999999992 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0xe.26p-2 0XE.26P-2 3.54e+0036 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0xe.26p-2 0XE.26P-2 3.54e+00 37 0. 3. 3 3.53699999999999992 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0xe.26p-2 0XE.26P-2 3.54e+00 38 38 39 39 char -
tests/io/.expect/manipulatorsOutput1.x86.txt
r857a1c6 rc8a0210 29 29 float 30 30 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 31 0. 3.000000 3.000000 3.537 3.537000 44 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0031 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 32 32 double 33 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0034 0. 3.000000 3.537 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+0033 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 34 0. 3. 3 3.537 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0x1.c5p+1 0X1.C5P+1 3.54e+00 35 35 long double 36 0 3.000000 3.537 3.537000 4. 4 3.54 3.54 +3.54 00003.543.54E+00 0xe.26p-2 0XE.26P-2 3.54e+0037 0. 3.000000 3.53699999999999992 3.537000 4 4. 3.54 3.54 +3.54 00003.543.54E+00 0xe.26p-2 0XE.26P-2 3.54e+0036 0 3 3.00000 3.537 3.537 4 4. 3.5 3.5 3 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0xe.26p-2 0XE.26P-2 3.54e+00 37 0. 3. 3 3.53699999999999992 3.537 4. 4 3.5 3.5 3. 3.5 3.5 +3.5 +3.5 000003.5 3.54E+00 0xe.26p-2 0XE.26P-2 3.54e+00 38 38 39 39 char -
tests/io/.expect/manipulatorsOutput2.arm64.txt
r857a1c6 rc8a0210 9 9 -0x1.b8p+4 -0x1.b8p+4 -0x1.b8p+4 10 10 0.000000e+00 2.750000e+01 -2.750000e+01 11 0e0 27.5e0 -27.5e0 11 12 0B11011 0X1B 2.75E-09 0X1.B8P+4 12 13 11011 33 1b 13 14 0. 0 27. 27 27.5 14 +27 -27 +27 -27+27.5 -27.515 +27 -27 +27. -27. +27.5 -27.5 15 16 34 34 34 16 4.000000 4.000000 4.00000017 4. 4. 4. 17 18 ab ab ab 18 19 34567 34567 34567 19 3456. 000000 3456.000000 3456.00000020 3456. 3456. 3456. 20 21 abcde abcde abcde 21 22 034 0034 0000000034 … … 24 25 27.500 27.5 28. 27.50000000 25 26 27.000 27.500 27.5 28. 27.50000000 26 27 27. 000000 27.500000027 27.50027 27 27. 27.5 027 27.500 27 28 234.567 234.57 234.6 235. 28 29 234567. 2.3457e+05 2.346e+05 2.35e+05 -
tests/io/.expect/manipulatorsOutput2.x64.txt
r857a1c6 rc8a0210 9 9 -0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1 10 10 0.000000e+00 2.750000e+01 -2.750000e+01 11 0e0 27.5e0 -27.5e0 11 12 0B11011 0X1B 2.75E-09 0X1.B8P+4 12 13 11011 33 1b 13 14 0. 0 27. 27 27.5 14 +27 -27 +27 -27+27.5 -27.515 +27 -27 +27. -27. +27.5 -27.5 15 16 34 34 34 16 4.000000 4.000000 4.00000017 4. 4. 4. 17 18 ab ab ab 18 19 34567 34567 34567 19 3456. 000000 3456.000000 3456.00000020 3456. 3456. 3456. 20 21 abcde abcde abcde 21 22 034 0034 0000000034 … … 24 25 27.500 27.5 28. 27.50000000 25 26 27.000 27.500 27.5 28. 27.50000000 26 27 27. 000000 27.500000027 27.50027 27 27. 27.5 027 27.500 27 28 234.567 234.57 234.6 235. 28 29 234567. 2.3457e+05 2.346e+05 2.35e+05 -
tests/io/.expect/manipulatorsOutput2.x86.txt
r857a1c6 rc8a0210 9 9 -0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1 10 10 0.000000e+00 2.750000e+01 -2.750000e+01 11 0e2147483646 27.5e0 -27.5e0 11 12 0B11011 0X1B 2.75E-09 0X1.B8P+4 12 13 11011 33 1b 13 14 0. 0 27. 27 27.5 14 +27 -27 +27 -27+27.5 -27.515 +27 -27 +27. -27. +27.5 -27.5 15 16 34 34 34 16 4.000000 4.000000 4.00000017 4. 4. 4. 17 18 ab ab ab 18 19 34567 34567 34567 19 3456. 000000 3456.000000 3456.00000020 3456. 3456. 3456. 20 21 abcde abcde abcde 21 22 034 0034 0000000034 … … 24 25 27.500 27.5 28. 27.50000000 25 26 27.000 27.500 27.5 28. 27.50000000 26 27 27. 000000 27.500000027 27.50027 27 27. 27.5 027 27.500 27 28 234.567 234.57 234.6 235. 28 29 234567. 2.3457e+05 2.346e+05 2.35e+05 -
tests/io/manipulatorsOutput1.cfa
r857a1c6 rc8a0210 7 7 // Created On : Sat Jun 8 18:04:11 2019 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : Fri May 1 11:51:44 202010 // Update Count : 99 // Last Modified On : Sat Apr 10 08:42:15 2021 10 // Update Count : 18 11 11 // 12 12 … … 85 85 sout | "double"; 86 86 double d = 3.537; 87 printf( "%g %#8f %g %8f %#8.0f %8.0f %8.2f %-8.2f %-+#8.2f %08.2F %8.2E %8.2a %8.2A %8.2e\n", 88 0.0, 3.0, d, d, d, d, d, d, d, d, d, d, d, d ); 89 sout | 0.0 | wd(8, 3.0) | d | wd(8, d) | nodp(wd(8,0, d)) | wd(8,0, d) | wd(8,2, d) | nonl; 90 sout | left(wd(8,2, d)) | left(sign(wd(8,2, d))) | pad0(upcase(wd(8,2, d))) | upcase(wd(8,2, sci(d))) | wd(8,2, hex(d)) | upcase(wd(8,2, hex(d))) | wd(8,2, sci(d)); 87 printf( "%g %8g %#8g %g %8g %8.0g %#8.0g %8.2g %#8.2g %-8.2g %-8.2g %-#8.2g %-+8.2g %-+#8.2g %08.2g %8.2E %8.2a %#8.2A %#8.2e\n", 88 0.0, 3.0, 3.0, d, d, d, d, d, d, 3.0, d, d, d, d, d, d, d, d, d ); 89 sout | 0.0 | wd(8, 3.0) | nodp(wd(8, 3.0)) | d | wd(8, d) | ws(8,0, d) | nodp(ws(8,0, d)) | ws(8,2, d) | nodp(ws(8,2, d)) | nonl; 90 sout | left(ws(8,2, 3.0)) | left(ws(8,2, d)) | left(nodp(ws(8,2, d))) | left(sign(ws(8,2, d))) | left(sign(nodp(ws(8,2, d)))) | nonl; 91 sout | pad0(ws(8,2, d)) | upcase(wd(8,2, sci(d))) | wd(8,2, hex(d)) | upcase(wd(8,2, hex(d))) | nodp(wd(8,2, sci(d))); 91 92 92 93 sout | "long double"; 93 94 long double ld = 3.537; 94 printf( "%Lg % #8Lf %Lg %8Lf %#8.0Lf %8.0Lf %8.2Lf %-8.2Lf %-+#8.2Lf %08.2LF %8.2LE %8.2La %8.2LA %8.2Le\n",95 0.0L, 3.0L, ld, ld, ld, ld, ld, ld, ld, ld, ld, ld, ld,ld );96 sout | 0.0L | wd(8, 3.0L) | ld | wd(8, ld) | nodp(wd(8,0, ld)) | wd(8,0, ld) | wd(8,2, ld) | nonl;97 sout | left(w d(8,2, ld)) | left(sign(wd(8,2, ld))) | pad0(upcase(wd(8,2, ld))) | upcase(wd(8,2, sci(ld))) | wd(8,2, hex(ld)) | upcase(wd(8,2, hex(ld))) | wd(8,2, sci(ld));98 95 printf( "%Lg %8Lg %#8Lg %Lg %8Lg %8.0Lg %#8.0Lg %8.2Lg %#8.2Lg %-8.2Lg %-8.2Lg %-#8.2Lg %-+8.2Lg %-+#8.2Lg %08.2Lg %8.2LE %8.2La %#8.2LA %#8.2Le\n", 96 0.0L, 3.0L, 3.0L, ld, ld, ld, ld, ld, ld, 3.0L, ld, ld, ld, ld, ld, ld, ld, ld, ld ); 97 sout | 0.0L | wd(8, 3.0L) | nodp(wd(8, 3.0L)) | ld | wd(8, ld) | ws(8,0, ld) | nodp(ws(8,0, ld)) | ws(8,2, ld) | nodp(ws(8,2, ld)) | nonl; 98 sout | left(ws(8,2, 3.0L)) | left(ws(8,2, ld)) | left(nodp(ws(8,2, ld))) | left(sign(ws(8,2, ld))) | left(sign(nodp(ws(8,2, ld)))) | nonl; 99 sout | pad0(ws(8,2, ld)) | upcase(wd(8,2, sci(ld))) | wd(8,2, hex(ld)) | upcase(wd(8,2, hex(ld))) | nodp(wd(8,2, sci(ld))); 99 100 100 101 sout | nl | "char"; … … 117 118 // Local Variables: // 118 119 // tab-width: 4 // 119 // compile-command: "cfa -Wall -Wextra amanipulatorsOutput1.cfa" //120 // compile-command: "cfa -Wall -Wextra manipulatorsOutput1.cfa" // 120 121 // End: // -
tests/io/manipulatorsOutput2.cfa
r857a1c6 rc8a0210 7 7 // Created On : Sat Jun 8 18:04:11 2019 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : S un Nov 15 08:11:53 202010 // Update Count : 99 // Last Modified On : Sat Apr 10 09:16:09 2021 10 // Update Count : 11 11 11 // 12 12 … … 24 24 sout | hex(-27.5F) | hex(-27.5) | hex(-27.5L); 25 25 sout | sci(0.0) | sci(27.5) | sci(-27.5); 26 sout | eng(0.0) | eng(27.5) | eng(-27.5); 26 27 sout | upcase(bin(27)) | upcase(hex(27)) | upcase(27.5e-10) | upcase(hex(27.5)); 27 28 sout | nobase(bin(27)) | nobase(oct(27)) | nobase(hex(27)); -
tests/io/manipulatorsOutput3.cfa
r857a1c6 rc8a0210 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2019 University of Waterloo 3 // 4 // manipulatorsOutput3.cfa -- 5 // 6 // Author : Peter A. Buhr 7 // Created On : Tue Apr 13 17:54:23 2021 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : Tue Apr 13 17:54:48 2021 10 // Update Count : 1 11 // 12 1 13 #include <fstream.hfa> 2 14 -
tests/linking/exception-nothreads.cfa
r857a1c6 rc8a0210 17 17 #include <exception.hfa> 18 18 19 TRIVIAL_EXCEPTION(ping); 19 EHM_EXCEPTION(ping)(); 20 EHM_VIRTUAL_TABLE(ping, ping_vt); 20 21 21 22 int main(void) { 22 23 try { 23 throwResume (ping){ };24 throwResume (ping){&ping_vt}; 24 25 } catchResume (ping *) { 25 26 printf("%s threads\n", threading_enabled() ? "with" : "no"); -
tests/linking/exception-withthreads.cfa
r857a1c6 rc8a0210 18 18 #include "../exceptions/with-threads.hfa" 19 19 20 TRIVIAL_EXCEPTION(ping); 20 EHM_EXCEPTION(ping)(); 21 EHM_VIRTUAL_TABLE(ping, ping_vt); 21 22 22 23 int main(void) { 23 24 try { 24 throwResume (ping){ };25 throwResume (ping){&ping_vt}; 25 26 } catchResume (ping *) { 26 27 printf("%s threads\n", threading_enabled() ? "with" : "no"); -
tests/math.cfa
r857a1c6 rc8a0210 10 10 // Created On : Fri Apr 22 14:59:21 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Feb 20 18:00:48 202113 // Update Count : 1 1512 // Last Modified On : Tue Apr 13 21:04:48 2021 13 // Update Count : 123 14 14 // 15 15 … … 69 69 sout | "log:" | log( 1.0F ) | log( 1.0D ) | log( 1.0L ) | nonl; 70 70 sout | log( 1.0F+1.0FI ) | log( 1.0D+1.0DI ) | log( 1.0DL+1.0LI ); 71 sout | "log2:" | log2( 1024 ) | log2( 2 \ 17u ) | log2( 2 \ 23u ); 72 sout | "log2:" | log2( 1024l ) | log2( 2l \ 17u ) | log2( 2l \ 23u ); 73 sout | "log2:" | log2( 1024ll ) | log2( 2ll \ 17u ) | log2( 2ll \ 23u ); 74 #if defined( __SIZEOF_INT128__ ) 75 sout | "log2:" | log2( 1024l128 ) | log2( 2l128 \ 17u ) | log2( 2l128 \ 23u ); 76 #endif // __SIZEOF_INT128__ 71 77 sout | "log2:" | log2( 8.0F ) | log2( 8.0D ) | log2( 8.0L ); 72 78 sout | "log10:" | log10( 100.0F ) | log10( 100.0D ) | log10( 100.0L ); -
tests/meta/.expect/archVast.nast.arm64.txt
r857a1c6 rc8a0210 7 7 char Alternatives are: 8 8 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 9 Variable Expression: FA64: signed int9 Variable Expression: FA64: double 10 10 ... with resolved type: 11 signed int11 double 12 12 ... to: 13 13 char … … 39 39 40 40 Cost ( 1, 0, 0, 0, 0, 0, 0 ): Explicit Cast of: 41 Variable Expression: FA64: double41 Variable Expression: FA64: signed int 42 42 ... with resolved type: 43 double43 signed int 44 44 ... to: 45 45 char -
tests/quasiKeyword.cfa
r857a1c6 rc8a0210 14 14 #include <exception.hfa> 15 15 16 TRIVIAL_EXCEPTION( E);16 EHM_EXCEPTION( E )(); 17 17 18 18 void catch( int i ) {} -
tests/vector_math/.expect/vec4_float.txt
r857a1c6 rc8a0210 6 6 zero-assign:<0.,0.,0.,0.> 7 7 fill-ctor:<1.23,1.23,1.23,1.23> 8 ?-?:<0.02,0.43,-0.999998,-1e-06 .>9 ?-=?:<0.02,0.43,-0.999998,-1e-06 .>10 -?:<-0.02,-0.43,0.999998,1e-06 .>8 ?-?:<0.02,0.43,-0.999998,-1e-06> 9 ?-=?:<0.02,0.43,-0.999998,-1e-06> 10 -?:<-0.02,-0.43,0.999998,1e-06> 11 11 ?+?:<2.3,2.45,-9.2,-12.5> 12 12 ?+=?:<2.3,2.45,-9.2,-12.5>
Note:
See TracChangeset
for help on using the changeset viewer.