Mercurial > projects > ldc
comparison ir/irdtype.cpp @ 1247:2a92c115461d
Disabled resetting types between modules MAO (more at once). Fixes guaranteed MOA compilation segfault.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Fri, 17 Apr 2009 17:16:55 +0200 |
parents | a6dbd571d417 |
children |
comparison
equal
deleted
inserted
replaced
1246:6ef97d65ca60 | 1247:2a92c115461d |
---|---|
1 #include "gen/llvm.h" | 1 #include "gen/llvm.h" |
2 #include "ir/ir.h" | 2 #include "ir/ir.h" |
3 #include "ir/irdtype.h" | 3 #include "ir/irdtype.h" |
4 | 4 |
5 std::set<IrDType*> IrDType::list; | |
6 | |
7 void IrDType::resetAll() | |
8 { | |
9 std::set<IrDType*>::iterator it; | |
10 for(it = list.begin(); it != list.end(); ++it) | |
11 (*it)->reset(); | |
12 } | |
13 | |
14 IrDType::IrDType() | 5 IrDType::IrDType() |
15 { | |
16 assert(list.insert(this).second); | |
17 reset(); | |
18 } | |
19 | |
20 IrDType::IrDType(const IrDType& s) | |
21 { | |
22 assert(list.insert(this).second); | |
23 type = s.type; | |
24 } | |
25 | |
26 IrDType::~IrDType() | |
27 { | |
28 list.erase(this); | |
29 } | |
30 | |
31 void IrDType::reset() | |
32 { | 6 { |
33 type = NULL; | 7 type = NULL; |
34 } | 8 } |