aboutsummaryrefslogtreecommitdiff
path: root/src/comp
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-05-02 12:05:21 -0700
committerPatrick Walton <[email protected]>2011-05-02 12:05:21 -0700
commit870435caf55fe167862865bfe4196230ab7c1c6b (patch)
tree18cc995a03f2e59175e91db1177120e2f9271154 /src/comp
parentrustc: Disable frame pointer omission (diff)
downloadrust-870435caf55fe167862865bfe4196230ab7c1c6b.tar.xz
rust-870435caf55fe167862865bfe4196230ab7c1c6b.zip
rustc: Add a "fat tydesc" LLVM type to trans
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/trans.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 93cc0b49..fa88f79a 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -417,6 +417,12 @@ fn T_tydesc(type_names tn) -> TypeRef {
ret t;
}
+// A "fat tydesc" is a type descriptor plus an array of extra type descriptors
+// following it.
+fn T_fat_tydesc(type_names tn, uint n_subdescs) -> TypeRef {
+ ret T_struct(vec(T_tydesc(tn), T_array(T_tydesc(tn), n_subdescs)));
+}
+
fn T_array(TypeRef t, uint n) -> TypeRef {
ret llvm.LLVMArrayType(t, n);
}