view ir/irtype.h @ 361:932229a851a4 trunk

[svn r382] In CastExp, after the cast to CastExp.to force the type to be CastExp.type. This is used for c.im for instance, where the cast is to idouble but type is double.
author ChristianK
date Mon, 14 Jul 2008 19:17:25 +0200
parents 8ee2c46ff938
children eef8ac26c66c
line wrap: on
line source

#ifndef LLVMDC_IR_IRTYPE_H
#define LLVMDC_IR_IRTYPE_H

#include <set>

namespace llvm {
    class PATypeHolder;
}

struct IrType
{
    static std::set<IrType*> list;
    static void resetAll();

    // overload all of these to make sure
    // the static list is up to date
    IrType();
    IrType(const IrType& s);
    ~IrType();

    void reset();

    llvm::PATypeHolder* type;
    llvm::PATypeHolder* vtblType;
};

#endif