Mercurial > projects > ldc
annotate test/nested10.d @ 339:385a18242485 trunk
[svn r360] Another mostly rewrite of DtoArrayInit. Should be much more robust now, and probably faster code generated for the most common cases too!
Fixed issues with slice initialization (!!!) of multidimensional static arrays.
Attempt to fix issue with referencing nested 'this' pointers introduced in DMD 1.033 merge.
author | lindquist |
---|---|
date | Sun, 13 Jul 2008 01:29:49 +0200 |
parents | 25fa34e899e9 |
children |
rev | line source |
---|---|
129
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
1 module nested10; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
2 |
273 | 3 extern(C) int printf(char*, ...); |
4 | |
129
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
5 void main() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
6 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
7 int j = 3; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
8 void F() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
9 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
10 int i = j; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
11 printf("F: i = %d, j = %d\n", i, j); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
12 void G() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
13 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
14 printf("G: i = %d, j = %d\n", i, j); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
15 j += i; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
16 } |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
17 G(); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
18 } |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
19 F(); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
20 printf("6 = %d\n", j); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
21 assert(j == 6); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
22 } |