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 }