Mercurial > projects > ldc
annotate tests/mini/bug73.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 | 1bb99290e03a |
children |
rev | line source |
---|---|
108
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
1 int find(char[] s, dchar c) |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
2 { |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
3 // c is a universal character |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
4 foreach (int i, dchar c2; s) |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
5 { |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
6 if (c == c2) |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
7 return i; |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
8 } |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
9 return -1; |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
10 } |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
11 |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
12 void main() |
288fe1029e1f
[svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents:
diff
changeset
|
13 { |
129
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
14 char[] hello = "hello world"; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
15 int i = find(hello, 'w'); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
16 assert(i == 6); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
17 i = find(hello, 'z'); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
18 assert(i == -1); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
108
diff
changeset
|
19 } |