1
Fork 0

Reorder unwinding related builder methods to differentiate between dwarf and msvc instructions

This commit is contained in:
bjorn3 2022-01-24 13:45:34 +01:00
parent ef119d704d
commit 19dd2ecc2d
3 changed files with 15 additions and 11 deletions

View file

@ -421,6 +421,9 @@ pub trait BuilderMethods<'a, 'tcx>:
fn extract_value(&mut self, agg_val: Self::Value, idx: u64) -> Self::Value;
fn insert_value(&mut self, agg_val: Self::Value, elt: Self::Value, idx: u64) -> Self::Value;
fn set_personality_fn(&mut self, personality: Self::Value);
// These are used by everyone except msvc
fn landing_pad(
&mut self,
ty: Self::Type,
@ -429,6 +432,8 @@ pub trait BuilderMethods<'a, 'tcx>:
) -> Self::Value;
fn set_cleanup(&mut self, landing_pad: Self::Value);
fn resume(&mut self, exn: Self::Value) -> Self::Value;
// These are used only by msvc
fn cleanup_pad(&mut self, parent: Option<Self::Value>, args: &[Self::Value]) -> Self::Funclet;
fn cleanup_ret(
&mut self,
@ -443,7 +448,6 @@ pub trait BuilderMethods<'a, 'tcx>:
num_handlers: usize,
) -> Self::Value;
fn add_handler(&mut self, catch_switch: Self::Value, handler: Self::BasicBlock);
fn set_personality_fn(&mut self, personality: Self::Value);
fn atomic_cmpxchg(
&mut self,