Fix binding mode problems
This commit is contained in:
parent
e1819a889a
commit
3d5438accd
67 changed files with 154 additions and 181 deletions
|
@ -329,19 +329,19 @@ impl TargetDataLayout {
|
|||
[p] if p.starts_with('P') => {
|
||||
dl.instruction_address_space = parse_address_space(&p[1..], "P")?
|
||||
}
|
||||
["a", ref a @ ..] => dl.aggregate_align = parse_align(a, "a")?,
|
||||
["f16", ref a @ ..] => dl.f16_align = parse_align(a, "f16")?,
|
||||
["f32", ref a @ ..] => dl.f32_align = parse_align(a, "f32")?,
|
||||
["f64", ref a @ ..] => dl.f64_align = parse_align(a, "f64")?,
|
||||
["f128", ref a @ ..] => dl.f128_align = parse_align(a, "f128")?,
|
||||
["a", a @ ..] => dl.aggregate_align = parse_align(a, "a")?,
|
||||
["f16", a @ ..] => dl.f16_align = parse_align(a, "f16")?,
|
||||
["f32", a @ ..] => dl.f32_align = parse_align(a, "f32")?,
|
||||
["f64", a @ ..] => dl.f64_align = parse_align(a, "f64")?,
|
||||
["f128", a @ ..] => dl.f128_align = parse_align(a, "f128")?,
|
||||
// FIXME(erikdesjardins): we should be parsing nonzero address spaces
|
||||
// this will require replacing TargetDataLayout::{pointer_size,pointer_align}
|
||||
// with e.g. `fn pointer_size_in(AddressSpace)`
|
||||
[p @ "p", s, ref a @ ..] | [p @ "p0", s, ref a @ ..] => {
|
||||
[p @ "p", s, a @ ..] | [p @ "p0", s, a @ ..] => {
|
||||
dl.pointer_size = parse_size(s, p)?;
|
||||
dl.pointer_align = parse_align(a, p)?;
|
||||
}
|
||||
[s, ref a @ ..] if s.starts_with('i') => {
|
||||
[s, a @ ..] if s.starts_with('i') => {
|
||||
let Ok(bits) = s[1..].parse::<u64>() else {
|
||||
parse_size(&s[1..], "i")?; // For the user error.
|
||||
continue;
|
||||
|
@ -362,7 +362,7 @@ impl TargetDataLayout {
|
|||
dl.i128_align = a;
|
||||
}
|
||||
}
|
||||
[s, ref a @ ..] if s.starts_with('v') => {
|
||||
[s, a @ ..] if s.starts_with('v') => {
|
||||
let v_size = parse_size(&s[1..], "v")?;
|
||||
let a = parse_align(a, s)?;
|
||||
if let Some(v) = dl.vector_align.iter_mut().find(|v| v.0 == v_size) {
|
||||
|
@ -1802,7 +1802,7 @@ where
|
|||
variants,
|
||||
max_repr_align,
|
||||
unadjusted_abi_align,
|
||||
ref randomization_seed,
|
||||
randomization_seed,
|
||||
} = self;
|
||||
f.debug_struct("Layout")
|
||||
.field("size", size)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue