Mercurial > projects > ldc
annotate test/nested7.d @ 323:0d52412d5b1a trunk
[svn r344] Fixed some very minor issues with the usage listing when calling llvmdc with no arguments.
Changed the way moduleinfo is registered to use the same approach as DMD, this eliminates the need for correct linking order and should make the way for using a natively compiled runtime library. This should speed up linking tremendously and should now be possible.
Fixed the llvm.used array to only be emitted if really necessary.
author | lindquist |
---|---|
date | Wed, 09 Jul 2008 23:43:51 +0200 |
parents | d9d5d59873d8 |
children |
rev | line source |
---|---|
129
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
1 module nested7; |
270
d9d5d59873d8
[svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
lindquist
parents:
129
diff
changeset
|
2 extern(C) int printf(char*, ...); |
129
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
3 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
4 void main() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
5 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
6 int i; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
7 i = 52; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
8 printf("i = %d\n", i); |
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 void func() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
11 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
12 i++; |
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 void func2() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
15 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
16 i++; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
17 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
18 void func3() |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
19 { |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
20 i++; |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
21 } |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
22 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
23 func3(); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
24 } |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
25 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
26 func2(); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
27 } |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
28 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
29 func(); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
30 |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
31 printf("i = %d\n", i); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
32 assert(i == 55); |
8096ba7082db
[svn r133] Fixed some problems with inlining not happening :P
lindquist
parents:
diff
changeset
|
33 } |