source: src/Tests/Expect-a/Forall.txt @ 7bcf74e

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 7bcf74e 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: 15.3 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          with parameters
40            void
41          returning
42            void
43
44      pointer to function
45          with parameters
46            void
47          returning
48            void
49
50    returning
51      pointer to function
52          with parameters
53            void
54          returning
55            void
56
57
58g1: function
59      accepting unspecified arguments
60    returning
61      void
62    with body
63      CompoundStmt
64        Declaration of f: forall
65              T: type
66                with assertions
67                  ?=?: function
68                      with parameters
69                        pointer to instance of type T (not function type)
70                        instance of type T (not function type)
71                      returning
72                        instance of type T (not function type)
73
74
75            function
76            with parameters
77              instance of type T (not function type)
78            returning
79              instance of type T (not function type)
80
81        Declaration of f: function
82            with parameters
83              signed int
84            returning
85              void
86
87        Declaration of h: function
88            with parameters
89              p: pointer to function
90                  with parameters
91                    void
92                  returning
93                    void
94
95            returning
96              void
97
98        Declaration of x: signed int
99        Declaration of y: pointer to function
100            with parameters
101              void
102            returning
103              void
104
105        Declaration of z: char
106        Declaration of w: float
107                  Expression Statement:
108            Applying untyped:
109                Name: f
110            ...to:
111                Name: x
112
113                  Expression Statement:
114            Applying untyped:
115                Name: f
116            ...to:
117                Name: y
118
119                  Expression Statement:
120            Applying untyped:
121                Name: f
122            ...to:
123                Name: z
124
125                  Expression Statement:
126            Applying untyped:
127                Name: f
128            ...to:
129                Name: w
130
131                  Expression Statement:
132            Applying untyped:
133                Name: h
134            ...to:
135                Applying untyped:
136                    Name: f
137                ...to:
138                    Name: y
139
140
141g2: function
142      accepting unspecified arguments
143    returning
144      void
145    with body
146      CompoundStmt
147        Declaration of f: forall
148              T: type
149                with assertions
150                  ?=?: function
151                      with parameters
152                        pointer to instance of type T (not function type)
153                        instance of type T (not function type)
154                      returning
155                        instance of type T (not function type)
156
157
158            function
159            with parameters
160              instance of type T (not function type)
161              instance of type T (not function type)
162            returning
163              void
164
165        Declaration of f: forall
166              T: type
167                with assertions
168                  ?=?: function
169                      with parameters
170                        pointer to instance of type T (not function type)
171                        instance of type T (not function type)
172                      returning
173                        instance of type T (not function type)
174
175
176              U: type
177                with assertions
178                  ?=?: function
179                      with parameters
180                        pointer to instance of type U (not function type)
181                        instance of type U (not function type)
182                      returning
183                        instance of type U (not function type)
184
185
186            function
187            with parameters
188              instance of type T (not function type)
189              instance of type U (not function type)
190            returning
191              void
192
193        Declaration of x: signed int
194        Declaration of y: float
195        Declaration of z: pointer to signed int
196        Declaration of w: pointer to float
197                  Expression Statement:
198            Applying untyped:
199                Name: f
200            ...to:
201                Name: x
202                Name: y
203
204                  Expression Statement:
205            Applying untyped:
206                Name: f
207            ...to:
208                Name: z
209                Name: w
210
211                  Expression Statement:
212            Applying untyped:
213                Name: f
214            ...to:
215                Name: x
216                Name: z
217
218
219f: typedef for pointer to forall
220      T: type
221        with assertions
222          ?=?: function
223              with parameters
224                pointer to instance of type T (not function type)
225                instance of type T (not function type)
226              returning
227                instance of type T (not function type)
228
229
230    function
231    with parameters
232      signed int
233    returning
234      signed int
235
236swap: forall
237      T: type
238        with assertions
239          ?=?: function
240              with parameters
241                pointer to instance of type T (not function type)
242                instance of type T (not function type)
243              returning
244                instance of type T (not function type)
245
246
247    function
248    with parameters
249      left: instance of type T (not function type)
250      right: instance of type T (not function type)
251    returning
252      void
253    with body
254      CompoundStmt
255        Declaration of temp: instance of type T (not function type) with initializer
256          Simple Initializer:             Name: left
257
258                  Expression Statement:
259            Applying untyped:
260                Name: ?=?
261            ...to:
262                Address of:
263                  Name: left
264                Name: right
265
266                  Expression Statement:
267            Applying untyped:
268                Name: ?=?
269            ...to:
270                Address of:
271                  Name: right
272                Name: temp
273
274
275context sumable
276    with parameters
277      T: type
278
279    with members
280      0: const instance of type T (not function type)
281      ?+?: function
282          with parameters
283            instance of type T (not function type)
284            instance of type T (not function type)
285          returning
286            instance of type T (not function type)
287
288      ?++: function
289          with parameters
290            instance of type T (not function type)
291          returning
292            instance of type T (not function type)
293
294      ?+=?: function
295          with parameters
296            instance of type T (not function type)
297            instance of type T (not function type)
298          returning
299            instance of type T (not function type)
300
301
302T1: type
303  with assertions
304    0: const instance of type T1 (not function type)
305    ?+?: function
306        with parameters
307          instance of type T1 (not function type)
308          instance of type T1 (not function type)
309        returning
310          instance of type T1 (not function type)
311
312    ?++: function
313        with parameters
314          instance of type T1 (not function type)
315        returning
316          instance of type T1 (not function type)
317
318    ?+=?: function
319        with parameters
320          instance of type T1 (not function type)
321          instance of type T1 (not function type)
322        returning
323          instance of type T1 (not function type)
324
325
326T2: type
327  with parameters
328    P1: type
329    P2: type
330
331T3: type
332  with assertions
333    instance of context sumable
334      with parameters
335        instance of type T3 (not function type)
336
337
338struct __anonymous0
339    with members
340      i: instance of type P1 (not function type)
341      j: instance of type P2 (not function type)
342
343T2: type for instance of struct __anonymous0
344  with parameters
345    P1: type
346    P2: type
347
348  with assertions
349    instance of context sumable
350      with parameters
351        instance of type T2 (not function type)
352          with parameters
353            instance of type P1 (not function type)
354            instance of type P2 (not function type)
355
356
357
358w1: instance of type T2 (not function type)
359  with parameters
360    signed int
361    signed int
362
363w2: typedef for instance of type T2 (not function type)
364  with parameters
365    signed int
366    signed int
367
368g2: instance of type w2 (not function type)
369w3: type for instance of type T2 (not function type)
370  with parameters
371    signed int
372    signed int
373
374g3: instance of type w3 (not function type)
375sum: forall
376      T: type
377        with assertions
378          ?=?: function
379              with parameters
380                pointer to instance of type T (not function type)
381                instance of type T (not function type)
382              returning
383                instance of type T (not function type)
384
385          instance of context sumable
386            with parameters
387              instance of type T (not function type)
388
389
390    function
391    with parameters
392      n: signed int
393      a: open array of instance of type T (not function type)
394    returning
395      instance of type T (not function type)
396    with body
397      CompoundStmt
398        Declaration of total: instance of type T (not function type) with initializer
399          Simple Initializer:             Name: 0
400
401        Declaration of i: signed int
402                  Labels: {}
403          For Statement
404            initialization:
405              Expression Statement:
406                Applying untyped:
407                    Name: ?=?
408                ...to:
409                    Address of:
410                      Name: i
411                    Name: 0
412
413            condition:
414              Cast of:
415                Applying untyped:
416                    Name: ?!=?
417                ...to:
418                    Applying untyped:
419                        Name: ?<?
420                    ...to:
421                        Name: i
422                        Name: n
423                    Name: 0
424
425              to:
426                signed int
427
428            increment:
429              Applying untyped:
430                  Name: ?+=?
431              ...to:
432                  Address of:
433                    Name: i
434                  Name: 1
435
436            statement block:
437              Expression Statement:
438                Applying untyped:
439                    Name: ?=?
440                ...to:
441                    Address of:
442                      Name: total
443                    Applying untyped:
444                        Name: ?+?
445                    ...to:
446                        Name: total
447                        Applying untyped:
448                            Name: ?[?]
449                        ...to:
450                            Name: a
451                            Name: i
452
453
454                  Return Statement, returning: Name: total
455
456
457
458twice: forall
459      T: type
460        with assertions
461          ?=?: function
462              with parameters
463                pointer to instance of type T (not function type)
464                instance of type T (not function type)
465              returning
466                instance of type T (not function type)
467
468          0: const instance of type T (not function type)
469          ?+?: function
470              with parameters
471                instance of type T (not function type)
472                instance of type T (not function type)
473              returning
474                instance of type T (not function type)
475
476          ?++: function
477              with parameters
478                instance of type T (not function type)
479              returning
480                instance of type T (not function type)
481
482          ?+=?: function
483              with parameters
484                instance of type T (not function type)
485                instance of type T (not function type)
486              returning
487                instance of type T (not function type)
488
489
490    function
491    with parameters
492      t: instance of type T (not function type)
493    returning
494      instance of type T (not function type)
495    with body
496      CompoundStmt
497                  Return Statement, returning: Applying untyped:
498    Name: ?+?
499...to:
500    Name: t
501    Name: t
502
503
504
505min: forall
506      T: type
507        with assertions
508          ?=?: function
509              with parameters
510                pointer to instance of type T (not function type)
511                instance of type T (not function type)
512              returning
513                instance of type T (not function type)
514
515          0: const instance of type T (not function type)
516          ?!=?: function
517              with parameters
518                instance of type T (not function type)
519                instance of type T (not function type)
520              returning
521                signed int
522
523          ?<?: function
524              with parameters
525                instance of type T (not function type)
526                instance of type T (not function type)
527              returning
528                signed int
529
530
531    function
532    with parameters
533      t1: instance of type T (not function type)
534      t2: instance of type T (not function type)
535    returning
536      instance of type T (not function type)
537    with body
538      CompoundStmt
539                  Return Statement, returning: Conditional expression on:
540  Cast of:
541    Applying untyped:
542        Name: ?!=?
543    ...to:
544        Applying untyped:
545            Name: ?<?
546        ...to:
547            Name: t1
548            Name: t2
549        Name: 0
550
551  to:
552    signed int
553First alternative:
554  Name: t1
555Second alternative:
556  Name: t2
557
558
559
560
561main: C function
562      accepting unspecified arguments
563    returning
564      signed int
565    with body
566      CompoundStmt
567        Declaration of x: signed int with initializer
568          Simple Initializer:             Name: 1
569
570        Declaration of y: signed int with initializer
571          Simple Initializer: constant expression 2 signed int
572        Declaration of a: array of signed int with dimension of constant expression 10 signed int
573        Declaration of f: float
574                  Expression Statement:
575            Applying untyped:
576                Name: swap
577            ...to:
578                Name: x
579                Name: y
580
581                  Expression Statement:
582            Applying untyped:
583                Name: twice
584            ...to:
585                Name: x
586
587                  Expression Statement:
588            Applying untyped:
589                Name: ?=?
590            ...to:
591                Address of:
592                  Name: f
593                Applying untyped:
594                    Name: min
595                ...to:
596constant expression 4.0 double constant expression 3.0 double
597                  Expression Statement:
598            Applying untyped:
599                Name: sum
600            ...to:
601constant expression 10 signed int                 Name: a
602
603
Note: See TracBrowser for help on using the repository browser.