annotate tests/mini/nested6.d @ 486:a34078905d01

Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in. Reimplemented support for nested functions/class using a new approach. Added error on taking address of intrinsic. Fixed problems with the ->syntaxCopy of TypeFunction delegate exp. Removed DtoDType and replaced all uses with ->toBasetype() instead. Removed unused inplace stuff. Fixed a bunch of issues in the runtime unittests, not complete yet. Added mini tests.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 10 Aug 2008 08:37:38 +0200
parents 1bb99290e03a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
1 module nested6;
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*, ...);
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
3
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
4 void main()
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
5 {
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
6 int i = 42;
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
7
129
8096ba7082db [svn r133] Fixed some problems with inlining not happening :P
lindquist
parents: 128
diff changeset
8 printf("main() %d\n", i++);
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
9
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
10 class C
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
11 {
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
12 void func()
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
13 {
129
8096ba7082db [svn r133] Fixed some problems with inlining not happening :P
lindquist
parents: 128
diff changeset
14 printf("C.func() %d\n", i++);
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
15
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
16 class C2
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
17 {
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
18 void func2()
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
19 {
129
8096ba7082db [svn r133] Fixed some problems with inlining not happening :P
lindquist
parents: 128
diff changeset
20 printf("C2.func2() %d\n", i++);
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
21 }
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
22 }
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
23
486
a34078905d01 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
24 auto c2 = new C2;
a34078905d01 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
25 c2.func2();
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
26 }
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
27 }
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
28
486
a34078905d01 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
29 auto c = new C;
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
30 c.func();
486
a34078905d01 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
31
a34078905d01 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 341
diff changeset
32 assert(i == 45);
128
e5fe8521bbfa [svn r132] Added some tests. some will fail at the moment.
lindquist
parents:
diff changeset
33 }