Part of fixes for #72913. clang emits `DW_AT_alignment` attribute, however LLDB didn't respect it, resulting in incorrect RecordDecls built by lldb. This only fixes non-inheritance cases. The inheritance case will be handled in a follow-up patch.
19 lines
603 B
Python
19 lines
603 B
Python
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class TestCase(TestBase):
|
|
@no_debug_info_test
|
|
def test(self):
|
|
self.build()
|
|
self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
|
|
|
|
# The offset of f2 should be 8 because of `alignas(8)`.
|
|
self.expect_expr("(intptr_t)&d3g.f2 - (intptr_t)&d3g", result_value="8")
|
|
|
|
# Verify specified class alignments.
|
|
self.expect_expr("alignof(B2)", result_value="8")
|
|
self.expect_expr("alignof(EmptyClassAlign8)", result_value="8")
|