Mercurial > projects > ldc
diff 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 |
line wrap: on
line diff
--- a/gen/irstate.h Fri Jun 05 02:54:34 2009 +0200 +++ b/gen/irstate.h Sat Jun 06 09:47:32 2009 +0200 @@ -158,6 +158,13 @@ FuncDeclVector ctors; FuncDeclVector dtors; FuncDeclVector unitTests; + + // all template instances that had members emitted + // currently only filled for singleobj + // used to make sure the complete template instance gets emitted in the + // first file that touches a member, see #318 + typedef std::set<TemplateInstance*> TemplateInstanceSet; + TemplateInstanceSet seenTemplateInstances; // for inline asm IRAsmBlock* asmBlock;