blob: 7f12348260b8d4c410604239fcba517edc3c0279 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// Test whether extra proc-points are generated
// by a label after a call such as with a heap check,
// but where the return signature is different.
// The extra proc-point should be generated in this case.
foo1 () {
bits32 p, q;
bits32 x, y, z;
(p, q) = foreign "C--" bar(1, 2) "safe";
L:
if (Hp < HpLim) {
(p) = foreign "C--" do_gc() "safe";
goto L;
}
return (p+q+x+y+z);
}
|