source: tests/poly-o-cycle.cfa @ fcd0b9d7

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since fcd0b9d7 was afe2939, checked in by Andrew Beach <ajbeach@…>, 4 years ago

Removed #include <stdio.h> from tests that only use printf.

  • Property mode set to 100644
File size: 454 bytes
Line 
1// Check that a cycle of polymorphic otype structures can be instancated.
2
3forall(otype T)
4struct func_table;
5
6forall(otype U)
7struct object {
8        func_table(U) * virtual_table;
9};
10
11forall(otype T)
12struct func_table {
13        void (*object_func)(object(T) *);
14};
15
16void func(object(int) *) {
17        printf("Success!\n");
18}
19
20func_table(int) an_instance = { func };
21
22int main(int argc, char * argv[]) {
23        object(int) x = { 0p };
24        an_instance.object_func( &x );
25        return 0;
26}
Note: See TracBrowser for help on using the repository browser.