summaryrefslogtreecommitdiff
path: root/libbindgen/src
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2017-01-14 15:37:13 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2017-01-15 16:17:51 +0100
commit01cb681c17003cea2af9d7e641f9b97ded4bfcc5 (patch)
treeea37d453cb0ec9f0a868682e8b2d1e55bb092a80 /libbindgen/src
parentb570ce853e33bfcfa05dd339bf432377c4a2fab8 (diff)
ir: Trace types across vars.
Diffstat (limited to 'libbindgen/src')
-rw-r--r--libbindgen/src/ir/comp.rs4
-rw-r--r--libbindgen/src/ir/item.rs3
2 files changed, 7 insertions, 0 deletions
diff --git a/libbindgen/src/ir/comp.rs b/libbindgen/src/ir/comp.rs
index 70dfd4a6..6dfa1ece 100644
--- a/libbindgen/src/ir/comp.rs
+++ b/libbindgen/src/ir/comp.rs
@@ -971,6 +971,10 @@ impl TypeCollector for CompInfo {
types.insert(ty);
}
+ for &var in self.inner_vars() {
+ types.insert(var);
+ }
+
// FIXME(emilio): Methods, VTable?
}
}
diff --git a/libbindgen/src/ir/item.rs b/libbindgen/src/ir/item.rs
index 3810bc2f..df8fd222 100644
--- a/libbindgen/src/ir/item.rs
+++ b/libbindgen/src/ir/item.rs
@@ -202,6 +202,9 @@ impl TypeCollector for Item {
// be opaque, so we trace across it.
types.insert(fun.signature());
}
+ ItemKind::Var(ref var) => {
+ types.insert(var.ty());
+ }
_ => {} // FIXME.
}
}