================
@@ -1795,6 +1795,11 @@ void DwarfCompileUnit::createBaseTypeDIEs() {
// Round up to smallest number of bytes that contains this number of bits.
addUInt(Die, dwarf::DW_AT_byte_size, std::nullopt,
divideCeil(Btr.BitSize, 8));
+ // If the value of an object of the given type does not fully occupy the
----------------
Michael137 wrote:
I think this is missing some coverage. IIUC, these are base types created as
part of DWARFExpression evaluation. E.g.,
```
call void @llvm.dbg.value(metadata i1 %b, metadata !12, metadata
!DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8,
DW_ATE_unsigned, DW_OP_stack_value)), !dbg !13
```
Would generate a:
```
; CHECK: DW_TAG_base_type
; CHECK-NEXT: DW_AT_name ("DW_ATE_unsigned_1")
; CHECK-NEXT: DW_AT_encoding (DW_ATE_unsigned)
; CHECK-NEXT: DW_AT_byte_size (0x01)
```
Taken from `base-type-size.ll`.
Probably need to adjust that test?
https://github.com/llvm/llvm-project/pull/164372
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits