Specify DWARF alignment in bits, not bytes.
In DWARF, alignment of types is specified in bits, as is made clear by the parameter name `AlignInBits`. However, `rustc` was incorrectly passing a byte alignment. This commit fixes that. This was noticed in upstream LLVM when I tried to check in a test consisting of LLVM IR generated from `rustc` and it triggered assertions [1]. [1]: https://reviews.llvm.org/D126835
This commit is contained in:
parent
357bc27904
commit
fe533e862c
2 changed files with 9 additions and 1 deletions
8
src/test/codegen/debug-alignment.rs
Normal file
8
src/test/codegen/debug-alignment.rs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// Verifies that DWARF alignment is specified properly.
|
||||
//
|
||||
// compile-flags: -C debuginfo=2
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// CHECK: !DIGlobalVariable
|
||||
// CHECK: align: 32
|
||||
pub static A: u32 = 1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue