mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 22:12:15 +00:00
account for endianness in debuginfo for const args
This commit is contained in:
parent
060acc97db
commit
e14b34c386
@ -707,12 +707,15 @@ fn push_const_param<'tcx>(tcx: TyCtxt<'tcx>, ct: ty::Const<'tcx>, output: &mut S
|
||||
hcx.while_hashing_spans(false, |hcx| ct.to_valtree().hash_stable(hcx, &mut hasher));
|
||||
// Let's only emit 64 bits of the hash value. That should be plenty for
|
||||
// avoiding collisions and will make the emitted type names shorter.
|
||||
let hash: u64 = hasher.finish();
|
||||
// Note: Don't use `StableHashResult` impl of `u64` here directly, since that
|
||||
// would lead to endianness problems.
|
||||
let hash: u128 = hasher.finish();
|
||||
let hash_short = (hash.to_le() as u64).to_le();
|
||||
|
||||
if cpp_like_debuginfo(tcx) {
|
||||
write!(output, "CONST${:x}", hash)
|
||||
write!(output, "CONST${:x}", hash_short)
|
||||
} else {
|
||||
write!(output, "{{CONST#{:x}}}", hash)
|
||||
write!(output, "{{CONST#{:x}}}", hash_short)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -37,7 +37,7 @@
|
||||
// Const generic parameter
|
||||
// gdb-command:info functions -q function_names::const_generic_fn.*
|
||||
// gdb-check:[...]static fn function_names::const_generic_fn_bool<false>();
|
||||
// gdb-check:[...]static fn function_names::const_generic_fn_non_int<{CONST#3fcd7c34c1555be6}>();
|
||||
// gdb-check:[...]static fn function_names::const_generic_fn_non_int<{CONST#6348c650c7b26618}>();
|
||||
// gdb-check:[...]static fn function_names::const_generic_fn_signed_int<-7>();
|
||||
// gdb-check:[...]static fn function_names::const_generic_fn_unsigned_int<14>();
|
||||
|
||||
@ -76,7 +76,7 @@
|
||||
// Const generic parameter
|
||||
// cdb-command:x a!function_names::const_generic_fn*
|
||||
// cdb-check:[...] a!function_names::const_generic_fn_bool<false> (void)
|
||||
// cdb-check:[...] a!function_names::const_generic_fn_non_int<CONST$3fcd7c34c1555be6> (void)
|
||||
// cdb-check:[...] a!function_names::const_generic_fn_non_int<CONST$6348c650c7b26618> (void)
|
||||
// cdb-check:[...] a!function_names::const_generic_fn_unsigned_int<14> (void)
|
||||
// cdb-check:[...] a!function_names::const_generic_fn_signed_int<-7> (void)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user