Mercurial > projects > ldc
annotate tests/mini/bug73.d @ 797:340acf1535d0
Removed KDevelop3 project files, CMake can generate them just fine!
Fixed function literals in static initializers.
Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE.
Changed errors to go to stderr instead of stdout.
Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sat, 29 Nov 2008 21:25:43 +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 } |