• R/O
  • SSH
  • HTTPS

jpl: Commit


Commit MetaInfo

Révision406 (tree)
l'heure2019-01-13 10:43:59
Auteurjakobthomsen

Message de Log

regression-test for finity-check for recursion on matched optionals

Change Summary

Modification

--- trunk/pragmatic/memory_tests/mem_test_output.txt (revision 405)
+++ trunk/pragmatic/memory_tests/mem_test_output.txt (revision 406)
@@ -54,6 +54,7 @@
5454 Hello NEW Data!
5555 a$(box(b$("Hello NEW Data!", 42, 42))
5656 ((A,B),(C,D))
57+(((),()),((),()))
5758 ((*,*),(*,*))
5859 tree(box(node(tree(box(node(tree(box(leaf("A")), tree(box(leaf("B")))), tree(box(node(tree(box(leaf("C")), tree(box(leaf("D"))))))
5960 for-test 1:
--- trunk/pragmatic/memory_tests/mem_tests.c (revision 405)
+++ trunk/pragmatic/memory_tests/mem_tests.c (revision 406)
@@ -405,6 +405,22 @@
405405 opt<tree2> right;
406406 }
407407
408+u64 PrintTree2Match(StreamOut, opt<tree2>)
409+ | (out, _) ->
410+ {
411+ PutStr(out, "()");
412+ result 0 // dummy
413+ }
414+ | (out, (solid tree)) ->
415+ {
416+ PutStr(out, "(");
417+ let _ = PrintTree2Match(out, tree.left);
418+ PutStr(out, ",");
419+ let _ = PrintTree2Match(out, tree.right);
420+ PutStr(out, ")");
421+ result 0 // dummy
422+ };
423+
408424 unit PrintTree2(StreamOut out, opt<tree2> t)
409425 {
410426 switch t
@@ -711,6 +727,8 @@
711727 let tree tree = node(node(leaf("A"), leaf("B")), node(leaf("C"), leaf("D")));
712728 PrintTree(streams.out, tree);
713729 PutStrLn(streams.out, "");
730+ let _ = PrintTree2Match(streams.out, tree_to_tree2(tree));
731+ PutStrLn(streams.out, "");
714732 PrintTree2(streams.out, tree_to_tree2(tree));
715733 PutStrLn(streams.out, "");
716734 Print<tree>(streams.out, tree); PutStr(streams.out, "\n");
--- trunk/pragmatic/memory_tests/mem_tests.txt (revision 405)
+++ trunk/pragmatic/memory_tests/mem_tests.txt (revision 406)
@@ -54,6 +54,7 @@
5454 Hello NEW Data!
5555 a$(box(b$("Hello NEW Data!", 42, 42))
5656 ((A,B),(C,D))
57+(((),()),((),()))
5758 ((*,*),(*,*))
5859 tree(box(node(tree(box(node(tree(box(leaf("A")), tree(box(leaf("B")))), tree(box(node(tree(box(leaf("C")), tree(box(leaf("D"))))))
5960 for-test 1:
--- trunk/pragmatic/memory_tests/mem_tests_compiled.c (revision 405)
+++ trunk/pragmatic/memory_tests/mem_tests_compiled.c (revision 406)
@@ -3138,6 +3138,81 @@
31383138 return;
31393139 }
31403140
3141+
3142+void PrintTree2Match(uint64_t *const _0, const struct StreamOut *const _1, const struct stack/*tree2*/ *const _2);
3143+
3144+void PrintTree2Match$0(uint64_t *const _0, const struct StreamOut *const _1, const struct stack/*tree2*/ *const _2)
3145+{
3146+ const struct StreamOut *out = &(*_1);
3147+ // ignore parameter *_2;
3148+ {
3149+ {
3150+ struct string _2; memset(&_2, 0, sizeof(struct string));
3151+ init$fromliteral(&_2, "()", 2);
3152+ PutStr(0 /* _1 */, &*out, &_2);
3153+ string$dest(&_2);
3154+ }
3155+ uint64_t _2; memset(&_2, 0, sizeof(uint64_t));
3156+ _2 = 0;
3157+ *_0 = _2;
3158+ _IGNORE_(_2);
3159+ }
3160+}
3161+
3162+void PrintTree2Match$1(uint64_t *const _0, const struct StreamOut *const _1, const struct stack/*tree2*/ *const _2)
3163+{
3164+ const struct StreamOut *out = &(*_1);
3165+ if((*_2).fill == 0)
3166+ {
3167+ PrintTree2Match$0(_0, &(*_1), &(*_2));
3168+ return;
3169+ }
3170+ const struct tree2 *_3 = ((*_2).data);
3171+ const struct tree2 *tree = &(*_3);
3172+ {
3173+ {
3174+ struct string _2; memset(&_2, 0, sizeof(struct string));
3175+ init$fromliteral(&_2, "(", 1);
3176+ PutStr(0 /* _1 */, &*out, &_2);
3177+ string$dest(&_2);
3178+ }
3179+ {
3180+ uint64_t _2; memset(&_2, 0, sizeof(uint64_t));
3181+ const struct stack/*tree2*/ *_3 = &(*tree).left;
3182+ PrintTree2Match(&_2, &*out, &*_3);
3183+ _IGNORE_(_2);
3184+ }
3185+ {
3186+ struct string _3; memset(&_3, 0, sizeof(struct string));
3187+ init$fromliteral(&_3, ",", 1);
3188+ PutStr(0 /* _2 */, &*out, &_3);
3189+ string$dest(&_3);
3190+ }
3191+ {
3192+ uint64_t _3; memset(&_3, 0, sizeof(uint64_t));
3193+ const struct stack/*tree2*/ *_4 = &(*tree).right;
3194+ PrintTree2Match(&_3, &*out, &*_4);
3195+ _IGNORE_(_3);
3196+ }
3197+ {
3198+ struct string _4; memset(&_4, 0, sizeof(struct string));
3199+ init$fromliteral(&_4, ")", 1);
3200+ PutStr(0 /* _3 */, &*out, &_4);
3201+ string$dest(&_4);
3202+ }
3203+ uint64_t _4; memset(&_4, 0, sizeof(uint64_t));
3204+ _4 = 0;
3205+ *_0 = _4;
3206+ _IGNORE_(_4);
3207+ }
3208+}
3209+
3210+
3211+void PrintTree2Match(uint64_t *const _0, const struct StreamOut *const _1, const struct stack/*tree2*/ *const _2)
3212+{
3213+ PrintTree2Match$1(_0, &(*_1), &(*_2));
3214+}
3215+
31413216 void PrintTree2(void *const _0, const struct StreamOut *const out, const struct stack/*tree2*/ *const t)
31423217 {
31433218 {
@@ -3197,7 +3272,7 @@
31973272 {
31983273 const struct leaf *t = ((*_1).leaf).data;
31993274 {
3200- empty(&*_0, sizeof(struct tree2), (void (*)(void *))tree2$dest, (void (*)(void *, const void *))tree2$copy, 426);
3275+ empty(&*_0, sizeof(struct tree2), (void (*)(void *))tree2$dest, (void (*)(void *, const void *))tree2$copy, 442);
32013276 }
32023277 __SUPPRESS_WARNING_UNUSED_VARIABLE__(t);
32033278 break;
@@ -3222,7 +3297,7 @@
32223297 free$(&_4, sizeof(struct tree2), (void (*)(void *))tree2$dest);
32233298 free$(&_3, sizeof(struct tree2), (void (*)(void *))tree2$dest);
32243299 }
3225- solid(&*_0, &_2, sizeof(struct tree2), (void (*)(void *))tree2$dest, (void (*)(void *, const void *))tree2$copy, 427);
3300+ solid(&*_0, &_2, sizeof(struct tree2), (void (*)(void *))tree2$dest, (void (*)(void *, const void *))tree2$copy, 443);
32263301 tree2$dest(&_2);
32273302 }
32283303 break;
@@ -3285,7 +3360,7 @@
32853360 {
32863361 struct stack/*string2$*/ _pair; memset(&_pair, 0, sizeof(struct stack/*string2$*/));
32873362 {
3288- pop_opt(&_pair, &*data, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 437);
3363+ pop_opt(&_pair, &*data, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 453);
32893364 }
32903365 const struct stack/*string2$*/ *_1 = &(_pair);
32913366 if(!(*_1).size)
@@ -3405,7 +3480,7 @@
34053480 {
34063481 struct stack/*tree2$*/ _pair; memset(&_pair, 0, sizeof(struct stack/*tree2$*/));
34073482 {
3408- pop_opt(&_pair, &*data, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 464);
3483+ pop_opt(&_pair, &*data, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 480);
34093484 }
34103485 const struct stack/*tree2$*/ *_1 = &(_pair);
34113486 if(!(*_1).size)
@@ -3484,7 +3559,7 @@
34843559 _n = *n - 1;
34853560 {
34863561 {
3487- push(0 /* _2 */, &*s, &_n, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 483);
3562+ push(0 /* _2 */, &*s, &_n, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 499);
34883563 }
34893564 {
34903565 fill(0 /* _3 */, &*s, &_n);
@@ -3505,7 +3580,7 @@
35053580 {
35063581 struct stack/*u64*/ _v; memset(&_v, 0, sizeof(struct stack/*u64*/));
35073582 {
3508- pop_opt(&_v, &*s, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 493);
3583+ pop_opt(&_v, &*s, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 509);
35093584 }
35103585 const struct stack/*u64*/ *_1 = &(_v);
35113586 if(!(*_1).size)
@@ -3591,7 +3666,7 @@
35913666 {
35923667 uint64_t _6; memset(&_6, 0, sizeof(uint64_t));
35933668 _6 = 12345;
3594- push(0 /* _5 */, &_s, &_6, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 520);
3669+ push(0 /* _5 */, &_s, &_6, sizeof(uint64_t), 0/*DEST*/, 0/*COPY*/, 536);
35953670 _IGNORE_(_6);
35963671 }
35973672 {
@@ -3789,7 +3864,7 @@
37893864 {
37903865 struct stack/*u8*/ _t; memset(&_t, 0, sizeof(struct stack/*u8*/));
37913866 {
3792- push(0 /* _5 */, &_t, &*s, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/, 593);
3867+ push(0 /* _5 */, &_t, &*s, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/, 609);
37933868 }
37943869 clone$(&_4, &_t, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/);
37953870 free$(&_t, sizeof(uint8_t), 0/*DEST*/);
@@ -4546,7 +4621,7 @@
45464621 _9 = 5;
45474622 struct stack/*string*/ _10; memset(&_10, 0, sizeof(struct stack/*string*/));
45484623 {
4549- empty(&_10, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 622);
4624+ empty(&_10, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 638);
45504625 }
45514626 F(&_4, &*_5, &_6, &_7, &_8, &_9, &_10);
45524627 free$(&_10, sizeof(struct string), (void (*)(void *))string$dest);
@@ -4614,7 +4689,7 @@
46144689 _11 = 0;
46154690 struct stack/*string*/ _12; memset(&_12, 0, sizeof(struct stack/*string*/));
46164691 {
4617- empty(&_12, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 623);
4692+ empty(&_12, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 639);
46184693 }
46194694 F(&_6, &*_7, &_8, &_9, &_10, &_11, &_12);
46204695 free$(&_12, sizeof(struct string), (void (*)(void *))string$dest);
@@ -4684,7 +4759,7 @@
46844759 {
46854760 struct string _15; memset(&_15, 0, sizeof(struct string));
46864761 init$fromliteral(&_15, "test optional", 13);
4687- solid(&_14, &_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 624);
4762+ solid(&_14, &_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 640);
46884763 string$dest(&_15);
46894764 }
46904765 F(&_8, &*_9, &_10, &_11, &_12, &_13, &_14);
@@ -4757,7 +4832,7 @@
47574832 _13 = 0;
47584833 struct stack/*string*/ _14; memset(&_14, 0, sizeof(struct stack/*string*/));
47594834 {
4760- empty(&_14, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 625);
4835+ empty(&_14, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 641);
47614836 }
47624837 F(&_8, &*_9, &_10, &_11, &_12, &_13, &_14);
47634838 free$(&_14, sizeof(struct string), (void (*)(void *))string$dest);
@@ -4824,7 +4899,7 @@
48244899 _14 = 0;
48254900 struct stack/*string*/ _15; memset(&_15, 0, sizeof(struct stack/*string*/));
48264901 {
4827- empty(&_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 626);
4902+ empty(&_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 642);
48284903 }
48294904 F(&_9, &*_10, &_11, &_12, &_13, &_14, &_15);
48304905 free$(&_15, sizeof(struct string), (void (*)(void *))string$dest);
@@ -4891,25 +4966,25 @@
48914966 {
48924967 struct string _14; memset(&_14, 0, sizeof(struct string));
48934968 init$fromliteral(&_14, "This", 4);
4894- push(0 /* _13 */, &_orig, &_14, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 635);
4969+ push(0 /* _13 */, &_orig, &_14, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 651);
48954970 string$dest(&_14);
48964971 }
48974972 {
48984973 struct string _15; memset(&_15, 0, sizeof(struct string));
48994974 init$fromliteral(&_15, "is", 2);
4900- push(0 /* _14 */, &_orig, &_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 636);
4975+ push(0 /* _14 */, &_orig, &_15, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 652);
49014976 string$dest(&_15);
49024977 }
49034978 {
49044979 struct string _16; memset(&_16, 0, sizeof(struct string));
49054980 init$fromliteral(&_16, "not", 3);
4906- push(0 /* _15 */, &_orig, &_16, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 637);
4981+ push(0 /* _15 */, &_orig, &_16, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 653);
49074982 string$dest(&_16);
49084983 }
49094984 {
49104985 struct string _17; memset(&_17, 0, sizeof(struct string));
49114986 init$fromliteral(&_17, "reduced", 7);
4912- push(0 /* _16 */, &_orig, &_17, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 638);
4987+ push(0 /* _16 */, &_orig, &_17, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 654);
49134988 string$dest(&_17);
49144989 }
49154990 {
@@ -4983,7 +5058,7 @@
49835058 string$dest(&_30);
49845059 string$dest(&_29);
49855060 }
4986- push(0 /* _27 */, &_data, &_28, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 655);
5061+ push(0 /* _27 */, &_data, &_28, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 671);
49875062 string2$$dest(&_28);
49885063 }
49895064 {
@@ -4997,7 +5072,7 @@
49975072 string$dest(&_31);
49985073 string$dest(&_30);
49995074 }
5000- push(0 /* _28 */, &_data, &_29, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 656);
5075+ push(0 /* _28 */, &_data, &_29, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 672);
50015076 string2$$dest(&_29);
50025077 }
50035078 {
@@ -5011,7 +5086,7 @@
50115086 string$dest(&_32);
50125087 string$dest(&_31);
50135088 }
5014- push(0 /* _29 */, &_data, &_30, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 657);
5089+ push(0 /* _29 */, &_data, &_30, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 673);
50155090 string2$$dest(&_30);
50165091 }
50175092 {
@@ -5025,7 +5100,7 @@
50255100 string$dest(&_33);
50265101 string$dest(&_32);
50275102 }
5028- push(0 /* _30 */, &_data, &_31, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 658);
5103+ push(0 /* _30 */, &_data, &_31, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 674);
50295104 string2$$dest(&_31);
50305105 }
50315106 {
@@ -5039,7 +5114,7 @@
50395114 string$dest(&_34);
50405115 string$dest(&_33);
50415116 }
5042- push(0 /* _31 */, &_data, &_32, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 659);
5117+ push(0 /* _31 */, &_data, &_32, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 675);
50435118 string2$$dest(&_32);
50445119 }
50455120 {
@@ -5053,7 +5128,7 @@
50535128 string$dest(&_35);
50545129 string$dest(&_34);
50555130 }
5056- push(0 /* _32 */, &_data, &_33, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 660);
5131+ push(0 /* _32 */, &_data, &_33, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 676);
50575132 string2$$dest(&_33);
50585133 }
50595134 {
@@ -5067,7 +5142,7 @@
50675142 string$dest(&_36);
50685143 string$dest(&_35);
50695144 }
5070- push(0 /* _33 */, &_data, &_34, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 661);
5145+ push(0 /* _33 */, &_data, &_34, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 677);
50715146 string2$$dest(&_34);
50725147 }
50735148 {
@@ -5081,7 +5156,7 @@
50815156 string$dest(&_37);
50825157 string$dest(&_36);
50835158 }
5084- push(0 /* _34 */, &_data, &_35, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 662);
5159+ push(0 /* _34 */, &_data, &_35, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 678);
50855160 string2$$dest(&_35);
50865161 }
50875162 {
@@ -5095,7 +5170,7 @@
50955170 string$dest(&_38);
50965171 string$dest(&_37);
50975172 }
5098- push(0 /* _35 */, &_data, &_36, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 663);
5173+ push(0 /* _35 */, &_data, &_36, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 679);
50995174 string2$$dest(&_36);
51005175 }
51015176 {
@@ -5109,7 +5184,7 @@
51095184 string$dest(&_39);
51105185 string$dest(&_38);
51115186 }
5112- push(0 /* _36 */, &_data, &_37, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 664);
5187+ push(0 /* _36 */, &_data, &_37, sizeof(struct string2$), (void (*)(void *))string2$$dest, (void (*)(void *, const void *))string2$$copy, 680);
51135188 string2$$dest(&_37);
51145189 }
51155190 {
@@ -5248,7 +5323,7 @@
52485323 tree$dest(&_31);
52495324 tree$dest(&_30);
52505325 }
5251- push(0 /* _28 */, &_data, &_29, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 680);
5326+ push(0 /* _28 */, &_data, &_29, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 696);
52525327 tree2$$dest(&_29);
52535328 }
52545329 {
@@ -5350,7 +5425,7 @@
53505425 tree$dest(&_32);
53515426 tree$dest(&_31);
53525427 }
5353- push(0 /* _29 */, &_data, &_30, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 681);
5428+ push(0 /* _29 */, &_data, &_30, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 697);
53545429 tree2$$dest(&_30);
53555430 }
53565431 {
@@ -5452,7 +5527,7 @@
54525527 tree$dest(&_33);
54535528 tree$dest(&_32);
54545529 }
5455- push(0 /* _30 */, &_data, &_31, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 682);
5530+ push(0 /* _30 */, &_data, &_31, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 698);
54565531 tree2$$dest(&_31);
54575532 }
54585533 {
@@ -5502,7 +5577,7 @@
55025577 tree$dest(&_34);
55035578 tree$dest(&_33);
55045579 }
5505- push(0 /* _31 */, &_data, &_32, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 683);
5580+ push(0 /* _31 */, &_data, &_32, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 699);
55065581 tree2$$dest(&_32);
55075582 }
55085583 {
@@ -5539,7 +5614,7 @@
55395614 tree$dest(&_35);
55405615 tree$dest(&_34);
55415616 }
5542- push(0 /* _32 */, &_data, &_33, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 684);
5617+ push(0 /* _32 */, &_data, &_33, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 700);
55435618 tree2$$dest(&_33);
55445619 }
55455620 {
@@ -5576,7 +5651,7 @@
55765651 tree$dest(&_36);
55775652 tree$dest(&_35);
55785653 }
5579- push(0 /* _33 */, &_data, &_34, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 685);
5654+ push(0 /* _33 */, &_data, &_34, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 701);
55805655 tree2$$dest(&_34);
55815656 }
55825657 {
@@ -5600,7 +5675,7 @@
56005675 tree$dest(&_37);
56015676 tree$dest(&_36);
56025677 }
5603- push(0 /* _34 */, &_data, &_35, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 686);
5678+ push(0 /* _34 */, &_data, &_35, sizeof(struct tree2$), (void (*)(void *))tree2$$dest, (void (*)(void *, const void *))tree2$$copy, 702);
56045679 tree2$$dest(&_35);
56055680 }
56065681 {
@@ -5612,19 +5687,19 @@
56125687 {
56135688 struct string _29; memset(&_29, 0, sizeof(struct string));
56145689 init$fromliteral(&_29, "123", 3);
5615- push(0 /* _28 */, &_words, &_29, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 692);
5690+ push(0 /* _28 */, &_words, &_29, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 708);
56165691 string$dest(&_29);
56175692 }
56185693 {
56195694 struct string _30; memset(&_30, 0, sizeof(struct string));
56205695 init$fromliteral(&_30, "456", 3);
5621- push(0 /* _29 */, &_words, &_30, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 692);
5696+ push(0 /* _29 */, &_words, &_30, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 708);
56225697 string$dest(&_30);
56235698 }
56245699 {
56255700 struct string _31; memset(&_31, 0, sizeof(struct string));
56265701 init$fromliteral(&_31, "789", 3);
5627- push(0 /* _30 */, &_words, &_31, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 692);
5702+ push(0 /* _30 */, &_words, &_31, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 708);
56285703 string$dest(&_31);
56295704 }
56305705 {
@@ -5814,184 +5889,202 @@
58145889 string$dest(&_45);
58155890 }
58165891 {
5892+ uint64_t _44; memset(&_44, 0, sizeof(uint64_t));
58175893 const struct StreamOut *_45 = &(*streams).out;
58185894 struct stack/*tree2*/ _46; memset(&_46, 0, sizeof(struct stack/*tree2*/));
58195895 {
58205896 tree_to_tree2(&_46, &_tree);
58215897 }
5822- PrintTree2(0 /* _44 */, &*_45, &_46);
5898+ PrintTree2Match(&_44, &*_45, &_46);
58235899 free$(&_46, sizeof(struct tree2), (void (*)(void *))tree2$dest);
5900+ _IGNORE_(_44);
58245901 }
58255902 {
5903+ const struct StreamOut *_45 = &(*streams).out;
5904+ struct string _46; memset(&_46, 0, sizeof(struct string));
5905+ init$fromliteral(&_46, "", 0);
5906+ PutStrLn(0 /* _44 */, &*_45, &_46);
5907+ string$dest(&_46);
5908+ }
5909+ {
58265910 const struct StreamOut *_46 = &(*streams).out;
5827- struct string _47; memset(&_47, 0, sizeof(struct string));
5828- init$fromliteral(&_47, "", 0);
5829- PutStrLn(0 /* _45 */, &*_46, &_47);
5830- string$dest(&_47);
5911+ struct stack/*tree2*/ _47; memset(&_47, 0, sizeof(struct stack/*tree2*/));
5912+ {
5913+ tree_to_tree2(&_47, &_tree);
5914+ }
5915+ PrintTree2(0 /* _45 */, &*_46, &_47);
5916+ free$(&_47, sizeof(struct tree2), (void (*)(void *))tree2$dest);
58315917 }
58325918 {
58335919 const struct StreamOut *_47 = &(*streams).out;
5834- Print$tree(0 /* _46 */, &*_47, &_tree);
5920+ struct string _48; memset(&_48, 0, sizeof(struct string));
5921+ init$fromliteral(&_48, "", 0);
5922+ PutStrLn(0 /* _46 */, &*_47, &_48);
5923+ string$dest(&_48);
58355924 }
58365925 {
58375926 const struct StreamOut *_48 = &(*streams).out;
5838- struct string _49; memset(&_49, 0, sizeof(struct string));
5839- init$fromliteral(&_49, "\n", 1);
5840- PutStr(0 /* _47 */, &*_48, &_49);
5841- string$dest(&_49);
5927+ Print$tree(0 /* _47 */, &*_48, &_tree);
58425928 }
58435929 {
5930+ const struct StreamOut *_49 = &(*streams).out;
5931+ struct string _50; memset(&_50, 0, sizeof(struct string));
5932+ init$fromliteral(&_50, "\n", 1);
5933+ PutStr(0 /* _48 */, &*_49, &_50);
5934+ string$dest(&_50);
5935+ }
5936+ {
58445937 {
5845- const struct StreamOut *_50 = &(*streams).out;
5846- struct string _51; memset(&_51, 0, sizeof(struct string));
5847- init$fromliteral(&_51, "for-test 1: ", 12);
5848- PutStrLn(0 /* _49 */, &*_50, &_51);
5849- string$dest(&_51);
5938+ const struct StreamOut *_51 = &(*streams).out;
5939+ struct string _52; memset(&_52, 0, sizeof(struct string));
5940+ init$fromliteral(&_52, "for-test 1: ", 12);
5941+ PutStrLn(0 /* _50 */, &*_51, &_52);
5942+ string$dest(&_52);
58505943 }
58515944 uint32_t _n; memset(&_n, 0, sizeof(uint32_t));
58525945 _n = 5;
58535946 {
5854- uint32_t _50 = _n;
5855- uint32_t *n = &_50;
5947+ uint32_t _51 = _n;
5948+ uint32_t *n = &_51;
58565949 while((*n)--)
58575950 {
58585951 {
5859- const struct StreamOut *_52 = &(*streams).out;
5860- Print$u32(0 /* _51 */, &*_52, &*n);
5952+ const struct StreamOut *_53 = &(*streams).out;
5953+ Print$u32(0 /* _52 */, &*_53, &*n);
58615954 }
58625955 }
58635956 }
58645957 {
5865- const struct StreamOut *_52 = &(*streams).out;
5866- struct string _53; memset(&_53, 0, sizeof(struct string));
5867- init$fromliteral(&_53, "", 0);
5868- PutStrLn(0 /* _51 */, &*_52, &_53);
5869- string$dest(&_53);
5870- }
5871- {
58725958 const struct StreamOut *_53 = &(*streams).out;
58735959 struct string _54; memset(&_54, 0, sizeof(struct string));
5874- init$fromliteral(&_54, "for-test 2: ", 12);
5960+ init$fromliteral(&_54, "", 0);
58755961 PutStrLn(0 /* _52 */, &*_53, &_54);
58765962 string$dest(&_54);
58775963 }
58785964 {
5879- uint32_t _53 = _n;
5880- uint32_t *n = &_53;
5965+ const struct StreamOut *_54 = &(*streams).out;
5966+ struct string _55; memset(&_55, 0, sizeof(struct string));
5967+ init$fromliteral(&_55, "for-test 2: ", 12);
5968+ PutStrLn(0 /* _53 */, &*_54, &_55);
5969+ string$dest(&_55);
5970+ }
5971+ {
5972+ uint32_t _54 = _n;
5973+ uint32_t *n = &_54;
58815974 while((*n)--)
58825975 {
58835976 {
5884- const struct StreamOut *_55 = &(*streams).out;
5885- struct string _56; memset(&_56, 0, sizeof(struct string));
5886- init$fromliteral(&_56, ".", 1);
5887- PutStr(0 /* _54 */, &*_55, &_56);
5888- string$dest(&_56);
5977+ const struct StreamOut *_56 = &(*streams).out;
5978+ struct string _57; memset(&_57, 0, sizeof(struct string));
5979+ init$fromliteral(&_57, ".", 1);
5980+ PutStr(0 /* _55 */, &*_56, &_57);
5981+ string$dest(&_57);
58895982 }
58905983 }
58915984 __SUPPRESS_WARNING_UNUSED_VARIABLE__(&*n);
58925985 }
58935986 {
5894- const struct StreamOut *_55 = &(*streams).out;
5895- struct string _56; memset(&_56, 0, sizeof(struct string));
5896- init$fromliteral(&_56, "", 0);
5897- PutStrLn(0 /* _54 */, &*_55, &_56);
5898- string$dest(&_56);
5899- }
5900- {
59015987 const struct StreamOut *_56 = &(*streams).out;
59025988 struct string _57; memset(&_57, 0, sizeof(struct string));
5903- init$fromliteral(&_57, "for-test 3: ", 12);
5989+ init$fromliteral(&_57, "", 0);
59045990 PutStrLn(0 /* _55 */, &*_56, &_57);
59055991 string$dest(&_57);
59065992 }
5993+ {
5994+ const struct StreamOut *_57 = &(*streams).out;
5995+ struct string _58; memset(&_58, 0, sizeof(struct string));
5996+ init$fromliteral(&_58, "for-test 3: ", 12);
5997+ PutStrLn(0 /* _56 */, &*_57, &_58);
5998+ string$dest(&_58);
5999+ }
59076000 struct string _s; memset(&_s, 0, sizeof(struct string));
59086001 init$fromliteral(&_s, "Test!", 5);
59096002 struct stack/*u8*/ _sd; memset(&_sd, 0, sizeof(struct stack/*u8*/));
59106003 clone$(&_sd, &(_s).data, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/);
5911- const struct stack/*u8*/ *_56 = &(_sd);
5912- for(uint64_t _57 = 0; _57 < (*_56).fill; ++_57)
6004+ const struct stack/*u8*/ *_57 = &(_sd);
6005+ for(uint64_t _58 = 0; _58 < (*_57).fill; ++_58)
59136006 {
5914- const uint8_t *sd = &((uint8_t *)((*_56).data))[_57];
6007+ const uint8_t *sd = &((uint8_t *)((*_57).data))[_58];
59156008 {
5916- const struct StreamOut *_59 = &(*streams).out;
5917- uint8_t _60; memset(&_60, 0, sizeof(uint8_t));
5918- _60 = 35;
5919- Put(0 /* _58 */, &*_59, &_60);
5920- _IGNORE_(_60);
6009+ const struct StreamOut *_60 = &(*streams).out;
6010+ uint8_t _61; memset(&_61, 0, sizeof(uint8_t));
6011+ _61 = 35;
6012+ Put(0 /* _59 */, &*_60, &_61);
6013+ _IGNORE_(_61);
59216014 }
59226015 __SUPPRESS_WARNING_UNUSED_VARIABLE__(&*sd);
59236016 }
59246017 {
5925- const struct StreamOut *_59 = &(*streams).out;
5926- struct string _60; memset(&_60, 0, sizeof(struct string));
5927- init$fromliteral(&_60, "", 0);
5928- PutStrLn(0 /* _58 */, &*_59, &_60);
5929- string$dest(&_60);
5930- }
5931- {
59326018 const struct StreamOut *_60 = &(*streams).out;
59336019 struct string _61; memset(&_61, 0, sizeof(struct string));
5934- init$fromliteral(&_61, "for-test 4: ", 12);
6020+ init$fromliteral(&_61, "", 0);
59356021 PutStrLn(0 /* _59 */, &*_60, &_61);
59366022 string$dest(&_61);
59376023 }
59386024 {
6025+ const struct StreamOut *_61 = &(*streams).out;
6026+ struct string _62; memset(&_62, 0, sizeof(struct string));
6027+ init$fromliteral(&_62, "for-test 4: ", 12);
6028+ PutStrLn(0 /* _60 */, &*_61, &_62);
6029+ string$dest(&_62);
6030+ }
6031+ {
59396032 {
5940- struct string _61; memset(&_61, 0, sizeof(struct string));
5941- init$fromliteral(&_61, "Test!", 5);
5942- struct string *s = &_61;
6033+ struct string _62; memset(&_62, 0, sizeof(struct string));
6034+ init$fromliteral(&_62, "Test!", 5);
6035+ struct string *s = &_62;
59436036 {
5944- struct stack/*u8*/ _62; memset(&_62, 0, sizeof(struct stack/*u8*/));
5945- clone$(&_62, &(*s).data, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/);
5946- struct stack/*u8*/ *sd = &_62;
6037+ struct stack/*u8*/ _63; memset(&_63, 0, sizeof(struct stack/*u8*/));
6038+ clone$(&_63, &(*s).data, sizeof(uint8_t), 0/*DEST*/, 0/*COPY*/);
6039+ struct stack/*u8*/ *sd = &_63;
59476040 {
5948- const struct StreamOut *_64 = &(*streams).out;
5949- PrintStack(0 /* _63 */, &*_64, &*sd);
5950- }
5951- {
59526041 const struct StreamOut *_65 = &(*streams).out;
5953- struct string _66; memset(&_66, 0, sizeof(struct string));
5954- init$fromliteral(&_66, "", 0);
5955- PutStrLn(0 /* _64 */, &*_65, &_66);
5956- string$dest(&_66);
6042+ PrintStack(0 /* _64 */, &*_65, &*sd);
59576043 }
59586044 {
5959- uint8_t _66; memset(&_66, 0, sizeof(uint8_t));
5960- _66 = 35;
5961- WipeMutStack(0 /* _65 */, &*sd, &_66);
5962- _IGNORE_(_66);
6045+ const struct StreamOut *_66 = &(*streams).out;
6046+ struct string _67; memset(&_67, 0, sizeof(struct string));
6047+ init$fromliteral(&_67, "", 0);
6048+ PutStrLn(0 /* _65 */, &*_66, &_67);
6049+ string$dest(&_67);
59636050 }
59646051 {
5965- const struct StreamOut *_67 = &(*streams).out;
5966- PrintStack(0 /* _66 */, &*_67, &*sd);
6052+ uint8_t _67; memset(&_67, 0, sizeof(uint8_t));
6053+ _67 = 35;
6054+ WipeMutStack(0 /* _66 */, &*sd, &_67);
6055+ _IGNORE_(_67);
59676056 }
59686057 {
59696058 const struct StreamOut *_68 = &(*streams).out;
5970- struct string _69; memset(&_69, 0, sizeof(struct string));
5971- init$fromliteral(&_69, "", 0);
5972- PutStrLn(0 /* _67 */, &*_68, &_69);
5973- string$dest(&_69);
6059+ PrintStack(0 /* _67 */, &*_68, &*sd);
59746060 }
59756061 {
5976- uint8_t _69; memset(&_69, 0, sizeof(uint8_t));
5977- _69 = 42;
5978- WipeStackMut(0 /* _68 */, &*sd, &_69);
5979- _IGNORE_(_69);
6062+ const struct StreamOut *_69 = &(*streams).out;
6063+ struct string _70; memset(&_70, 0, sizeof(struct string));
6064+ init$fromliteral(&_70, "", 0);
6065+ PutStrLn(0 /* _68 */, &*_69, &_70);
6066+ string$dest(&_70);
59806067 }
59816068 {
5982- const struct StreamOut *_70 = &(*streams).out;
5983- PrintStack(0 /* _69 */, &*_70, &*sd);
6069+ uint8_t _70; memset(&_70, 0, sizeof(uint8_t));
6070+ _70 = 42;
6071+ WipeStackMut(0 /* _69 */, &*sd, &_70);
6072+ _IGNORE_(_70);
59846073 }
59856074 {
59866075 const struct StreamOut *_71 = &(*streams).out;
5987- struct string _72; memset(&_72, 0, sizeof(struct string));
5988- init$fromliteral(&_72, "", 0);
5989- PutStrLn(0 /* _70 */, &*_71, &_72);
5990- string$dest(&_72);
6076+ PrintStack(0 /* _70 */, &*_71, &*sd);
59916077 }
5992- free$(&_62, sizeof(uint8_t), 0/*DEST*/);
6078+ {
6079+ const struct StreamOut *_72 = &(*streams).out;
6080+ struct string _73; memset(&_73, 0, sizeof(struct string));
6081+ init$fromliteral(&_73, "", 0);
6082+ PutStrLn(0 /* _71 */, &*_72, &_73);
6083+ string$dest(&_73);
59936084 }
5994- string$dest(&_61);
6085+ free$(&_63, sizeof(uint8_t), 0/*DEST*/);
6086+ }
6087+ string$dest(&_62);
59956088 }
59966089 }
59976090 free$(&_sd, sizeof(uint8_t), 0/*DEST*/);
@@ -5999,72 +6092,72 @@
59996092 _IGNORE_(_n);
60006093 }
60016094 {
6002- const struct StreamOut *_50 = &(*streams).out;
6003- TstStk$(0 /* _49 */, &*_50);
6004- }
6005- {
60066095 const struct StreamOut *_51 = &(*streams).out;
6007- TstDyn$(0 /* _50 */, &*_51);
6096+ TstStk$(0 /* _50 */, &*_51);
60086097 }
60096098 {
60106099 const struct StreamOut *_52 = &(*streams).out;
6011- struct string _53; memset(&_53, 0, sizeof(struct string));
6012- {
6013- testTemporaryDynamics$(&_53);
6014- }
6015- PutStr(0 /* _51 */, &*_52, &_53);
6016- string$dest(&_53);
6100+ TstDyn$(0 /* _51 */, &*_52);
60176101 }
60186102 {
60196103 const struct StreamOut *_53 = &(*streams).out;
60206104 struct string _54; memset(&_54, 0, sizeof(struct string));
60216105 {
6022- struct string _55; memset(&_55, 0, sizeof(struct string));
6023- init$fromliteral(&_55, "Hello ", 6);
6024- struct string _56; memset(&_56, 0, sizeof(struct string));
6025- init$fromliteral(&_56, "World\n", 6);
6026- strcat$(&_54, &_55, &_56, 759);
6027- string$dest(&_56);
6028- string$dest(&_55);
6106+ testTemporaryDynamics$(&_54);
60296107 }
60306108 PutStr(0 /* _52 */, &*_53, &_54);
60316109 string$dest(&_54);
60326110 }
6111+ {
6112+ const struct StreamOut *_54 = &(*streams).out;
6113+ struct string _55; memset(&_55, 0, sizeof(struct string));
6114+ {
6115+ struct string _56; memset(&_56, 0, sizeof(struct string));
6116+ init$fromliteral(&_56, "Hello ", 6);
6117+ struct string _57; memset(&_57, 0, sizeof(struct string));
6118+ init$fromliteral(&_57, "World\n", 6);
6119+ strcat$(&_55, &_56, &_57, 777);
6120+ string$dest(&_57);
6121+ string$dest(&_56);
6122+ }
6123+ PutStr(0 /* _53 */, &*_54, &_55);
6124+ string$dest(&_55);
6125+ }
60336126 struct U$ _test; memset(&_test, 0, sizeof(struct U$));
60346127 {
6035- struct string _53; memset(&_53, 0, sizeof(struct string));
6036- init$fromliteral(&_53, "Hello???", 8);
6037- s$(&_test, &_53);
6038- string$dest(&_53);
6128+ struct string _54; memset(&_54, 0, sizeof(struct string));
6129+ init$fromliteral(&_54, "Hello???", 8);
6130+ s$(&_test, &_54);
6131+ string$dest(&_54);
60396132 }
60406133 {
6041- struct string _53; memset(&_53, 0, sizeof(struct string));
6042- init$fromliteral(&_53, "Hello Union!!!", 14);
6043- s$(&_test, &_53);
6044- string$dest(&_53);
6134+ struct string _54; memset(&_54, 0, sizeof(struct string));
6135+ init$fromliteral(&_54, "Hello Union!!!", 14);
6136+ s$(&_test, &_54);
6137+ string$dest(&_54);
60456138 }
60466139 {
6047- const struct StreamOut *_54 = &(*streams).out;
6048- struct string _55; memset(&_55, 0, sizeof(struct string));
6140+ const struct StreamOut *_55 = &(*streams).out;
6141+ struct string _56; memset(&_56, 0, sizeof(struct string));
60496142 {
6050- getstr$(&_55, &_test);
6143+ getstr$(&_56, &_test);
60516144 }
6052- PutStrLn(0 /* _53 */, &*_54, &_55);
6053- string$dest(&_55);
6145+ PutStrLn(0 /* _54 */, &*_55, &_56);
6146+ string$dest(&_56);
60546147 }
6055- struct U$ *_54 = &(_test);
6056- switch((*_54).type)
6148+ struct U$ *_55 = &(_test);
6149+ switch((*_55).type)
60576150 {
60586151 case 0: // uint32_t x:
60596152 {
6060- uint32_t *test = &((*_54).x);
6153+ uint32_t *test = &((*_55).x);
60616154 {
60626155 {
6063- const struct StreamOut *_57 = &(*streams).out;
6064- struct string _58; memset(&_58, 0, sizeof(struct string));
6065- init$fromliteral(&_58, "u", 1);
6066- PutStrLn(0 /* _56 */, &*_57, &_58);
6067- string$dest(&_58);
6156+ const struct StreamOut *_58 = &(*streams).out;
6157+ struct string _59; memset(&_59, 0, sizeof(struct string));
6158+ init$fromliteral(&_59, "u", 1);
6159+ PutStrLn(0 /* _57 */, &*_58, &_59);
6160+ string$dest(&_59);
60686161 }
60696162 }
60706163 __SUPPRESS_WARNING_UNUSED_VARIABLE__(test);
@@ -6072,13 +6165,13 @@
60726165 }
60736166 case 1: // bool b:
60746167 {
6075- bool *test = &((*_54).b);
6168+ bool *test = &((*_55).b);
60766169 {
6077- const struct StreamOut *_57 = &(*streams).out;
6078- struct string _58; memset(&_58, 0, sizeof(struct string));
6079- init$fromliteral(&_58, "nr", 2);
6080- PutStrLn(0 /* _56 */, &*_57, &_58);
6081- string$dest(&_58);
6170+ const struct StreamOut *_58 = &(*streams).out;
6171+ struct string _59; memset(&_59, 0, sizeof(struct string));
6172+ init$fromliteral(&_59, "nr", 2);
6173+ PutStrLn(0 /* _57 */, &*_58, &_59);
6174+ string$dest(&_59);
60826175 }
60836176 __SUPPRESS_WARNING_UNUSED_VARIABLE__(test);
60846177 break;
@@ -6086,20 +6179,20 @@
60866179 case 2: // void v:
60876180 {
60886181 {
6089- const struct StreamOut *_58 = &(*streams).out;
6090- struct string _59; memset(&_59, 0, sizeof(struct string));
6091- init$fromliteral(&_59, "v", 1);
6092- PutStrLn(0 /* _57 */, &*_58, &_59);
6093- string$dest(&_59);
6182+ const struct StreamOut *_59 = &(*streams).out;
6183+ struct string _60; memset(&_60, 0, sizeof(struct string));
6184+ init$fromliteral(&_60, "v", 1);
6185+ PutStrLn(0 /* _58 */, &*_59, &_60);
6186+ string$dest(&_60);
60946187 }
60956188 break;
60966189 }
60976190 case 3: // struct string s$:
60986191 {
6099- struct string *test = &((*_54).s$);
6192+ struct string *test = &((*_55).s$);
61006193 {
6101- const struct StreamOut *_59 = &(*streams).out;
6102- PutStrLn(0 /* _58 */, &*_59, &*test);
6194+ const struct StreamOut *_60 = &(*streams).out;
6195+ PutStrLn(0 /* _59 */, &*_60, &*test);
61036196 }
61046197 break;
61056198 }
@@ -6116,42 +6209,42 @@
61166209 {
61176210 two(&_en);
61186211 }
6119- struct enu *_59 = &(_en);
6120- switch((*_59).type)
6212+ struct enu *_60 = &(_en);
6213+ switch((*_60).type)
61216214 {
61226215 case 0: // void zero:
61236216 {
61246217 {
6125- const struct StreamOut *_61 = &(*streams).out;
6126- struct string _62; memset(&_62, 0, sizeof(struct string));
6127- init$fromliteral(&_62, "zero", 4);
6128- PutStrLn(0 /* _60 */, &*_61, &_62);
6129- string$dest(&_62);
6130- }
6131- break;
6132- }
6133- case 1: // void one:
6134- {
6135- {
61366218 const struct StreamOut *_62 = &(*streams).out;
61376219 struct string _63; memset(&_63, 0, sizeof(struct string));
6138- init$fromliteral(&_63, "one", 3);
6220+ init$fromliteral(&_63, "zero", 4);
61396221 PutStrLn(0 /* _61 */, &*_62, &_63);
61406222 string$dest(&_63);
61416223 }
61426224 break;
61436225 }
6144- case 2: // void two:
6226+ case 1: // void one:
61456227 {
61466228 {
61476229 const struct StreamOut *_63 = &(*streams).out;
61486230 struct string _64; memset(&_64, 0, sizeof(struct string));
6149- init$fromliteral(&_64, "two", 3);
6231+ init$fromliteral(&_64, "one", 3);
61506232 PutStrLn(0 /* _62 */, &*_63, &_64);
61516233 string$dest(&_64);
61526234 }
61536235 break;
61546236 }
6237+ case 2: // void two:
6238+ {
6239+ {
6240+ const struct StreamOut *_64 = &(*streams).out;
6241+ struct string _65; memset(&_65, 0, sizeof(struct string));
6242+ init$fromliteral(&_65, "two", 3);
6243+ PutStrLn(0 /* _63 */, &*_64, &_65);
6244+ string$dest(&_65);
6245+ }
6246+ break;
6247+ }
61556248 default:
61566249 {
61576250 fprintf(stderr, "INTERNAL ERROR IN SWITCH");
@@ -6162,42 +6255,42 @@
61626255 {
61636256 zero2(&_en2);
61646257 }
6165- struct enu2 *_63 = &(_en2);
6166- switch((*_63).type)
6258+ struct enu2 *_64 = &(_en2);
6259+ switch((*_64).type)
61676260 {
61686261 case 0: // void zero2:
61696262 {
61706263 {
6171- const struct StreamOut *_65 = &(*streams).out;
6172- struct string _66; memset(&_66, 0, sizeof(struct string));
6173- init$fromliteral(&_66, "zero2", 5);
6174- PutStrLn(0 /* _64 */, &*_65, &_66);
6175- string$dest(&_66);
6176- }
6177- break;
6178- }
6179- case 1: // void one2:
6180- {
6181- {
61826264 const struct StreamOut *_66 = &(*streams).out;
61836265 struct string _67; memset(&_67, 0, sizeof(struct string));
6184- init$fromliteral(&_67, "one2", 4);
6266+ init$fromliteral(&_67, "zero2", 5);
61856267 PutStrLn(0 /* _65 */, &*_66, &_67);
61866268 string$dest(&_67);
61876269 }
61886270 break;
61896271 }
6190- case 2: // void two2:
6272+ case 1: // void one2:
61916273 {
61926274 {
61936275 const struct StreamOut *_67 = &(*streams).out;
61946276 struct string _68; memset(&_68, 0, sizeof(struct string));
6195- init$fromliteral(&_68, "two2", 4);
6277+ init$fromliteral(&_68, "one2", 4);
61966278 PutStrLn(0 /* _66 */, &*_67, &_68);
61976279 string$dest(&_68);
61986280 }
61996281 break;
62006282 }
6283+ case 2: // void two2:
6284+ {
6285+ {
6286+ const struct StreamOut *_68 = &(*streams).out;
6287+ struct string _69; memset(&_69, 0, sizeof(struct string));
6288+ init$fromliteral(&_69, "two2", 4);
6289+ PutStrLn(0 /* _67 */, &*_68, &_69);
6290+ string$dest(&_69);
6291+ }
6292+ break;
6293+ }
62016294 default:
62026295 {
62036296 fprintf(stderr, "INTERNAL ERROR IN SWITCH");
@@ -6206,44 +6299,44 @@
62066299 }
62076300 struct stack/*string*/ _other; memset(&_other, 0, sizeof(struct stack/*string*/));
62086301 {
6209- struct string _67; memset(&_67, 0, sizeof(struct string));
6210- init$fromliteral(&_67, "SOLID", 5);
6211- solid(&_other, &_67, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 786);
6212- string$dest(&_67);
6302+ struct string _68; memset(&_68, 0, sizeof(struct string));
6303+ init$fromliteral(&_68, "SOLID", 5);
6304+ solid(&_other, &_68, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 804);
6305+ string$dest(&_68);
62136306 }
62146307 {
6215- const struct StreamOut *_68 = &(*streams).out;
6216- struct string _69; memset(&_69, 0, sizeof(struct string));
6217- const struct stack/*string*/ *_70 = &(_other);
6218- if(!(*_70).size)
6308+ const struct StreamOut *_69 = &(*streams).out;
6309+ struct string _70; memset(&_70, 0, sizeof(struct string));
6310+ const struct stack/*string*/ *_71 = &(_other);
6311+ if(!(*_71).size)
62196312 {
6220- init$fromliteral(&_69, "EMPTY", 5);
6313+ init$fromliteral(&_70, "EMPTY", 5);
62216314 }
62226315 else
62236316 {
6224- const struct string *other = (*_70).data;
6225- string$copy(&_69, &(*other));
6317+ const struct string *other = (*_71).data;
6318+ string$copy(&_70, &(*other));
62266319 }
6227- PutStrLn(0 /* _67 */, &*_68, &_69);
6228- string$dest(&_69);
6320+ PutStrLn(0 /* _68 */, &*_69, &_70);
6321+ string$dest(&_70);
62296322 }
6230- const struct stack/*string*/ *_68 = &(_other);
6231- if(!(*_68).size)
6323+ const struct stack/*string*/ *_69 = &(_other);
6324+ if(!(*_69).size)
62326325 {
62336326 {
6234- const struct StreamOut *_70 = &(*streams).out;
6235- struct string _71; memset(&_71, 0, sizeof(struct string));
6236- init$fromliteral(&_71, "EMPTY", 5);
6237- PutStrLn(0 /* _69 */, &*_70, &_71);
6238- string$dest(&_71);
6327+ const struct StreamOut *_71 = &(*streams).out;
6328+ struct string _72; memset(&_72, 0, sizeof(struct string));
6329+ init$fromliteral(&_72, "EMPTY", 5);
6330+ PutStrLn(0 /* _70 */, &*_71, &_72);
6331+ string$dest(&_72);
62396332 }
62406333 }
62416334 else
62426335 {
6243- const struct string *other = (*_68).data;
6336+ const struct string *other = (*_69).data;
62446337 {
6245- const struct StreamOut *_71 = &(*streams).out;
6246- PutStrLn(0 /* _70 */, &*_71, &*other);
6338+ const struct StreamOut *_72 = &(*streams).out;
6339+ PutStrLn(0 /* _71 */, &*_72, &*other);
62476340 }
62486341 }
62496342 struct string _str; memset(&_str, 0, sizeof(struct string));
@@ -6250,76 +6343,76 @@
62506343 init$fromliteral(&_str, "test...", 7);
62516344 struct stack/*string*/ _stk; memset(&_stk, 0, sizeof(struct stack/*string*/));
62526345 {
6253- push(0 /* _71 */, &_stk, &_str, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 795);
6346+ push(0 /* _72 */, &_stk, &_str, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 813);
62546347 }
62556348 {
6256- push(0 /* _72 */, &_stk, &_str, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 796);
6349+ push(0 /* _73 */, &_stk, &_str, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 814);
62576350 }
62586351 {
6259- struct stack/*string*/ _73; memset(&_73, 0, sizeof(struct stack/*string*/));
6260- pop_opt(&_73, &_stk, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 797);
6261- free$(&_73, sizeof(struct string), (void (*)(void *))string$dest);
6352+ struct stack/*string*/ _74; memset(&_74, 0, sizeof(struct stack/*string*/));
6353+ pop_opt(&_74, &_stk, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 815);
6354+ free$(&_74, sizeof(struct string), (void (*)(void *))string$dest);
62626355 }
62636356 {
6264- stack(&_stk, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 798);
6357+ stack(&_stk, sizeof(struct string), (void (*)(void *))string$dest, (void (*)(void *, const void *))string$copy, 816);
62656358 }
62666359 {
6267- struct stack/*u8*/ _73; memset(&_73, 0, sizeof(struct stack/*u8*/));
6268- access$(&_73, &_str);
6269- free$(&_73, sizeof(uint8_t), 0/*DEST*/);
6360+ struct stack/*u8*/ _74; memset(&_74, 0, sizeof(struct stack/*u8*/));
6361+ access$(&_74, &_str);
6362+ free$(&_74, sizeof(uint8_t), 0/*DEST*/);
62706363 }
62716364 struct box$ _A; memset(&_A, 0, sizeof(struct box$));
62726365 {
6273- struct string _73; memset(&_73, 0, sizeof(struct string));
6274- init$fromliteral(&_73, "ABC", 3);
6275- box$(&_A, &_73);
6276- string$dest(&_73);
6277- }
6278- {
62796366 struct string _74; memset(&_74, 0, sizeof(struct string));
6280- init$fromliteral(&_74, "ref-count box test", 18);
6281- boxset$(0 /* _73 */, &_A, &_74);
6367+ init$fromliteral(&_74, "ABC", 3);
6368+ box$(&_A, &_74);
62826369 string$dest(&_74);
62836370 }
6371+ {
6372+ struct string _75; memset(&_75, 0, sizeof(struct string));
6373+ init$fromliteral(&_75, "ref-count box test", 18);
6374+ boxset$(0 /* _74 */, &_A, &_75);
6375+ string$dest(&_75);
6376+ }
62846377 struct box$ _B; memset(&_B, 0, sizeof(struct box$));
62856378 box$$copy(&_B, &(_A));
62866379 struct box$ _C; memset(&_C, 0, sizeof(struct box$));
62876380 {
6288- struct string _74; memset(&_74, 0, sizeof(struct string));
6289- init$fromliteral(&_74, "DEF", 3);
6290- box$(&_C, &_74);
6291- string$dest(&_74);
6381+ struct string _75; memset(&_75, 0, sizeof(struct string));
6382+ init$fromliteral(&_75, "DEF", 3);
6383+ box$(&_C, &_75);
6384+ string$dest(&_75);
62926385 }
62936386 box$$copy(&_C, &(_B));
62946387 {
6295- const struct StreamOut *_75 = &(*streams).out;
6296- struct string _76; memset(&_76, 0, sizeof(struct string));
6297- {
6298- boxget$(&_76, &_C);
6299- }
6300- PutStrLn(0 /* _74 */, &*_75, &_76);
6301- string$dest(&_76);
6302- }
6303- {
63046388 const struct StreamOut *_76 = &(*streams).out;
63056389 struct string _77; memset(&_77, 0, sizeof(struct string));
63066390 {
6307- shadow(&_77);
6391+ boxget$(&_77, &_C);
63086392 }
6309- Print$string(0 /* _75 */, &*_76, &_77);
6393+ PutStrLn(0 /* _75 */, &*_76, &_77);
63106394 string$dest(&_77);
63116395 }
63126396 {
63136397 const struct StreamOut *_77 = &(*streams).out;
63146398 struct string _78; memset(&_78, 0, sizeof(struct string));
6315- init$fromliteral(&_78, "", 0);
6316- PutStrLn(0 /* _76 */, &*_77, &_78);
6399+ {
6400+ shadow(&_78);
6401+ }
6402+ Print$string(0 /* _76 */, &*_77, &_78);
63176403 string$dest(&_78);
63186404 }
6319- int32_t _77; memset(&_77, 0, sizeof(int32_t));
6320- _77 = 0;
6321- *_0 = _77;
6322- _IGNORE_(_77);
6405+ {
6406+ const struct StreamOut *_78 = &(*streams).out;
6407+ struct string _79; memset(&_79, 0, sizeof(struct string));
6408+ init$fromliteral(&_79, "", 0);
6409+ PutStrLn(0 /* _77 */, &*_78, &_79);
6410+ string$dest(&_79);
6411+ }
6412+ int32_t _78; memset(&_78, 0, sizeof(int32_t));
6413+ _78 = 0;
6414+ *_0 = _78;
6415+ _IGNORE_(_78);
63236416 box$$dest(&_C);
63246417 box$$dest(&_B);
63256418 box$$dest(&_A);
Afficher sur ancien navigateur de dépôt.