Mercurial > projects > ldc
diff ir/irdtype.cpp @ 1184:a6dbd571d417
Moved ir/irtype.* into ir/irdtype.*.
Renamed IrType to IrDType, analogous to IrDSymbol.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Tue, 31 Mar 2009 20:21:28 +0200 |
parents | ir/irtype.cpp@340acf1535d0 |
children | 2a92c115461d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ir/irdtype.cpp Tue Mar 31 20:21:28 2009 +0200 @@ -0,0 +1,34 @@ +#include "gen/llvm.h" +#include "ir/ir.h" +#include "ir/irdtype.h" + +std::set<IrDType*> IrDType::list; + +void IrDType::resetAll() +{ + std::set<IrDType*>::iterator it; + for(it = list.begin(); it != list.end(); ++it) + (*it)->reset(); +} + +IrDType::IrDType() +{ + assert(list.insert(this).second); + reset(); +} + +IrDType::IrDType(const IrDType& s) +{ + assert(list.insert(this).second); + type = s.type; +} + +IrDType::~IrDType() +{ + list.erase(this); +} + +void IrDType::reset() +{ + type = NULL; +}