source: src/Tests/Expect-v/Forall.txt @ d67a9a1

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 d67a9a1 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: 19.7 KB
Line 
1?=?: function
2    with parameters
3      pointer to signed int
4      signed int
5    returning
6      signed int
7
8?=?: function
9    with parameters
10      pointer to float
11      float
12    returning
13      float
14
15?=?: function
16    with parameters
17      pointer to pointer to signed int
18      pointer to signed int
19    returning
20      pointer to signed int
21
22?=?: function
23    with parameters
24      pointer to pointer to float
25      pointer to float
26    returning
27      pointer to float
28
29?=?: function
30    with parameters
31      pointer to char
32      char
33    returning
34      char
35
36?=?: function
37    with parameters
38      pointer to pointer to function
39          returning
40            nothing
41
42      pointer to function
43          returning
44            nothing
45
46    returning
47      pointer to function
48          returning
49            nothing
50
51
52g1: function
53      accepting unspecified arguments
54    returning
55      nothing
56    with body
57      CompoundStmt
58        Declaration of f: forall
59              T: type
60                with assertions
61                  ?=?: pointer to function
62                      with parameters
63                        pointer to instance of type T (not function type)
64                        instance of type T (not function type)
65                      returning
66                        instance of type T (not function type)
67
68
69            function
70            with parameters
71              instance of type T (not function type)
72            returning
73              instance of type T (not function type)
74
75        Declaration of f: function
76            with parameters
77              signed int
78            returning
79              nothing
80
81        Declaration of h: function
82            with parameters
83              p: pointer to function
84                  returning
85                    nothing
86
87            returning
88              nothing
89
90        Declaration of x: signed int
91        Declaration of y: pointer to function
92            returning
93              nothing
94
95        Declaration of z: char
96        Declaration of w: float
97                  Expression Statement:
98            Applying untyped:
99                Name: f
100            ...to:
101                Name: x
102
103                  Expression Statement:
104            Applying untyped:
105                Name: f
106            ...to:
107                Name: y
108
109                  Expression Statement:
110            Applying untyped:
111                Name: f
112            ...to:
113                Name: z
114
115                  Expression Statement:
116            Applying untyped:
117                Name: f
118            ...to:
119                Name: w
120
121                  Expression Statement:
122            Applying untyped:
123                Name: h
124            ...to:
125                Applying untyped:
126                    Name: f
127                ...to:
128                    Name: y
129
130
131g2: function
132      accepting unspecified arguments
133    returning
134      nothing
135    with body
136      CompoundStmt
137        Declaration of f: forall
138              T: type
139                with assertions
140                  ?=?: pointer to function
141                      with parameters
142                        pointer to 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            function
149            with parameters
150              instance of type T (not function type)
151              instance of type T (not function type)
152            returning
153              nothing
154
155        Declaration of f: forall
156              T: type
157                with assertions
158                  ?=?: pointer to function
159                      with parameters
160                        pointer to instance of type T (not function type)
161                        instance of type T (not function type)
162                      returning
163                        instance of type T (not function type)
164
165
166              U: type
167                with assertions
168                  ?=?: pointer to function
169                      with parameters
170                        pointer to instance of type U (not function type)
171                        instance of type U (not function type)
172                      returning
173                        instance of type U (not function type)
174
175
176            function
177            with parameters
178              instance of type T (not function type)
179              instance of type U (not function type)
180            returning
181              nothing
182
183        Declaration of x: signed int
184        Declaration of y: float
185        Declaration of z: pointer to signed int
186        Declaration of w: pointer to float
187                  Expression Statement:
188            Applying untyped:
189                Name: f
190            ...to:
191                Name: x
192                Name: y
193
194                  Expression Statement:
195            Applying untyped:
196                Name: f
197            ...to:
198                Name: z
199                Name: w
200
201                  Expression Statement:
202            Applying untyped:
203                Name: f
204            ...to:
205                Name: x
206                Name: z
207
208
209swap: forall
210      T: type
211        with assertions
212          ?=?: pointer to function
213              with parameters
214                pointer to instance of type T (not function type)
215                instance of type T (not function type)
216              returning
217                instance of type T (not function type)
218
219
220    function
221    with parameters
222      left: instance of type T (not function type)
223      right: instance of type T (not function type)
224    returning
225      nothing
226    with body
227      CompoundStmt
228        Declaration of temp: instance of type T (not function type) with initializer
229          Simple Initializer:             Name: left
230
231                  Expression Statement:
232            Applying untyped:
233                Name: ?=?
234            ...to:
235                Address of:
236                  Name: temp
237                Name: left
238
239                  Expression Statement:
240            Applying untyped:
241                Name: ?=?
242            ...to:
243                Address of:
244                  Name: left
245                Name: right
246
247                  Expression Statement:
248            Applying untyped:
249                Name: ?=?
250            ...to:
251                Address of:
252                  Name: right
253                Name: temp
254
255
256context sumable
257    with parameters
258      T: type
259
260    with members
261      0: const instance of type T (not function type)
262      ?+?: function
263          with parameters
264            instance of type T (not function type)
265            instance of type T (not function type)
266          returning
267            instance of type T (not function type)
268
269      ?++: function
270          with parameters
271            instance of type T (not function type)
272          returning
273            instance of type T (not function type)
274
275      ?+=?: function
276          with parameters
277            instance of type T (not function type)
278            instance of type T (not function type)
279          returning
280            instance of type T (not function type)
281
282
283T1: type
284  with assertions
285    0: const instance of type T1 (not function type)
286    ?+?: function
287        with parameters
288          instance of type T1 (not function type)
289          instance of type T1 (not function type)
290        returning
291          instance of type T1 (not function type)
292
293    ?++: function
294        with parameters
295          instance of type T1 (not function type)
296        returning
297          instance of type T1 (not function type)
298
299    ?+=?: function
300        with parameters
301          instance of type T1 (not function type)
302          instance of type T1 (not function type)
303        returning
304          instance of type T1 (not function type)
305
306
307?=?: automatically generated function
308    with parameters
309      _dst: pointer to instance of type T1 (not function type)
310      _src: instance of type T1 (not function type)
311    returning
312      instance of type T1 (not function type)
313
314T2: type
315  with parameters
316    P1: type
317    P2: type
318
319?=?: automatically generated function
320    with parameters
321      _dst: pointer to instance of type T2 (not function type)
322      _src: instance of type T2 (not function type)
323    returning
324      instance of type T2 (not function type)
325
326T3: type
327  with assertions
328    instance of context sumable
329      with parameters
330        instance of type T3 (not function type)
331
332
333?=?: automatically generated function
334    with parameters
335      _dst: pointer to instance of type T3 (not function type)
336      _src: instance of type T3 (not function type)
337    returning
338      instance of type T3 (not function type)
339
340struct __anonymous0
341    with members
342      i: instance of type P1 (not function type)
343      j: instance of type P2 (not function type)
344
345?=?: automatically generated inline static function
346    with parameters
347      _dst: pointer to instance of struct __anonymous0
348      _src: instance of struct __anonymous0
349    returning
350      instance of struct __anonymous0
351    with body
352      CompoundStmt
353                  Expression Statement:
354            Applying untyped:
355                Name: ?=?
356            ...to:
357                Address of:
358                  Member Expression, with field:
359                    i: instance of type P1 (not function type)
360                  from aggregate:
361                    Applying untyped:
362                        Name: *?
363                    ...to:
364                        Variable Expression: _dst: pointer to instance of struct __anonymous0
365                Member Expression, with field:
366                  i: instance of type P1 (not function type)
367                from aggregate:
368                  Variable Expression: _src: instance of struct __anonymous0
369
370                  Expression Statement:
371            Applying untyped:
372                Name: ?=?
373            ...to:
374                Address of:
375                  Member Expression, with field:
376                    j: instance of type P2 (not function type)
377                  from aggregate:
378                    Applying untyped:
379                        Name: *?
380                    ...to:
381                        Variable Expression: _dst: pointer to instance of struct __anonymous0
382                Member Expression, with field:
383                  j: instance of type P2 (not function type)
384                from aggregate:
385                  Variable Expression: _src: instance of struct __anonymous0
386
387                  Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0
388
389
390
391T2: type for instance of struct __anonymous0
392  with parameters
393    P1: type
394    P2: type
395
396  with assertions
397    instance of context sumable
398      with parameters
399        instance of type T2 (not function type)
400          with parameters
401            instance of type P1 (not function type)
402            instance of type P2 (not function type)
403
404
405
406?=?: automatically generated function
407    with parameters
408      _dst: pointer to instance of type T2 (not function type)
409      _src: instance of type T2 (not function type)
410    returning
411      instance of type T2 (not function type)
412    with body
413      CompoundStmt
414                  Return Statement, returning: Applying untyped:
415    Name: ?=?
416...to:
417    Cast of:
418      Variable Expression: _dst: pointer to instance of type T2 (not function type)
419
420    to:
421      pointer to instance of struct __anonymous0
422    Cast of:
423      Variable Expression: _src: instance of type T2 (not function type)
424
425    to:
426      instance of struct __anonymous0
427
428
429
430w1: instance of type T2 (not function type)
431  with parameters
432    signed int
433    signed int
434
435g2: instance of type T2 (not function type)
436  with parameters
437    signed int
438    signed int
439
440w3: type for instance of type T2 (not function type)
441  with parameters
442    signed int
443    signed int
444
445?=?: automatically generated function
446    with parameters
447      _dst: pointer to instance of type w3 (not function type)
448      _src: instance of type w3 (not function type)
449    returning
450      instance of type w3 (not function type)
451    with body
452      CompoundStmt
453                  Return Statement, returning: Applying untyped:
454    Name: ?=?
455...to:
456    Cast of:
457      Variable Expression: _dst: pointer to instance of type w3 (not function type)
458
459    to:
460      pointer to instance of type T2 (not function type)
461        with parameters
462          signed int
463          signed int
464
465    Cast of:
466      Variable Expression: _src: instance of type w3 (not function type)
467
468    to:
469      instance of type T2 (not function type)
470        with parameters
471          signed int
472          signed int
473
474
475
476
477g3: instance of type w3 (not function type)
478sum: forall
479      T: type
480        with assertions
481          ?=?: pointer to function
482              with parameters
483                pointer to instance of type T (not function type)
484                instance of type T (not function type)
485              returning
486                instance of type T (not function type)
487
488          0: const instance of type T (not function type)
489          ?+?: pointer to function
490              with parameters
491                instance of type T (not function type)
492                instance of type T (not function type)
493              returning
494                instance of type T (not function type)
495
496          ?++: pointer to function
497              with parameters
498                instance of type T (not function type)
499              returning
500                instance of type T (not function type)
501
502          ?+=?: pointer to function
503              with parameters
504                instance of type T (not function type)
505                instance of type T (not function type)
506              returning
507                instance of type T (not function type)
508
509
510    function
511    with parameters
512      n: signed int
513      a: pointer to instance of type T (not function type)
514    returning
515      instance of type T (not function type)
516    with body
517      CompoundStmt
518        Declaration of total: instance of type T (not function type) with initializer
519          Simple Initializer:             Name: 0
520
521                  Expression Statement:
522            Applying untyped:
523                Name: ?=?
524            ...to:
525                Address of:
526                  Name: total
527                Name: 0
528
529        Declaration of i: signed int
530                  Labels: {}
531          For Statement
532            initialization:
533              Expression Statement:
534                Applying untyped:
535                    Name: ?=?
536                ...to:
537                    Address of:
538                      Name: i
539                    Name: 0
540
541            condition:
542              Cast of:
543                Applying untyped:
544                    Name: ?!=?
545                ...to:
546                    Applying untyped:
547                        Name: ?<?
548                    ...to:
549                        Name: i
550                        Name: n
551                    Name: 0
552
553              to:
554                signed int
555
556            increment:
557              Applying untyped:
558                  Name: ?+=?
559              ...to:
560                  Address of:
561                    Name: i
562                  Name: 1
563
564            statement block:
565              Expression Statement:
566                Applying untyped:
567                    Name: ?=?
568                ...to:
569                    Address of:
570                      Name: total
571                    Applying untyped:
572                        Name: ?+?
573                    ...to:
574                        Name: total
575                        Applying untyped:
576                            Name: ?[?]
577                        ...to:
578                            Name: a
579                            Name: i
580
581
582                  Return Statement, returning: Name: total
583
584
585
586twice: forall
587      T: type
588        with assertions
589          ?=?: pointer to function
590              with parameters
591                pointer to instance of type T (not function type)
592                instance of type T (not function type)
593              returning
594                instance of type T (not function type)
595
596          0: const instance of type T (not function type)
597          ?+?: pointer to function
598              with parameters
599                instance of type T (not function type)
600                instance of type T (not function type)
601              returning
602                instance of type T (not function type)
603
604          ?++: pointer to function
605              with parameters
606                instance of type T (not function type)
607              returning
608                instance of type T (not function type)
609
610          ?+=?: pointer to function
611              with parameters
612                instance of type T (not function type)
613                instance of type T (not function type)
614              returning
615                instance of type T (not function type)
616
617
618    function
619    with parameters
620      t: instance of type T (not function type)
621    returning
622      instance of type T (not function type)
623    with body
624      CompoundStmt
625                  Return Statement, returning: Applying untyped:
626    Name: ?+?
627...to:
628    Name: t
629    Name: t
630
631
632
633min: forall
634      T: type
635        with assertions
636          ?=?: pointer to function
637              with parameters
638                pointer to instance of type T (not function type)
639                instance of type T (not function type)
640              returning
641                instance of type T (not function type)
642
643          0: const instance of type T (not function type)
644          ?!=?: pointer to function
645              with parameters
646                instance of type T (not function type)
647                instance of type T (not function type)
648              returning
649                signed int
650
651          ?<?: pointer to function
652              with parameters
653                instance of type T (not function type)
654                instance of type T (not function type)
655              returning
656                signed int
657
658
659    function
660    with parameters
661      t1: instance of type T (not function type)
662      t2: instance of type T (not function type)
663    returning
664      instance of type T (not function type)
665    with body
666      CompoundStmt
667                  Return Statement, returning: Conditional expression on:
668  Cast of:
669    Applying untyped:
670        Name: ?!=?
671    ...to:
672        Applying untyped:
673            Name: ?<?
674        ...to:
675            Name: t1
676            Name: t2
677        Name: 0
678
679  to:
680    signed int
681First alternative:
682  Name: t1
683Second alternative:
684  Name: t2
685
686
687
688
689main: C function
690      accepting unspecified arguments
691    returning
692      signed int
693    with body
694      CompoundStmt
695        Declaration of x: signed int with initializer
696          Simple Initializer:             Name: 1
697
698        Declaration of y: signed int with initializer
699          Simple Initializer: constant expression 2 signed int
700        Declaration of a: array of signed int with dimension of constant expression 10 signed int
701        Declaration of f: float
702                  Expression Statement:
703            Applying untyped:
704                Name: swap
705            ...to:
706                Name: x
707                Name: y
708
709                  Expression Statement:
710            Applying untyped:
711                Name: twice
712            ...to:
713                Name: x
714
715                  Expression Statement:
716            Applying untyped:
717                Name: ?=?
718            ...to:
719                Address of:
720                  Name: f
721                Applying untyped:
722                    Name: min
723                ...to:
724constant expression 4.0 double constant expression 3.0 double
725                  Expression Statement:
726            Applying untyped:
727                Name: sum
728            ...to:
729constant expression 10 signed int                 Name: a
730
731
Note: See TracBrowser for help on using the repository browser.