diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-11-14 11:49:08 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-14 11:49:08 -0600 |
commit | b7259deb35aae61d7d21875e3b3da55e3f4391cc (patch) | |
tree | deb4de2b4964315e2ec62080a6a22d36208e56ae /src/codegen/mod.rs | |
parent | b2081ebf345bee86ad516cbb9c5710580a40cd49 (diff) | |
parent | 37c05b71299ec00bd2679c3df22fb6ca0cd0e371 (diff) |
Auto merge of #245 - emilio:min, r=fitzgen
codegen: Special-case i64::MIN since it produces a overflow on aster.
Proper fix on aster soon, still worth to get this in I guess.
r? @fitzgen
Diffstat (limited to 'src/codegen/mod.rs')
-rwxr-xr-x | src/codegen/mod.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs index b4c2f3f7..a0b26ead 100755 --- a/src/codegen/mod.rs +++ b/src/codegen/mod.rs @@ -101,7 +101,8 @@ impl CodegenResult { /// counter internally so the next time we ask for the overload for this /// name, we get the incremented value, and so on. fn overload_number(&mut self, name: &str) -> u32 { - let mut counter = self.overload_counters.entry(name.into()).or_insert(0); + let mut counter = + self.overload_counters.entry(name.into()).or_insert(0); let number = *counter; *counter += 1; number @@ -313,7 +314,7 @@ impl CodeGenerator for Var { .pub_() .const_(canonical_name) .expr() - .int(val) + .build(helpers::ast_ty::int_expr(val)) .build(ty); result.push(const_item) } else { @@ -1285,7 +1286,7 @@ impl<'a> EnumBuilder<'a> { let variant_name = ctx.rust_mangle(variant.name()); let expr = aster::AstBuilder::new().expr(); let expr = match variant.val() { - EnumVariantValue::Signed(v) => expr.int(v), + EnumVariantValue::Signed(v) => helpers::ast_ty::int_expr(v), EnumVariantValue::Unsigned(v) => expr.uint(v), }; |