kamm@664: #ifndef LDC_IR_IRTYPE_H kamm@664: #define LDC_IR_IRTYPE_H ChristianK@158: ChristianK@173: #include ChristianK@158: ChristianK@158: namespace llvm { ChristianK@158: class PATypeHolder; ChristianK@158: } ChristianK@158: ChristianK@158: struct IrType ChristianK@158: { ChristianK@173: static std::set list; ChristianK@173: static void resetAll(); ChristianK@173: ChristianK@173: // overload all of these to make sure ChristianK@173: // the static list is up to date ChristianK@173: IrType(); ChristianK@173: IrType(const IrType& s); ChristianK@173: ~IrType(); ChristianK@173: ChristianK@173: void reset(); ChristianK@173: ChristianK@158: llvm::PATypeHolder* type; ChristianK@158: llvm::PATypeHolder* vtblType; ChristianK@158: }; ChristianK@158: ChristianK@158: #endif