diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2016-12-22 12:43:29 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2016-12-23 11:40:38 +0100 |
commit | ab1d2122b29054e8682c21255fe25a2948b1ac2c (patch) | |
tree | ea0f74e4d3b0a60c4f2324a0efc67b294dc963af /libbindgen/src/codegen/mod.rs | |
parent | 44690e3a5c73f9df364d3548bf367a4198953eac (diff) |
ir: Be more resistent to failure when parsing enums.
Diffstat (limited to 'libbindgen/src/codegen/mod.rs')
-rw-r--r-- | libbindgen/src/codegen/mod.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libbindgen/src/codegen/mod.rs b/libbindgen/src/codegen/mod.rs index e9141b9c..6213a068 100644 --- a/libbindgen/src/codegen/mod.rs +++ b/libbindgen/src/codegen/mod.rs @@ -1562,7 +1562,11 @@ impl CodeGenerator for Enum { }; let signed = repr.is_signed(); - let size = layout.map(|l| l.size).unwrap_or(0); + let size = layout + .map(|l| l.size) + .or_else(|| repr.known_size()) + .unwrap_or(0); + let repr_name = match (signed, size) { (true, 1) => "i8", (false, 1) => "u8", |