Mercurial > projects > ldc
comparison gen/irstate.h @ 1478:4dca8ed9d8b7
Fix #318 by making a list of all seen template instances in a module for
singleobj compilation and then making sure they get emitted in their entirety.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 06 Jun 2009 09:47:32 +0200 |
parents | 3f5ea912149d |
children | e1e93343fc11 |
comparison
equal
deleted
inserted
replaced
1477:6023f65a3aee | 1478:4dca8ed9d8b7 |
---|---|
156 // static ctors/dtors/unittests | 156 // static ctors/dtors/unittests |
157 typedef std::vector<FuncDeclaration*> FuncDeclVector; | 157 typedef std::vector<FuncDeclaration*> FuncDeclVector; |
158 FuncDeclVector ctors; | 158 FuncDeclVector ctors; |
159 FuncDeclVector dtors; | 159 FuncDeclVector dtors; |
160 FuncDeclVector unitTests; | 160 FuncDeclVector unitTests; |
161 | |
162 // all template instances that had members emitted | |
163 // currently only filled for singleobj | |
164 // used to make sure the complete template instance gets emitted in the | |
165 // first file that touches a member, see #318 | |
166 typedef std::set<TemplateInstance*> TemplateInstanceSet; | |
167 TemplateInstanceSet seenTemplateInstances; | |
161 | 168 |
162 // for inline asm | 169 // for inline asm |
163 IRAsmBlock* asmBlock; | 170 IRAsmBlock* asmBlock; |
164 std::ostringstream nakedAsm; | 171 std::ostringstream nakedAsm; |
165 | 172 |