Mercurial > projects > ldc
comparison ir/irtypeclass.cpp @ 1253:752bed475b75
Fixed classinfo.interfaces for .. interfaces!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Tue, 21 Apr 2009 20:19:53 +0200 |
parents | 465a77c904d4 |
children | bbe6d2b87842 |
comparison
equal
deleted
inserted
replaced
1252:7c1b55db4ff3 | 1253:752bed475b75 |
---|---|
140 defaultTypes.reserve(32); | 140 defaultTypes.reserve(32); |
141 | 141 |
142 // add vtbl | 142 // add vtbl |
143 defaultTypes.push_back(llvm::PointerType::get(vtbl_pa.get(), 0)); | 143 defaultTypes.push_back(llvm::PointerType::get(vtbl_pa.get(), 0)); |
144 | 144 |
145 // interface are just a vtable | 145 // interfaces are just a vtable |
146 if (!cd->isInterfaceDeclaration()) | 146 if (cd->isInterfaceDeclaration()) |
147 { | |
148 num_interface_vtbls = cd->vtblInterfaces ? cd->vtblInterfaces->dim : 0; | |
149 } | |
150 // classes have monitor and fields | |
151 else | |
147 { | 152 { |
148 // add monitor | 153 // add monitor |
149 defaultTypes.push_back(llvm::PointerType::get(llvm::Type::Int8Ty, 0)); | 154 defaultTypes.push_back(llvm::PointerType::get(llvm::Type::Int8Ty, 0)); |
150 | 155 |
151 // we start right after the vtbl and monitor | 156 // we start right after the vtbl and monitor |