 DELETE-C-LIBRARY: test
 C-LIBRARY: test
 
+C-INCLUDE: <stdlib.h>
+C-INCLUDE: <string.h>
+
+C-TYPEDEF: char bool
+
 CM-FUNCTION: void outarg1 ( int* a )
     *a += 2;
 ;
 
 CM-FUNCTION: unsigned-long* outarg2 ( unsigned-long a, unsigned-long* b )
-    unsigned long* x = (unsigned long*) malloc(sizeof(unsigned long));
+    unsigned long* x = malloc(sizeof(unsigned long*));
     *b = 10 + *b;
     *x = a + *b;
     return x;

    d->wedge.degrees = hours * 30;
;

;C-LIBRARY

{ 1 1 } [ outarg1 ] must-infer-as
[ 3 ] [ 1 outarg1 ] unit-test

{ 2 2 } [ outarg2 ] must-infer-as
[ 18 15 ] [ 3 5 outarg2 ] unit-test


{ 2 0 } [ change_time ] must-infer-as
[ 150.0 ] [ 5 <sundial> <wedge> 11 >>degrees >>wedge [ change_time ] keep wedge>> degrees>> ] unit-test

{ 1 1 } [ c_not ] must-infer-as
[ f ] [ "x" c_not ] unit-test
[ f ] [ 0 c_not ] unit-test

{ 1 1 } [ upcase ] must-infer-as
[ "ABC" ] [ "abc" upcase ] unit-test
