source: translator/examples/quad.c @ 3c70d38

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 3c70d38 was a0d9f94, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

add compiler flag to driver, update examples, fix unnamed bit fields

  • Property mode set to 100644
File size: 389 bytes
RevLine 
[a0d9f94]1// "./cfa quad.c"
2// "./cfa -CFA quad.c > quad_out.c"
3// "gcc31 -g quad_out.c LibCfa/libcfa.a"
4
5extern "C" {
6#include <stdio.h>
7}
8
9forall( type T | { T ?*?( T, T ); } )
10T square( T t ) {
11    return t * t;
12}
13
14forall( type U | { U square( U ); } )
15U quad( U u ) {
16    return square( square( u ) );
17}
18
19int main() {
20    int N = 2;
21    printf( "result of quad of %d is %d\n", N, quad( N ) );
22}
Note: See TracBrowser for help on using the repository browser.