view ir/irtype.h @ 275:665b81613475 trunk

[svn r296] Removed: the 'suite' dir, it never took off! Fixed: foreach statement, key-type checks were buggy. Fixed: setting LLVMDC versions on the command line is now an error. Fixed: array compare runtime had incorrect param attrs on call. Fixed: index expressions on dynamic array slices w/o storage was broken. Fixed: scope classes had incorrect finalization in some cases. Fixed: when outputting !ClassInfoS !OffsetTypeInfoS, static class members were trying to be included, crashing the compiler. Fixed: calling LLVMDC with -inline but not any -O option caused assertion failure. Changed: the runtime now uses a single interface to "get" to !TypeInfoS, part of eliminating duplicate !TypeInfo codegen.
author lindquist
date Thu, 19 Jun 2008 17:30:32 +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