Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libpanic_unwind => 2018 #58110

Merged
merged 3 commits into from Feb 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions src/libpanic_unwind/Cargo.toml
Expand Up @@ -2,6 +2,7 @@
authors = ["The Rust Project Developers"]
name = "panic_unwind"
version = "0.0.0"
edition = "2018"

[lib]
path = "lib.rs"
Expand Down
6 changes: 3 additions & 3 deletions src/libpanic_unwind/dwarf/eh.rs
Expand Up @@ -11,7 +11,7 @@
#![allow(non_upper_case_globals)]
#![allow(unused)]

use dwarf::DwarfReader;
use crate::dwarf::DwarfReader;
use core::mem;

pub const DW_EH_PE_omit: u8 = 0xFF;
Expand Down Expand Up @@ -51,7 +51,7 @@ pub enum EHAction {

pub const USING_SJLJ_EXCEPTIONS: bool = cfg!(all(target_os = "ios", target_arch = "arm"));

pub unsafe fn find_eh_action(lsda: *const u8, context: &EHContext)
pub unsafe fn find_eh_action(lsda: *const u8, context: &EHContext<'_>)
-> Result<EHAction, ()>
{
if lsda.is_null() {
Expand Down Expand Up @@ -145,7 +145,7 @@ fn round_up(unrounded: usize, align: usize) -> Result<usize, ()> {
}

unsafe fn read_encoded_pointer(reader: &mut DwarfReader,
context: &EHContext,
context: &EHContext<'_>,
encoding: u8)
-> Result<usize, ()> {
if encoding == DW_EH_PE_omit {
Expand Down
2 changes: 1 addition & 1 deletion src/libpanic_unwind/emcc.rs
Expand Up @@ -10,10 +10,10 @@

use core::any::Any;
use core::ptr;
use core::mem;
use alloc::boxed::Box;
use libc::{self, c_int};
use unwind as uw;
use core::mem;

pub fn payload() -> *mut u8 {
ptr::null_mut()
Expand Down
2 changes: 1 addition & 1 deletion src/libpanic_unwind/gcc.rs
Expand Up @@ -52,7 +52,7 @@ use alloc::boxed::Box;

use unwind as uw;
use libc::{c_int, uintptr_t};
use dwarf::eh::{self, EHContext, EHAction};
use crate::dwarf::eh::{self, EHContext, EHAction};

#[repr(C)]
struct Exception {
Expand Down
9 changes: 3 additions & 6 deletions src/libpanic_unwind/lib.rs
Expand Up @@ -17,6 +17,8 @@
#![doc(html_root_url = "https://doc.rust-lang.org/nightly/",
issue_tracker_base_url = "https://github.com/rust-lang/rust/issues/")]

#![deny(rust_2018_idioms)]

#![feature(allocator_api)]
#![feature(alloc)]
#![feature(core_intrinsics)]
Expand All @@ -32,11 +34,6 @@
#![panic_runtime]
#![feature(panic_runtime)]

extern crate alloc;
extern crate libc;
#[cfg(not(any(target_env = "msvc", all(windows, target_arch = "x86_64", target_env = "gnu"))))]
extern crate unwind;

use alloc::boxed::Box;
use core::intrinsics;
use core::mem;
Expand Down Expand Up @@ -87,7 +84,7 @@ pub unsafe extern "C" fn __rust_maybe_catch_panic(f: fn(*mut u8),
vtable_ptr: *mut usize)
-> u32 {
let mut payload = imp::payload();
if intrinsics::try(f, data, &mut payload as *mut _ as *mut _) == 0 {
if intrinsics::r#try(f, data, &mut payload as *mut _ as *mut _) == 0 {
0
} else {
let obj = mem::transmute::<_, raw::TraitObject>(imp::cleanup(payload));
Expand Down
4 changes: 2 additions & 2 deletions src/libpanic_unwind/seh.rs
Expand Up @@ -52,7 +52,7 @@ use core::any::Any;
use core::mem;
use core::raw;

use windows as c;
use crate::windows as c;
use libc::{c_int, c_uint};

// First up, a whole bunch of type definitions. There's a few platform-specific
Expand Down Expand Up @@ -301,5 +301,5 @@ pub unsafe fn cleanup(payload: [u64; 2]) -> Box<dyn Any + Send> {
#[lang = "eh_personality"]
#[cfg(not(test))]
fn rust_eh_personality() {
unsafe { ::core::intrinsics::abort() }
unsafe { core::intrinsics::abort() }
}
4 changes: 2 additions & 2 deletions src/libpanic_unwind/seh64_gnu.rs
Expand Up @@ -9,8 +9,8 @@ use alloc::boxed::Box;
use core::any::Any;
use core::intrinsics;
use core::ptr;
use dwarf::eh::{EHContext, EHAction, find_eh_action};
use windows as c;
use crate::dwarf::eh::{EHContext, EHAction, find_eh_action};
use crate::windows as c;

// Define our exception codes:
// according to http://msdn.microsoft.com/en-us/library/het71c37(v=VS.80).aspx,
Expand Down
5 changes: 2 additions & 3 deletions src/librustc_typeck/check/method/suggest.rs
Expand Up @@ -752,12 +752,11 @@ fn compute_all_traits<'a, 'gcx, 'tcx>(tcx: TyCtxt<'a, 'gcx, 'tcx>) -> Vec<DefId>
traits: &mut Vec<DefId>,
external_mods: &mut FxHashSet<DefId>,
def: Def) {
let def_id = def.def_id();
match def {
Def::Trait(..) => {
Def::Trait(def_id) => {
traits.push(def_id);
}
Def::Mod(..) => {
Def::Mod(def_id) => {
if !external_mods.insert(def_id) {
return;
}
Expand Down
8 changes: 5 additions & 3 deletions src/librustdoc/visit_lib.rs
Expand Up @@ -60,9 +60,11 @@ impl<'a, 'tcx, 'rcx> LibEmbargoVisitor<'a, 'tcx, 'rcx> {
}

for item in self.cx.tcx.item_children(def_id).iter() {
if self.cx.tcx.def_key(item.def.def_id()).parent.map_or(false, |d| d == def_id.index) ||
item.vis == Visibility::Public {
self.visit_item(item.def);
if let Some(def_id) = item.def.opt_def_id() {
Centril marked this conversation as resolved.
Show resolved Hide resolved
if self.cx.tcx.def_key(def_id).parent.map_or(false, |d| d == def_id.index) ||
item.vis == Visibility::Public {
self.visit_item(item.def);
}
}
}
}
Expand Down