summaryrefslogtreecommitdiff
path: root/lldb/test/API/lang/cpp/alignas_base_class/TestAlignAsBaseClass.py
blob: 362fc2740bf52d4539a3a5ac9c1f924780981f3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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")