llvm/lldb/test/API/lang/cpp/alignas_base_class/TestAlignAsBaseClass.py

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")
        self.expect_expr("alignof(Derived)", result_value="8")