================
@@ -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

Reply via email to