Skip to content

Commit

Permalink
Rollup merge of rust-lang#40254 - nagisa:compiler-builtin-no-panic, r…
Browse files Browse the repository at this point in the history
…=alexcrichton

Fix personality_fn within the compiler_builtins

compiler_builtins may not have any unwinding within it to link correctly. This is notoriously
finicky, and this small piece of change removes yet another case where personality function
happens to get introduced.

Side note: I do remember solving the exact same thing before. I wonder why it has reappered...

@cuviper, could you please try building beta with this patch applied? It should apply cleanly. If it works, I’ll nominate to land this into beta.

Fixes(?) rust-lang#40251
  • Loading branch information
Ariel Ben-Yehuda committed Mar 8, 2017
2 parents 2c252ff + 8f581cc commit 1e53624
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/libcompiler_builtins/lib.rs
Expand Up @@ -402,15 +402,16 @@ pub mod reimpls {
}

trait AbsExt: Sized {
fn uabs(self) -> u128 {
self.iabs() as u128
}
fn uabs(self) -> u128;
fn iabs(self) -> i128;
}

impl AbsExt for i128 {
fn uabs(self) -> u128 {
self.iabs() as u128
}
fn iabs(self) -> i128 {
let s = self >> 127;
let s = self.wrapping_shr(127);
((self ^ s).wrapping_sub(s))
}
}
Expand Down

0 comments on commit 1e53624

Please sign in to comment.