view ir/irtype.h @ 305:2b72433d5c8c trunk

[svn r326] Fixed a bunch of issues with printf's that MinGW32 did not support. Fixed problems with label collisions when using labels inside inline asm. LabelStatement is now easily reached given its Identifier, which should be useful elsewhere too. Enabled inline asm for building the lib/compiler/llvmdc runtime code, fixing branches out of asm makes this possible.
author lindquist
date Fri, 27 Jun 2008 22:04:35 +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