Mercurial > projects > ldc
comparison ir/irtype.cpp @ 193:aca17e55b7a5 trunk
[svn r209] Fixed: exotic array to pointer casts were broken.
Changed: classes now have opaque vtables.
author | lindquist |
---|---|
date | Mon, 12 May 2008 18:44:11 +0200 |
parents | 16e676ae5ab4 |
children | 340acf1535d0 |
comparison
equal
deleted
inserted
replaced
192:67ed21bf16af | 193:aca17e55b7a5 |
---|---|
19 | 19 |
20 IrType::IrType(const IrType& s) | 20 IrType::IrType(const IrType& s) |
21 { | 21 { |
22 assert(list.insert(this).second); | 22 assert(list.insert(this).second); |
23 type = s.type; | 23 type = s.type; |
24 #if OPAQUE_VTBLS | |
24 vtblType = s.type; | 25 vtblType = s.type; |
26 #endif | |
25 } | 27 } |
26 | 28 |
27 IrType::~IrType() | 29 IrType::~IrType() |
28 { | 30 { |
29 list.erase(this); | 31 list.erase(this); |
30 } | 32 } |
31 | 33 |
32 void IrType::reset() | 34 void IrType::reset() |
33 { | 35 { |
34 type = NULL; | 36 type = NULL; |
37 #if OPAQUE_VTBLS | |
35 vtblType = NULL; | 38 vtblType = NULL; |
39 #endif | |
36 } | 40 } |