blob: 4bd2d574a8f281eccbd1af518cf6dd6e7e0e4f50 (
plain) (
blame)
1
2
3
4
5
6
7
8
|
// expect: 3.000000/0.500000/3.000000/0.500000/
// spec 3.5 and appendix b.2.5: ?: with an int side and a float side gives a float on both paths, also in o3
include rt;
fn pf(float f) { asm { f @ #1220 } rt.put_c(10); return 0; }
float pick(int k, int i, float f) { return k ? i : f; }
o3 float pick3(int k, int i, float f) { return k ? i : f; }
fn main() { pf(pick(1, 3, 0.5)); pf(pick(0, 3, 0.5)); pf(pick3(1, 3, 0.5)); pf(pick3(0, 3, 0.5)); return 0; }
// zc0: skip
|