Upgrade to rustc 1.20.0-nightly (696412de7 2017-07-06)

This commit is contained in:
Simon Sapin 2017-07-07 15:28:22 +02:00
parent eec51cdd57
commit 665e9203a1
3 changed files with 13 additions and 10 deletions

View file

@ -3,11 +3,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// For SIMD
#![feature(cfg_target_feature)]
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(heap_api))]
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(alloc))]
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(alloc, allocator_api))]
#![feature(box_syntax)]
#![feature(cfg_target_feature)]
#![feature(range_contains)]
#![feature(unique)]

View file

@ -2,7 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use alloc::heap;
use alloc::allocator::{Alloc, Layout};
use alloc::heap::Heap;
use freetype::freetype::FT_Add_Default_Modules;
use freetype::freetype::FT_Done_Library;
use freetype::freetype::FT_Library;
@ -26,7 +27,8 @@ const FT_ALIGNMENT: usize = 1;
extern fn ft_alloc(mem: FT_Memory, req_size: c_long) -> *mut c_void {
unsafe {
let ptr = heap::allocate(req_size as usize, FT_ALIGNMENT) as *mut c_void;
let layout = Layout::from_size_align(req_size as usize, FT_ALIGNMENT).unwrap();
let ptr = Heap.alloc(layout).unwrap() as *mut c_void;
let actual_size = heap_size_of(ptr as *const _);
let user = (*mem).user as *mut User;
@ -43,7 +45,8 @@ extern fn ft_free(mem: FT_Memory, ptr: *mut c_void) {
let user = (*mem).user as *mut User;
(*user).size -= actual_size;
heap::deallocate(ptr as *mut u8, actual_size, FT_ALIGNMENT);
let layout = Layout::from_size_align(actual_size, FT_ALIGNMENT).unwrap();
Heap.dealloc(ptr as *mut u8, layout);
}
}
@ -51,8 +54,10 @@ extern fn ft_realloc(mem: FT_Memory, _cur_size: c_long, new_req_size: c_long,
old_ptr: *mut c_void) -> *mut c_void {
unsafe {
let old_actual_size = heap_size_of(old_ptr as *const _);
let new_ptr = heap::reallocate(old_ptr as *mut u8, old_actual_size,
new_req_size as usize, FT_ALIGNMENT) as *mut c_void;
let old_layout = Layout::from_size_align(old_actual_size, FT_ALIGNMENT).unwrap();
let new_layout = Layout::from_size_align(new_req_size as usize, FT_ALIGNMENT).unwrap();
let result = Heap.realloc(old_ptr as *mut u8, old_layout, new_layout);
let new_ptr = result.unwrap() as *mut c_void;
let new_actual_size = heap_size_of(new_ptr as *const _);
let user = (*mem).user as *mut User;

View file

@ -1 +1 @@
3bfc18a9619a5151ff4f11618db9cd882996ba6f
696412de7e4e119f8536686c643621115b90c775