view ir/irtype.cpp @ 373:d1574e142e93 trunk

[svn r394] Fixed the new DtoNullValue function
author lindquist
date Tue, 15 Jul 2008 15:16:56 +0200
parents aca17e55b7a5
children 340acf1535d0
line wrap: on
line source

#include "gen/llvm.h"
#include "ir/ir.h"
#include "ir/irtype.h"

std::set<IrType*> IrType::list;

void IrType::resetAll()
{
    std::set<IrType*>::iterator it;
    for(it = list.begin(); it != list.end(); ++it)
        (*it)->reset();
}

IrType::IrType()
{
    assert(list.insert(this).second);
    reset();
}

IrType::IrType(const IrType& s)
{
    assert(list.insert(this).second);
    type = s.type;
#if OPAQUE_VTBLS
    vtblType = s.type;
#endif
}

IrType::~IrType()
{
    list.erase(this);
}

void IrType::reset()
{
    type = NULL;
#if OPAQUE_VTBLS
    vtblType = NULL;
#endif
}