annotate tests/mini/bug163_void_condexp.d @ 1002:c749648ed2b8

Fix cfloat return on x86_64: only perform ABI transformation for non-extern(D) functions. There's no need to waste cycles with extern(D), which we get to define ourselves. Fixes tests/mini/asm8.d. (Since the asm abiret code already assumed {xmm0, xmm1} returns)
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 26 Feb 2009 23:35:39 +0100
parents 7f6eeb7b003e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
887
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
1
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
2 static foocalled = false;
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
3 static barcalled = false;
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
4 void foo() { foocalled = true; }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
5 void bar() { barcalled = true; }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
6
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
7 void f(bool b)
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
8 {
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
9 return b ? foo() : bar();
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
10 }
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
11
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
12 void main()
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
13 {
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
14 f(true);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
15 assert(foocalled && !barcalled);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
16 f(false);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
17 assert(foocalled && barcalled);
7f6eeb7b003e Fix #163.
Christian Kamm <kamm incasoftware de>
parents:
diff changeset
18 }