3 data $dfmt = { b "double: %g\n", b 0 }
5 type :hfa3 = { s, s, s }
8 function $f(:hfa3 %h1, :hfa3 %h2, d %d1, :hfa3 %h3, d %d2) {
9 # the first three parameters should be in 7 registers
10 # the last two should be on the stack
13 call $phfa3(:hfa3 %h1)
14 call $phfa3(:hfa3 %h2)
15 call $phfa3(:hfa3 %h3)
16 call $printf(l $dfmt, ..., d %d1)
17 call $printf(l $dfmt, ..., d %d2)
23 # typedef struct { float f1, f2, f3; } hfa3;
24 # void f(hfa3, hfa3, double, hfa3, double);
25 # void phfa3(hfa3 h) { printf("{ %g, %g, %g }\n", h.f1, h.f2, h.f3); }
27 # hfa3 h1={1,2,3}, h2={2,3,4}, h3={3,4,5};
28 # f(h1, h2, 1, h3, 2);