source: src/Tests/Expect-r/Quad.txt @ a3e7d34

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since a3e7d34 was b1d6dd5, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

fix parsing error for EOF message, change cfa-ccp -x flag to -v, regression testing third attempt: consolidate example programs

  • Property mode set to 100644
File size: 53.6 KB
Line 
1nameExpr is ?*?
2decl is ?*?: function
3  with parameters
4    signed int
5    signed int
6  returning
7    signed int
8
9newExpr is Variable Expression: ?*?: function
10    with parameters
11      signed int
12      signed int
13    returning
14      signed int
15
16
17decl is ?*?: pointer to function
18  with parameters
19    instance of type T (not function type)
20    instance of type T (not function type)
21  returning
22    instance of type T (not function type)
23
24newExpr is Variable Expression: ?*?: pointer to function
25    with parameters
26      instance of type T (not function type)
27      instance of type T (not function type)
28    returning
29      instance of type T (not function type)
30
31
32alternatives before prune:
33Cost ( 0, 0, 0 ): Variable Expression: ?*?: function
34    with parameters
35      signed int
36      signed int
37    returning
38      signed int
39
40(types:
41    pointer to function
42        with parameters
43          signed int
44          signed int
45        returning
46          signed int
47
48)
49Environment:
50
51Cost ( 0, 0, 0 ): Variable Expression: ?*?: pointer to function
52    with parameters
53      instance of type T (not function type)
54      instance of type T (not function type)
55    returning
56      instance of type T (not function type)
57
58(types:
59    lvalue pointer to function
60        with parameters
61          instance of type T (not function type)
62          instance of type T (not function type)
63        returning
64          instance of type T (not function type)
65
66)
67Environment:
68
69there are 2 alternatives before elimination
70there are 2 alternatives after elimination
71nameExpr is t
72decl is t: instance of type T (not function type)
73newExpr is Variable Expression: t: instance of type T (not function type)
74
75alternatives before prune:
76Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type)
77(types:
78    lvalue instance of type T (not function type)
79)
80Environment:
81
82there are 1 alternatives before elimination
83there are 1 alternatives after elimination
84findSubExprs
85Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type)
86(types:
87    lvalue instance of type T (not function type)
88)
89Environment:
90
91nameExpr is t
92decl is t: instance of type T (not function type)
93newExpr is Variable Expression: t: instance of type T (not function type)
94
95alternatives before prune:
96Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type)
97(types:
98    lvalue instance of type T (not function type)
99)
100Environment:
101
102there are 1 alternatives before elimination
103there are 1 alternatives after elimination
104findSubExprs
105Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type)
106(types:
107    lvalue instance of type T (not function type)
108)
109Environment:
110
111working on alternative:
112        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: function
113            with parameters
114              signed int
115              signed int
116            returning
117              signed int
118
119(types:
120            pointer to function
121                with parameters
122                  signed int
123                  signed int
124                returning
125                  signed int
126
127)
128        Environment:
129formal type is signed int
130actual type is lvalue instance of type T (not function type)
131working on alternative:
132        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: pointer to function
133            with parameters
134              instance of type T (not function type)
135              instance of type T (not function type)
136            returning
137              instance of type T (not function type)
138
139(types:
140            lvalue pointer to function
141                with parameters
142                  instance of type T (not function type)
143                  instance of type T (not function type)
144                returning
145                  instance of type T (not function type)
146
147)
148        Environment:
149formal type is instance of type T (not function type)
150actual type is lvalue instance of type T (not function type)
151formal type is instance of type T (not function type)
152actual type is lvalue instance of type T (not function type)
153need assertions:
154============= original indexer
155===idTable===
156===typeTable===
157===structTable===
158===enumTable===
159===unionTable===
160===contextTable===
161============= new indexer
162===idTable===
163===typeTable===
164===structTable===
165===enumTable===
166===unionTable===
167===contextTable===
168actual expression:
169        Variable Expression: t: instance of type T (not function type)
170--- results are
171        lvalue instance of type T (not function type)
172
173converting lvalue instance of type T (not function type)
174 to instance of type T (not function type)
175cost is( 0, 0, 0 )
176actual expression:
177        Variable Expression: t: instance of type T (not function type)
178--- results are
179        lvalue instance of type T (not function type)
180
181converting lvalue instance of type T (not function type)
182 to instance of type T (not function type)
183cost is( 0, 0, 0 )
184Case +++++++++++++
185formals are:
186        instance of type T (not function type)
187        instance of type T (not function type)
188actuals are:
189                  Variable Expression: t: instance of type T (not function type)
190
191                  Variable Expression: t: instance of type T (not function type)
192
193bindings are:
194cost of conversion is:( 0, 0, 0 )
195alternatives before prune:
196Cost ( 0, 0, 0 ): Application of
197  Variable Expression: ?*?: pointer to function
198      with parameters
199        instance of type T (not function type)
200        instance of type T (not function type)
201      returning
202        instance of type T (not function type)
203
204to arguments
205      Variable Expression: t: instance of type T (not function type)
206
207      Variable Expression: t: instance of type T (not function type)
208
209(types:
210    instance of type T (not function type)
211)
212Environment:
213
214there are 1 alternatives before elimination
215there are 1 alternatives after elimination
216alternatives before prune:
217Cost ( 0, 0, 0 ): Cast of:
218  Application of
219    Variable Expression: ?*?: pointer to function
220        with parameters
221          instance of type T (not function type)
222          instance of type T (not function type)
223        returning
224          instance of type T (not function type)
225
226  to arguments
227          Variable Expression: t: instance of type T (not function type)
228
229          Variable Expression: t: instance of type T (not function type)
230
231
232to:
233  instance of type T (not function type)
234(types:
235    instance of type T (not function type)
236)
237Environment:
238
239there are 1 alternatives before elimination
240there are 1 alternatives after elimination
241nameExpr is square
242decl is square: forall
243    T: type
244      with assertions
245        ?=?: pointer to function
246            with parameters
247              pointer to instance of type T (not function type)
248              instance of type T (not function type)
249            returning
250              instance of type T (not function type)
251
252        ?*?: pointer to function
253            with parameters
254              instance of type T (not function type)
255              instance of type T (not function type)
256            returning
257              instance of type T (not function type)
258
259
260  function
261  with parameters
262    t: instance of type T (not function type)
263  returning
264    instance of type T (not function type)
265  with body
266    CompoundStmt
267              Return Statement, returning: Cast of:
268  Application of
269    Variable Expression: ?*?: pointer to function
270        with parameters
271          instance of type T (not function type)
272          instance of type T (not function type)
273        returning
274          instance of type T (not function type)
275
276  to arguments
277          Variable Expression: t: instance of type T (not function type)
278
279          Variable Expression: t: instance of type T (not function type)
280
281
282to:
283  instance of type T (not function type)
284with environment:
285  Types:
286  Non-types:
287
288
289
290newExpr is Variable Expression: square: forall
291      T: type
292        with assertions
293          ?=?: pointer to function
294              with parameters
295                pointer to instance of type T (not function type)
296                instance of type T (not function type)
297              returning
298                instance of type T (not function type)
299
300          ?*?: pointer to function
301              with parameters
302                instance of type T (not function type)
303                instance of type T (not function type)
304              returning
305                instance of type T (not function type)
306
307
308    function
309    with parameters
310      t: instance of type T (not function type)
311    returning
312      instance of type T (not function type)
313
314
315decl is square: pointer to function
316  with parameters
317    instance of type U (not function type)
318  returning
319    instance of type U (not function type)
320
321newExpr is Variable Expression: square: pointer to function
322    with parameters
323      instance of type U (not function type)
324    returning
325      instance of type U (not function type)
326
327
328alternatives before prune:
329Cost ( 0, 0, 0 ): Variable Expression: square: forall
330      T: type
331        with assertions
332          ?=?: pointer to function
333              with parameters
334                pointer to instance of type T (not function type)
335                instance of type T (not function type)
336              returning
337                instance of type T (not function type)
338
339          ?*?: pointer to function
340              with parameters
341                instance of type T (not function type)
342                instance of type T (not function type)
343              returning
344                instance of type T (not function type)
345
346
347    function
348    with parameters
349      t: instance of type T (not function type)
350    returning
351      instance of type T (not function type)
352
353(types:
354    pointer to forall
355          _0_T: type
356            with assertions
357              ?=?: pointer to function
358                  with parameters
359                    pointer to instance of type _0_T (not function type)
360                    instance of type _0_T (not function type)
361                  returning
362                    instance of type _0_T (not function type)
363
364              ?*?: pointer to function
365                  with parameters
366                    instance of type _0_T (not function type)
367                    instance of type _0_T (not function type)
368                  returning
369                    instance of type _0_T (not function type)
370
371
372        function
373        with parameters
374          t: instance of type _0_T (not function type)
375        returning
376          instance of type _0_T (not function type)
377
378)
379Environment:
380
381Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
382    with parameters
383      instance of type U (not function type)
384    returning
385      instance of type U (not function type)
386
387(types:
388    lvalue pointer to function
389        with parameters
390          instance of type U (not function type)
391        returning
392          instance of type U (not function type)
393
394)
395Environment:
396
397there are 2 alternatives before elimination
398there are 2 alternatives after elimination
399nameExpr is square
400decl is square: forall
401    T: type
402      with assertions
403        ?=?: pointer to function
404            with parameters
405              pointer to instance of type T (not function type)
406              instance of type T (not function type)
407            returning
408              instance of type T (not function type)
409
410        ?*?: pointer to function
411            with parameters
412              instance of type T (not function type)
413              instance of type T (not function type)
414            returning
415              instance of type T (not function type)
416
417
418  function
419  with parameters
420    t: instance of type T (not function type)
421  returning
422    instance of type T (not function type)
423  with body
424    CompoundStmt
425              Return Statement, returning: Cast of:
426  Application of
427    Variable Expression: ?*?: pointer to function
428        with parameters
429          instance of type T (not function type)
430          instance of type T (not function type)
431        returning
432          instance of type T (not function type)
433
434  to arguments
435          Variable Expression: t: instance of type T (not function type)
436
437          Variable Expression: t: instance of type T (not function type)
438
439
440to:
441  instance of type T (not function type)
442with environment:
443  Types:
444  Non-types:
445
446
447
448newExpr is Variable Expression: square: forall
449      T: type
450        with assertions
451          ?=?: pointer to function
452              with parameters
453                pointer to instance of type T (not function type)
454                instance of type T (not function type)
455              returning
456                instance of type T (not function type)
457
458          ?*?: pointer to function
459              with parameters
460                instance of type T (not function type)
461                instance of type T (not function type)
462              returning
463                instance of type T (not function type)
464
465
466    function
467    with parameters
468      t: instance of type T (not function type)
469    returning
470      instance of type T (not function type)
471
472
473decl is square: pointer to function
474  with parameters
475    instance of type U (not function type)
476  returning
477    instance of type U (not function type)
478
479newExpr is Variable Expression: square: pointer to function
480    with parameters
481      instance of type U (not function type)
482    returning
483      instance of type U (not function type)
484
485
486alternatives before prune:
487Cost ( 0, 0, 0 ): Variable Expression: square: forall
488      T: type
489        with assertions
490          ?=?: pointer to function
491              with parameters
492                pointer to instance of type T (not function type)
493                instance of type T (not function type)
494              returning
495                instance of type T (not function type)
496
497          ?*?: pointer to function
498              with parameters
499                instance of type T (not function type)
500                instance of type T (not function type)
501              returning
502                instance of type T (not function type)
503
504
505    function
506    with parameters
507      t: instance of type T (not function type)
508    returning
509      instance of type T (not function type)
510
511(types:
512    pointer to forall
513          _1_T: type
514            with assertions
515              ?=?: pointer to function
516                  with parameters
517                    pointer to instance of type _1_T (not function type)
518                    instance of type _1_T (not function type)
519                  returning
520                    instance of type _1_T (not function type)
521
522              ?*?: pointer to function
523                  with parameters
524                    instance of type _1_T (not function type)
525                    instance of type _1_T (not function type)
526                  returning
527                    instance of type _1_T (not function type)
528
529
530        function
531        with parameters
532          t: instance of type _1_T (not function type)
533        returning
534          instance of type _1_T (not function type)
535
536)
537Environment:
538
539Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
540    with parameters
541      instance of type U (not function type)
542    returning
543      instance of type U (not function type)
544
545(types:
546    lvalue pointer to function
547        with parameters
548          instance of type U (not function type)
549        returning
550          instance of type U (not function type)
551
552)
553Environment:
554
555there are 2 alternatives before elimination
556there are 2 alternatives after elimination
557nameExpr is u
558decl is u: instance of type U (not function type)
559newExpr is Variable Expression: u: instance of type U (not function type)
560
561alternatives before prune:
562Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type)
563(types:
564    lvalue instance of type U (not function type)
565)
566Environment:
567
568there are 1 alternatives before elimination
569there are 1 alternatives after elimination
570findSubExprs
571Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type)
572(types:
573    lvalue instance of type U (not function type)
574)
575Environment:
576
577working on alternative:
578        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
579              T: type
580                with assertions
581                  ?=?: pointer to function
582                      with parameters
583                        pointer to instance of type T (not function type)
584                        instance of type T (not function type)
585                      returning
586                        instance of type T (not function type)
587
588                  ?*?: pointer to function
589                      with parameters
590                        instance of type T (not function type)
591                        instance of type T (not function type)
592                      returning
593                        instance of type T (not function type)
594
595
596            function
597            with parameters
598              t: instance of type T (not function type)
599            returning
600              instance of type T (not function type)
601
602(types:
603            pointer to forall
604                  _1_T: type
605                    with assertions
606                      ?=?: pointer to function
607                          with parameters
608                            pointer to instance of type _1_T (not function type)
609                            instance of type _1_T (not function type)
610                          returning
611                            instance of type _1_T (not function type)
612
613                      ?*?: pointer to function
614                          with parameters
615                            instance of type _1_T (not function type)
616                            instance of type _1_T (not function type)
617                          returning
618                            instance of type _1_T (not function type)
619
620
621                function
622                with parameters
623                  t: instance of type _1_T (not function type)
624                returning
625                  instance of type _1_T (not function type)
626
627)
628        Environment:
629formal type is instance of type _1_T (not function type)
630actual type is lvalue instance of type U (not function type)
631need assertions:
632?*?: pointer to function
633          with parameters
634            instance of type _1_T (not function type)
635            instance of type _1_T (not function type)
636          returning
637            instance of type _1_T (not function type)
638(used)?=?: pointer to function
639          with parameters
640            pointer to instance of type _1_T (not function type)
641            instance of type _1_T (not function type)
642          returning
643            instance of type _1_T (not function type)
644(used)============= original indexer
645===idTable===
646===typeTable===
647===structTable===
648===enumTable===
649===unionTable===
650===contextTable===
651============= new indexer
652===idTable===
653===typeTable===
654===structTable===
655===enumTable===
656===unionTable===
657===contextTable===
658inferRecursive: assertion is ?*?: pointer to function
659  with parameters
660    instance of type _1_T (not function type)
661    instance of type _1_T (not function type)
662  returning
663    instance of type _1_T (not function type)
664
665inferRecursive: candidate is ?*?: function
666  with parameters
667    signed int
668    signed int
669  returning
670    signed int
671
672unifying pointer to function
673  with parameters
674    instance of type _1_T (not function type)
675    instance of type _1_T (not function type)
676  returning
677    instance of type _1_T (not function type)
678 with pointer to function
679  with parameters
680    signed int
681    signed int
682  returning
683    signed int
684
685working on alternative:
686        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
687            with parameters
688              instance of type U (not function type)
689            returning
690              instance of type U (not function type)
691
692(types:
693            lvalue pointer to function
694                with parameters
695                  instance of type U (not function type)
696                returning
697                  instance of type U (not function type)
698
699)
700        Environment:
701formal type is instance of type U (not function type)
702actual type is lvalue instance of type U (not function type)
703need assertions:
704============= original indexer
705===idTable===
706===typeTable===
707===structTable===
708===enumTable===
709===unionTable===
710===contextTable===
711============= new indexer
712===idTable===
713===typeTable===
714===structTable===
715===enumTable===
716===unionTable===
717===contextTable===
718actual expression:
719        Variable Expression: u: instance of type U (not function type)
720--- results are
721        lvalue instance of type U (not function type)
722
723converting lvalue instance of type U (not function type)
724 to instance of type U (not function type)
725cost is( 0, 0, 0 )
726Case +++++++++++++
727formals are:
728        instance of type U (not function type)
729actuals are:
730                  Variable Expression: u: instance of type U (not function type)
731
732bindings are:
733cost of conversion is:( 0, 0, 0 )
734alternatives before prune:
735Cost ( 0, 0, 0 ): Application of
736  Variable Expression: square: pointer to function
737      with parameters
738        instance of type U (not function type)
739      returning
740        instance of type U (not function type)
741
742to arguments
743      Variable Expression: u: instance of type U (not function type)
744
745(types:
746    instance of type U (not function type)
747)
748Environment:
749
750there are 1 alternatives before elimination
751there are 1 alternatives after elimination
752findSubExprs
753Cost ( 0, 0, 0 ): Application of
754  Variable Expression: square: pointer to function
755      with parameters
756        instance of type U (not function type)
757      returning
758        instance of type U (not function type)
759
760to arguments
761      Variable Expression: u: instance of type U (not function type)
762
763(types:
764    instance of type U (not function type)
765)
766Environment:
767
768working on alternative:
769        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
770              T: type
771                with assertions
772                  ?=?: pointer to function
773                      with parameters
774                        pointer to instance of type T (not function type)
775                        instance of type T (not function type)
776                      returning
777                        instance of type T (not function type)
778
779                  ?*?: pointer to function
780                      with parameters
781                        instance of type T (not function type)
782                        instance of type T (not function type)
783                      returning
784                        instance of type T (not function type)
785
786
787            function
788            with parameters
789              t: instance of type T (not function type)
790            returning
791              instance of type T (not function type)
792
793(types:
794            pointer to forall
795                  _0_T: type
796                    with assertions
797                      ?=?: pointer to function
798                          with parameters
799                            pointer to instance of type _0_T (not function type)
800                            instance of type _0_T (not function type)
801                          returning
802                            instance of type _0_T (not function type)
803
804                      ?*?: pointer to function
805                          with parameters
806                            instance of type _0_T (not function type)
807                            instance of type _0_T (not function type)
808                          returning
809                            instance of type _0_T (not function type)
810
811
812                function
813                with parameters
814                  t: instance of type _0_T (not function type)
815                returning
816                  instance of type _0_T (not function type)
817
818)
819        Environment:
820formal type is instance of type _0_T (not function type)
821actual type is instance of type U (not function type)
822need assertions:
823?=?: pointer to function
824          with parameters
825            pointer to instance of type _0_T (not function type)
826            instance of type _0_T (not function type)
827          returning
828            instance of type _0_T (not function type)
829(used)?*?: pointer to function
830          with parameters
831            instance of type _0_T (not function type)
832            instance of type _0_T (not function type)
833          returning
834            instance of type _0_T (not function type)
835(used)============= original indexer
836===idTable===
837===typeTable===
838===structTable===
839===enumTable===
840===unionTable===
841===contextTable===
842============= new indexer
843===idTable===
844===typeTable===
845===structTable===
846===enumTable===
847===unionTable===
848===contextTable===
849inferRecursive: assertion is ?=?: pointer to function
850  with parameters
851    pointer to instance of type _0_T (not function type)
852    instance of type _0_T (not function type)
853  returning
854    instance of type _0_T (not function type)
855
856inferRecursive: candidate is ?=?: function
857  with parameters
858    pointer to signed int
859    signed int
860  returning
861    signed int
862
863unifying pointer to function
864  with parameters
865    pointer to instance of type _0_T (not function type)
866    instance of type _0_T (not function type)
867  returning
868    instance of type _0_T (not function type)
869 with pointer to function
870  with parameters
871    pointer to signed int
872    signed int
873  returning
874    signed int
875
876inferRecursive: candidate is ?=?: pointer to function
877  with parameters
878    pointer to instance of type U (not function type)
879    instance of type U (not function type)
880  returning
881    instance of type U (not function type)
882
883unifying pointer to function
884  with parameters
885    pointer to instance of type _0_T (not function type)
886    instance of type _0_T (not function type)
887  returning
888    instance of type _0_T (not function type)
889 with pointer to function
890  with parameters
891    pointer to instance of type U (not function type)
892    instance of type U (not function type)
893  returning
894    instance of type U (not function type)
895
896success!
897satisfying assertion 12 ?=?: pointer to function
898  with parameters
899    pointer to instance of type _0_T (not function type)
900    instance of type _0_T (not function type)
901  returning
902    instance of type _0_T (not function type)
903 with declaration 23 ?=?: pointer to function
904  with parameters
905    pointer to instance of type U (not function type)
906    instance of type U (not function type)
907  returning
908    instance of type U (not function type)
909
910inferRecursive: assertion is ?*?: pointer to function
911  with parameters
912    instance of type _0_T (not function type)
913    instance of type _0_T (not function type)
914  returning
915    instance of type _0_T (not function type)
916
917inferRecursive: candidate is ?*?: function
918  with parameters
919    signed int
920    signed int
921  returning
922    signed int
923
924unifying pointer to function
925  with parameters
926    instance of type _0_T (not function type)
927    instance of type _0_T (not function type)
928  returning
929    instance of type _0_T (not function type)
930 with pointer to function
931  with parameters
932    signed int
933    signed int
934  returning
935    signed int
936
937working on alternative:
938        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
939            with parameters
940              instance of type U (not function type)
941            returning
942              instance of type U (not function type)
943
944(types:
945            lvalue pointer to function
946                with parameters
947                  instance of type U (not function type)
948                returning
949                  instance of type U (not function type)
950
951)
952        Environment:
953formal type is instance of type U (not function type)
954actual type is instance of type U (not function type)
955need assertions:
956============= original indexer
957===idTable===
958===typeTable===
959===structTable===
960===enumTable===
961===unionTable===
962===contextTable===
963============= new indexer
964===idTable===
965===typeTable===
966===structTable===
967===enumTable===
968===unionTable===
969===contextTable===
970actual expression:
971        Application of
972          Variable Expression: square: pointer to function
973              with parameters
974                instance of type U (not function type)
975              returning
976                instance of type U (not function type)
977
978        to arguments
979                      Variable Expression: u: instance of type U (not function type)
980
981--- results are
982        instance of type U (not function type)
983
984converting instance of type U (not function type)
985 to instance of type U (not function type)
986cost is( 0, 0, 0 )
987Case +++++++++++++
988formals are:
989        instance of type U (not function type)
990actuals are:
991                  Application of
992            Variable Expression: square: pointer to function
993                with parameters
994                  instance of type U (not function type)
995                returning
996                  instance of type U (not function type)
997
998          to arguments
999                          Variable Expression: u: instance of type U (not function type)
1000
1001
1002bindings are:
1003cost of conversion is:( 0, 0, 0 )
1004alternatives before prune:
1005Cost ( 0, 0, 0 ): Application of
1006  Variable Expression: square: pointer to function
1007      with parameters
1008        instance of type U (not function type)
1009      returning
1010        instance of type U (not function type)
1011
1012to arguments
1013      Application of
1014      Variable Expression: square: pointer to function
1015          with parameters
1016            instance of type U (not function type)
1017          returning
1018            instance of type U (not function type)
1019
1020    to arguments
1021              Variable Expression: u: instance of type U (not function type)
1022
1023
1024(types:
1025    instance of type U (not function type)
1026)
1027Environment:
1028
1029there are 1 alternatives before elimination
1030there are 1 alternatives after elimination
1031alternatives before prune:
1032Cost ( 0, 0, 0 ): Cast of:
1033  Application of
1034    Variable Expression: square: pointer to function
1035        with parameters
1036          instance of type U (not function type)
1037        returning
1038          instance of type U (not function type)
1039
1040  to arguments
1041          Application of
1042        Variable Expression: square: pointer to function
1043            with parameters
1044              instance of type U (not function type)
1045            returning
1046              instance of type U (not function type)
1047
1048      to arguments
1049                  Variable Expression: u: instance of type U (not function type)
1050
1051
1052
1053to:
1054  instance of type U (not function type)
1055(types:
1056    instance of type U (not function type)
1057)
1058Environment:
1059
1060there are 1 alternatives before elimination
1061there are 1 alternatives after elimination
1062nameExpr is quad
1063decl is quad: forall
1064    U: type
1065      with assertions
1066        ?=?: pointer to function
1067            with parameters
1068              pointer to instance of type U (not function type)
1069              instance of type U (not function type)
1070            returning
1071              instance of type U (not function type)
1072
1073        square: pointer to function
1074            with parameters
1075              instance of type U (not function type)
1076            returning
1077              instance of type U (not function type)
1078
1079
1080  function
1081  with parameters
1082    u: instance of type U (not function type)
1083  returning
1084    instance of type U (not function type)
1085  with body
1086    CompoundStmt
1087              Return Statement, returning: Cast of:
1088  Application of
1089    Variable Expression: square: pointer to function
1090        with parameters
1091          instance of type U (not function type)
1092        returning
1093          instance of type U (not function type)
1094
1095  to arguments
1096          Application of
1097        Variable Expression: square: pointer to function
1098            with parameters
1099              instance of type U (not function type)
1100            returning
1101              instance of type U (not function type)
1102
1103      to arguments
1104                  Variable Expression: u: instance of type U (not function type)
1105
1106
1107
1108to:
1109  instance of type U (not function type)
1110with environment:
1111  Types:
1112  Non-types:
1113
1114
1115
1116newExpr is Variable Expression: quad: forall
1117      U: type
1118        with assertions
1119          ?=?: pointer to function
1120              with parameters
1121                pointer to instance of type U (not function type)
1122                instance of type U (not function type)
1123              returning
1124                instance of type U (not function type)
1125
1126          square: pointer to function
1127              with parameters
1128                instance of type U (not function type)
1129              returning
1130                instance of type U (not function type)
1131
1132
1133    function
1134    with parameters
1135      u: instance of type U (not function type)
1136    returning
1137      instance of type U (not function type)
1138
1139
1140alternatives before prune:
1141Cost ( 0, 0, 0 ): Variable Expression: quad: forall
1142      U: type
1143        with assertions
1144          ?=?: pointer to function
1145              with parameters
1146                pointer to instance of type U (not function type)
1147                instance of type U (not function type)
1148              returning
1149                instance of type U (not function type)
1150
1151          square: pointer to function
1152              with parameters
1153                instance of type U (not function type)
1154              returning
1155                instance of type U (not function type)
1156
1157
1158    function
1159    with parameters
1160      u: instance of type U (not function type)
1161    returning
1162      instance of type U (not function type)
1163
1164(types:
1165    pointer to forall
1166          _0_U: type
1167            with assertions
1168              ?=?: pointer to function
1169                  with parameters
1170                    pointer to instance of type _0_U (not function type)
1171                    instance of type _0_U (not function type)
1172                  returning
1173                    instance of type _0_U (not function type)
1174
1175              square: pointer to function
1176                  with parameters
1177                    instance of type _0_U (not function type)
1178                  returning
1179                    instance of type _0_U (not function type)
1180
1181
1182        function
1183        with parameters
1184          u: instance of type _0_U (not function type)
1185        returning
1186          instance of type _0_U (not function type)
1187
1188)
1189Environment:
1190
1191there are 1 alternatives before elimination
1192there are 1 alternatives after elimination
1193alternatives before prune:
1194Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
1195    signed int
1196)
1197Environment:
1198
1199there are 1 alternatives before elimination
1200there are 1 alternatives after elimination
1201findSubExprs
1202Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
1203    signed int
1204)
1205Environment:
1206
1207working on alternative:
1208        Cost ( 0, 0, 0 ):         Variable Expression: quad: forall
1209              U: type
1210                with assertions
1211                  ?=?: pointer to function
1212                      with parameters
1213                        pointer to instance of type U (not function type)
1214                        instance of type U (not function type)
1215                      returning
1216                        instance of type U (not function type)
1217
1218                  square: pointer to function
1219                      with parameters
1220                        instance of type U (not function type)
1221                      returning
1222                        instance of type U (not function type)
1223
1224
1225            function
1226            with parameters
1227              u: instance of type U (not function type)
1228            returning
1229              instance of type U (not function type)
1230
1231(types:
1232            pointer to forall
1233                  _0_U: type
1234                    with assertions
1235                      ?=?: pointer to function
1236                          with parameters
1237                            pointer to instance of type _0_U (not function type)
1238                            instance of type _0_U (not function type)
1239                          returning
1240                            instance of type _0_U (not function type)
1241
1242                      square: pointer to function
1243                          with parameters
1244                            instance of type _0_U (not function type)
1245                          returning
1246                            instance of type _0_U (not function type)
1247
1248
1249                function
1250                with parameters
1251                  u: instance of type _0_U (not function type)
1252                returning
1253                  instance of type _0_U (not function type)
1254
1255)
1256        Environment:
1257formal type is instance of type _0_U (not function type)
1258actual type is signed int
1259need assertions:
1260square: pointer to function
1261          with parameters
1262            instance of type _0_U (not function type)
1263          returning
1264            instance of type _0_U (not function type)
1265(used)?=?: pointer to function
1266          with parameters
1267            pointer to instance of type _0_U (not function type)
1268            instance of type _0_U (not function type)
1269          returning
1270            instance of type _0_U (not function type)
1271(used)============= original indexer
1272===idTable===
1273===typeTable===
1274===structTable===
1275===enumTable===
1276===unionTable===
1277===contextTable===
1278============= new indexer
1279===idTable===
1280===typeTable===
1281===structTable===
1282===enumTable===
1283===unionTable===
1284===contextTable===
1285inferRecursive: assertion is square: pointer to function
1286  with parameters
1287    instance of type _0_U (not function type)
1288  returning
1289    instance of type _0_U (not function type)
1290
1291inferRecursive: candidate is square: forall
1292    T: type
1293      with assertions
1294        ?=?: pointer to function
1295            with parameters
1296              pointer to instance of type T (not function type)
1297              instance of type T (not function type)
1298            returning
1299              instance of type T (not function type)
1300
1301        ?*?: pointer to function
1302            with parameters
1303              instance of type T (not function type)
1304              instance of type T (not function type)
1305            returning
1306              instance of type T (not function type)
1307
1308
1309  function
1310  with parameters
1311    t: instance of type T (not function type)
1312  returning
1313    instance of type T (not function type)
1314  with body
1315    CompoundStmt
1316              Return Statement, returning: Cast of:
1317  Application of
1318    Variable Expression: ?*?: pointer to function
1319        with parameters
1320          instance of type T (not function type)
1321          instance of type T (not function type)
1322        returning
1323          instance of type T (not function type)
1324
1325  to arguments
1326          Variable Expression: t: instance of type T (not function type)
1327
1328          Variable Expression: t: instance of type T (not function type)
1329
1330
1331to:
1332  instance of type T (not function type)
1333with environment:
1334  Types:
1335  Non-types:
1336
1337
1338
1339unifying pointer to function
1340  with parameters
1341    instance of type _0_U (not function type)
1342  returning
1343    instance of type _0_U (not function type)
1344 with pointer to forall
1345    _1_T: type
1346      with assertions
1347        ?=?: pointer to function
1348            with parameters
1349              pointer to instance of type _1_T (not function type)
1350              instance of type _1_T (not function type)
1351            returning
1352              instance of type _1_T (not function type)
1353
1354        ?*?: pointer to function
1355            with parameters
1356              instance of type _1_T (not function type)
1357              instance of type _1_T (not function type)
1358            returning
1359              instance of type _1_T (not function type)
1360
1361
1362  function
1363  with parameters
1364    t: instance of type _1_T (not function type)
1365  returning
1366    instance of type _1_T (not function type)
1367
1368success!
1369satisfying assertion 26 square: pointer to function
1370  with parameters
1371    instance of type _0_U (not function type)
1372  returning
1373    instance of type _0_U (not function type)
1374 with declaration 19 square: forall
1375    T: type
1376      with assertions
1377        ?=?: pointer to function
1378            with parameters
1379              pointer to instance of type T (not function type)
1380              instance of type T (not function type)
1381            returning
1382              instance of type T (not function type)
1383
1384        ?*?: pointer to function
1385            with parameters
1386              instance of type T (not function type)
1387              instance of type T (not function type)
1388            returning
1389              instance of type T (not function type)
1390
1391
1392  function
1393  with parameters
1394    t: instance of type T (not function type)
1395  returning
1396    instance of type T (not function type)
1397  with body
1398    CompoundStmt
1399              Return Statement, returning: Cast of:
1400  Application of
1401    Variable Expression: ?*?: pointer to function
1402        with parameters
1403          instance of type T (not function type)
1404          instance of type T (not function type)
1405        returning
1406          instance of type T (not function type)
1407
1408  to arguments
1409          Variable Expression: t: instance of type T (not function type)
1410
1411          Variable Expression: t: instance of type T (not function type)
1412
1413
1414to:
1415  instance of type T (not function type)
1416with environment:
1417  Types:
1418  Non-types:
1419
1420
1421
1422inferRecursive: assertion is ?=?: pointer to function
1423  with parameters
1424    pointer to instance of type _0_U (not function type)
1425    instance of type _0_U (not function type)
1426  returning
1427    instance of type _0_U (not function type)
1428
1429inferRecursive: candidate is ?=?: function
1430  with parameters
1431    pointer to signed int
1432    signed int
1433  returning
1434    signed int
1435
1436unifying pointer to function
1437  with parameters
1438    pointer to instance of type _0_U (not function type)
1439    instance of type _0_U (not function type)
1440  returning
1441    instance of type _0_U (not function type)
1442 with pointer to function
1443  with parameters
1444    pointer to signed int
1445    signed int
1446  returning
1447    signed int
1448
1449success!
1450satisfying assertion 23 ?=?: pointer to function
1451  with parameters
1452    pointer to instance of type _0_U (not function type)
1453    instance of type _0_U (not function type)
1454  returning
1455    instance of type _0_U (not function type)
1456 with declaration 4 ?=?: function
1457  with parameters
1458    pointer to signed int
1459    signed int
1460  returning
1461    signed int
1462
1463recursing with new set:
1464?*?: pointer to function
1465          with parameters
1466            instance of type _1_T (not function type)
1467            instance of type _1_T (not function type)
1468          returning
1469            instance of type _1_T (not function type)
1470(used)?=?: pointer to function
1471          with parameters
1472            pointer to instance of type _1_T (not function type)
1473            instance of type _1_T (not function type)
1474          returning
1475            instance of type _1_T (not function type)
1476(used)inferRecursive: assertion is ?*?: pointer to function
1477  with parameters
1478    instance of type _1_T (not function type)
1479    instance of type _1_T (not function type)
1480  returning
1481    instance of type _1_T (not function type)
1482
1483inferRecursive: candidate is ?*?: function
1484  with parameters
1485    signed int
1486    signed int
1487  returning
1488    signed int
1489
1490unifying pointer to function
1491  with parameters
1492    instance of type _1_T (not function type)
1493    instance of type _1_T (not function type)
1494  returning
1495    instance of type _1_T (not function type)
1496 with pointer to function
1497  with parameters
1498    signed int
1499    signed int
1500  returning
1501    signed int
1502
1503success!
1504satisfying assertion 16 ?*?: pointer to function
1505  with parameters
1506    instance of type _1_T (not function type)
1507    instance of type _1_T (not function type)
1508  returning
1509    instance of type _1_T (not function type)
1510 with declaration 8 ?*?: function
1511  with parameters
1512    signed int
1513    signed int
1514  returning
1515    signed int
1516
1517inferRecursive: assertion is ?=?: pointer to function
1518  with parameters
1519    pointer to instance of type _1_T (not function type)
1520    instance of type _1_T (not function type)
1521  returning
1522    instance of type _1_T (not function type)
1523
1524inferRecursive: candidate is ?=?: function
1525  with parameters
1526    pointer to signed int
1527    signed int
1528  returning
1529    signed int
1530
1531unifying pointer to function
1532  with parameters
1533    pointer to instance of type _1_T (not function type)
1534    instance of type _1_T (not function type)
1535  returning
1536    instance of type _1_T (not function type)
1537 with pointer to function
1538  with parameters
1539    pointer to signed int
1540    signed int
1541  returning
1542    signed int
1543
1544success!
1545satisfying assertion 12 ?=?: pointer to function
1546  with parameters
1547    pointer to instance of type _1_T (not function type)
1548    instance of type _1_T (not function type)
1549  returning
1550    instance of type _1_T (not function type)
1551 with declaration 4 ?=?: function
1552  with parameters
1553    pointer to signed int
1554    signed int
1555  returning
1556    signed int
1557
1558actual expression:
1559constant expression 7 signed int --- results are
1560        signed int
1561
1562converting signed int
1563 to instance of type _0_U (not function type)
1564cost is( 0, 0, 0 )
1565
1566converting pointer to function
1567          with parameters
1568            pointer to signed int
1569            signed int
1570          returning
1571            signed int
1572
1573 to pointer to function
1574          with parameters
1575            pointer to instance of type _1_T (not function type)
1576            instance of type _1_T (not function type)
1577          returning
1578            instance of type _1_T (not function type)
1579
1580cost of conversion is ( 0, 0, 0 )
1581
1582converting pointer to function
1583          with parameters
1584            signed int
1585            signed int
1586          returning
1587            signed int
1588
1589 to pointer to function
1590          with parameters
1591            instance of type _1_T (not function type)
1592            instance of type _1_T (not function type)
1593          returning
1594            instance of type _1_T (not function type)
1595
1596cost of conversion is ( 0, 0, 0 )
1597
1598converting pointer to function
1599          with parameters
1600            pointer to signed int
1601            signed int
1602          returning
1603            signed int
1604
1605 to pointer to function
1606          with parameters
1607            pointer to instance of type _0_U (not function type)
1608            instance of type _0_U (not function type)
1609          returning
1610            instance of type _0_U (not function type)
1611
1612cost of conversion is ( 0, 0, 0 )
1613
1614converting pointer to forall
1615            _1_T: type
1616              with assertions
1617                ?=?: pointer to function
1618                    with parameters
1619                      pointer to instance of type _1_T (not function type)
1620                      instance of type _1_T (not function type)
1621                    returning
1622                      instance of type _1_T (not function type)
1623
1624                ?*?: pointer to function
1625                    with parameters
1626                      instance of type _1_T (not function type)
1627                      instance of type _1_T (not function type)
1628                    returning
1629                      instance of type _1_T (not function type)
1630
1631
1632          function
1633          with parameters
1634            t: instance of type _1_T (not function type)
1635          returning
1636            instance of type _1_T (not function type)
1637
1638 to pointer to function
1639          with parameters
1640            instance of type _0_U (not function type)
1641          returning
1642            instance of type _0_U (not function type)
1643
1644cost of conversion is ( 0, 0, 0 )
1645Case +++++++++++++
1646formals are:
1647        u: instance of type _0_U (not function type)
1648actuals are:
1649        constant expression 7 signed int
1650bindings are:
1651        ( _0_U _1_T ) -> signed int  (no widening)
1652cost of conversion is:( 0, 20, 0 )
1653alternatives before prune:
1654Cost ( 0, 20, 0 ): Application of
1655  Variable Expression: quad: forall
1656        U: type
1657          with assertions
1658            ?=?: pointer to function
1659                with parameters
1660                  pointer to instance of type U (not function type)
1661                  instance of type U (not function type)
1662                returning
1663                  instance of type U (not function type)
1664
1665            square: pointer to function
1666                with parameters
1667                  instance of type U (not function type)
1668                returning
1669                  instance of type U (not function type)
1670
1671
1672      function
1673      with parameters
1674        u: instance of type U (not function type)
1675      returning
1676        instance of type U (not function type)
1677
1678to arguments
1679  constant expression 7 signed int
1680with inferred parameters:
1681  ?=?: function
1682    with parameters
1683      pointer to signed int
1684      signed int
1685    returning
1686      signed int
1687
1688  ?*?: function
1689    with parameters
1690      signed int
1691      signed int
1692    returning
1693      signed int
1694
1695  ?=?: function
1696    with parameters
1697      pointer to signed int
1698      signed int
1699    returning
1700      signed int
1701
1702  square: forall
1703      T: type
1704        with assertions
1705          ?=?: pointer to function
1706              with parameters
1707                pointer to instance of type T (not function type)
1708                instance of type T (not function type)
1709              returning
1710                instance of type T (not function type)
1711
1712          ?*?: pointer to function
1713              with parameters
1714                instance of type T (not function type)
1715                instance of type T (not function type)
1716              returning
1717                instance of type T (not function type)
1718
1719
1720    function
1721    with parameters
1722      t: instance of type T (not function type)
1723    returning
1724      instance of type T (not function type)
1725
1726(types:
1727    instance of type _0_U (not function type)
1728)
1729Environment:   ( _0_U _1_T ) -> signed int  (no widening)
1730
1731
1732there are 1 alternatives before elimination
1733there are 1 alternatives after elimination
1734alternatives before prune:
1735Cost ( 0, 0, 1 ): Cast of:
1736  Application of
1737    Variable Expression: quad: forall
1738          U: type
1739            with assertions
1740              ?=?: pointer to function
1741                  with parameters
1742                    pointer to instance of type U (not function type)
1743                    instance of type U (not function type)
1744                  returning
1745                    instance of type U (not function type)
1746
1747              square: pointer to function
1748                  with parameters
1749                    instance of type U (not function type)
1750                  returning
1751                    instance of type U (not function type)
1752
1753
1754        function
1755        with parameters
1756          u: instance of type U (not function type)
1757        returning
1758          instance of type U (not function type)
1759
1760  to arguments
1761    constant expression 7 signed int
1762  with inferred parameters:
1763    ?=?: function
1764      with parameters
1765        pointer to signed int
1766        signed int
1767      returning
1768        signed int
1769
1770    ?*?: function
1771      with parameters
1772        signed int
1773        signed int
1774      returning
1775        signed int
1776
1777    ?=?: function
1778      with parameters
1779        pointer to signed int
1780        signed int
1781      returning
1782        signed int
1783
1784    square: forall
1785        T: type
1786          with assertions
1787            ?=?: pointer to function
1788                with parameters
1789                  pointer to instance of type T (not function type)
1790                  instance of type T (not function type)
1791                returning
1792                  instance of type T (not function type)
1793
1794            ?*?: pointer to function
1795                with parameters
1796                  instance of type T (not function type)
1797                  instance of type T (not function type)
1798                returning
1799                  instance of type T (not function type)
1800
1801
1802      function
1803      with parameters
1804        t: instance of type T (not function type)
1805      returning
1806        instance of type T (not function type)
1807
1808
1809to:
1810  nothing
1811(types:
1812)
1813Environment:   ( _0_U _1_T ) -> signed int  (no widening)
1814
1815
1816there are 1 alternatives before elimination
1817there are 1 alternatives after elimination
1818int ___operator_assign__Fi_Pii_(int *, int );
1819int ___operator_multiply__Fi_ii_(int , int );
1820void __square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(void (*_adapterF2tT_2tT2tT_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_multiply__PF2tT_2tT2tT_)(), void *_retparm, void *__t__2tT){
1821    _adapterF2tT_2tT2tT_(___operator_multiply__PF2tT_2tT2tT_, _retparm, __t__2tT, __t__2tT);
1822    return ;
1823}
1824void __quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(void (*_adapterF2tU_2tU_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__square__PF2tU_2tU_)(), void *_retparm, void *__u__2tU){
1825    void *_temp0;
1826    (_temp0=__builtin_alloca(U));
1827    _adapterF2tU_2tU_(__square__PF2tU_2tU_, _retparm, (_adapterF2tU_2tU_(__square__PF2tU_2tU_, _temp0, __u__2tU) , _temp0));
1828    return ;
1829}
1830void __f__F__(){
1831    int _thunk0(int _p0){
1832        int _temp1;
1833        void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
1834            ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
1835        }
1836        void _adapterFi_ii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
1837            ((*((int *)_ret))=((int (*)(int , int ))_adaptee)((*((int *)_p0)), (*((int *)_p1))));
1838        }
1839        return (__square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(_adapterFi_ii_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_multiply__Fi_ii_), (&_temp1), (&_p0)) , _temp1);
1840    }
1841    int _temp2;
1842    int _temp3;
1843    (_temp3=7);
1844    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
1845        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
1846    }
1847    void _adapterFi_i_(void (*_adaptee)(), void *_ret, void *_p0){
1848        ((*((int *)_ret))=((int (*)(int ))_adaptee)((*((int *)_p0))));
1849    }
1850    (__quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(_adapterFi_i_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())(&_thunk0)), (&_temp2), (&_temp3)) , _temp2);
1851}
Note: See TracBrowser for help on using the repository browser.