Mercurial > projects > ldc
annotate test/bug44.d @ 100:5071469303d4 trunk
[svn r104] TONS OF FIXES.
Split up declaration, constant initializer gen and definition for globals, structs, classes and functions.
Improved ClassInfo support (not complete), not in vtable yet.
Fixed a bunch of forward reference problems.
Much more. Major commit! :)
author | lindquist |
---|---|
date | Fri, 16 Nov 2007 08:21:47 +0100 |
parents | 875617f89c51 |
children |
rev | line source |
---|---|
79
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
1 module bug44; |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
2 |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
3 pragma(LLVM_internal, "notypeinfo") |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
4 struct rgb |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
5 { |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
6 long l; |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
7 } |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
8 |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
9 void foo() |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
10 { |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
11 } |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
12 |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
13 rgb test() { |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
14 scope(exit) foo(); |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
15 return rgb(); |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
16 } |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
17 |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
18 void main() |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
19 { |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
20 rgb r = test(); |
875617f89c51
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
lindquist
parents:
diff
changeset
|
21 } |