Fix rebase fallout

This commit includes manual merge conflict resolution changes from a rebase by @est31.
This commit is contained in:
Simonas Kazlauskas 2016-09-27 19:06:44 +03:00 committed by est31
parent bfa53cfb76
commit 7a3704c500
13 changed files with 28 additions and 13 deletions

View File

@ -9,4 +9,3 @@ crate-type = ["dylib"]
[dependencies]
syntax = { path = "../libsyntax" }
rustc_i128 = { path = "../librustc_i128" }

View File

@ -350,6 +350,7 @@ impl Integer {
I16 => Size::from_bytes(2),
I32 => Size::from_bytes(4),
I64 => Size::from_bytes(8),
I128 => Size::from_bytes(16),
}
}
@ -360,6 +361,7 @@ impl Integer {
I16 => dl.i16_align,
I32 => dl.i32_align,
I64 => dl.i64_align,
I128 => dl.i128_align,
}
}
@ -371,11 +373,13 @@ impl Integer {
(I16, false) => tcx.types.u16,
(I32, false) => tcx.types.u32,
(I64, false) => tcx.types.u64,
(I128, false) => tcx.types.u128,
(I1, true) => tcx.types.i8,
(I8, true) => tcx.types.i8,
(I16, true) => tcx.types.i16,
(I32, true) => tcx.types.i32,
(I64, true) => tcx.types.i64,
(I128, true) => tcx.types.i128,
}
}

View File

@ -44,7 +44,7 @@ use syntax::ast::{self, NodeId};
use syntax::codemap;
use syntax_pos::{self, Span, BytePos, Pos, DUMMY_SP};
use syntax_pos::{self, Span, BytePos, Pos};
use rustc_i128::u128;
use rustc_i128::{u128, i128};
pub struct DecodeContext<'a, 'tcx: 'a> {
opaque: opaque::Decoder<'a>,

View File

@ -43,6 +43,8 @@ use rustc::hir::itemlikevisit::ItemLikeVisitor;
use rustc::hir::intravisit::{Visitor, NestedVisitorMap};
use rustc::hir::intravisit;
use rustc_i128::{u128, i128};
use super::index_builder::{FromId, IndexBuilder, Untracked};
pub struct EncodeContext<'a, 'tcx: 'a> {
@ -75,12 +77,14 @@ impl<'a, 'tcx> Encoder for EncodeContext<'a, 'tcx> {
encoder_methods! {
emit_usize(usize);
emit_u128(u128);
emit_u64(u64);
emit_u32(u32);
emit_u16(u16);
emit_u8(u8);
emit_isize(isize);
emit_i128(i128);
emit_i64(i64);
emit_i32(i32);
emit_i16(i16);
@ -259,7 +263,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
let data = VariantData {
ctor_kind: variant.ctor_kind,
disr: variant.disr_val.to_u64_unchecked(),
disr: variant.disr_val.to_u128_unchecked(),
struct_ctor: None,
};
@ -386,7 +390,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
let data = VariantData {
ctor_kind: variant.ctor_kind,
disr: variant.disr_val.to_u64_unchecked(),
disr: variant.disr_val.to_u128_unchecked(),
struct_ctor: Some(def_id.index),
};
@ -648,7 +652,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
};
EntryKind::Struct(self.lazy(&VariantData {
ctor_kind: variant.ctor_kind,
disr: variant.disr_val.to_u64_unchecked(),
disr: variant.disr_val.to_u128_unchecked(),
struct_ctor: struct_ctor,
}))
}
@ -657,7 +661,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
EntryKind::Union(self.lazy(&VariantData {
ctor_kind: variant.ctor_kind,
disr: variant.disr_val.to_u64_unchecked(),
disr: variant.disr_val.to_u128_unchecked(),
struct_ctor: None,
}))
}

View File

@ -51,9 +51,6 @@ mod diagnostics;
pub use rustc::middle;
#[macro_use]
mod macros;
mod astencode;
mod index_builder;
mod index;

View File

@ -27,6 +27,8 @@ use syntax_pos::{self, Span};
use std::marker::PhantomData;
use rustc_i128::u128;
pub fn rustc_version() -> String {
format!("rustc {}",
option_env!("CFG_VERSION").unwrap_or("unknown version"))
@ -264,7 +266,7 @@ pub struct FnData {
#[derive(RustcEncodable, RustcDecodable)]
pub struct VariantData {
pub ctor_kind: CtorKind,
pub disr: u64,
pub disr: u128,
/// If this is a struct's only variant, this
/// is the index of the "struct ctor" item.

View File

@ -2313,8 +2313,8 @@ impl<'a> Resolver<'a> {
let prim = self.primitive_type_table.primitive_types[&path[0].name];
match prim {
TyUint(UintTy::U128) | TyInt(IntTy::I128) => {
if !this.session.features.borrow().i128_type {
emit_feature_err(&this.session.parse_sess.span_diagnostic,
if !self.session.features.borrow().i128_type {
emit_feature_err(&self.session.parse_sess,
"i128_type", span, GateIssue::Language,
"128-bit type is unstable");

View File

@ -313,6 +313,7 @@ impl Type {
I16 => Type::i16(cx),
I32 => Type::i32(cx),
I64 => Type::i64(cx),
I128 => Type::i128(cx),
}
}

View File

@ -1332,7 +1332,7 @@ pub fn check_enum_variants<'a,'tcx>(ccx: &CrateCtxt<'a,'tcx>,
let repr_type_ty = ccx.tcx.enum_repr_type(Some(&hint)).to_ty(ccx.tcx);
if repr_type_ty == ccx.tcx.types.i128 || repr_type_ty == ccx.tcx.types.u128 {
if !ccx.tcx.sess.features.borrow().i128_type {
emit_feature_err(&ccx.tcx.sess.parse_sess.span_diagnostic,
emit_feature_err(&ccx.tcx.sess.parse_sess,
"i128_type", sp, GateIssue::Language, "128-bit type is unstable");
}
}

View File

@ -788,6 +788,7 @@ fn find_repr_type_name(diagnostic: &Handler, type_attrs: &[ast::Attribute]) -> &
attr::ReprInt(attr::UnsignedInt(ast::UintTy::U8)) => "u8",
attr::ReprInt(attr::UnsignedInt(ast::UintTy::U16)) => "u16",
attr::ReprInt(attr::UnsignedInt(ast::UintTy::U32)) => "u32",
attr::ReprInt(attr::UnsignedInt(ast::UintTy::U64)) => "u64",
attr::ReprInt(attr::UnsignedInt(ast::UintTy::U128)) => "u128",
}
}

View File

@ -1456,6 +1456,7 @@ extern "C" LLVMRustLinkage LLVMRustGetLinkage(LLVMValueRef V) {
extern "C" void LLVMRustSetLinkage(LLVMValueRef V, LLVMRustLinkage RustLinkage) {
LLVMSetLinkage(V, from_rust(RustLinkage));
}
// Returns true if both high and low were successfully set. Fails in case constant wasnt any of
// the common sizes (1, 8, 16, 32, 64, 128 bits)

View File

@ -7,6 +7,9 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-stage0
// ignore-stage1
#![feature(i128_type)]
fn main() {

View File

@ -7,6 +7,9 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-stage0
// ignore-stage1
#![feature(i128_type)]
fn main() {