Lines Matching defs:layout

57 /// Externally provided layout. Typically used when the AST source, such
586 /// Size - The current size of the record layout.
589 /// Alignment - The current alignment of the record layout.
592 /// PreferredAlignment - The preferred alignment of the record layout.
603 /// Whether the external AST source has provided a layout for this
609 /// externally-provided layout.
783 /// InitializeLayout - Initialize record layout for the given record decl.
786 /// FinishLayout - Finalize record layout. Adjust record size based on the
841 "Cannot layout class with dependent bases.");
1167 "Cannot layout class with dependent bases.");
1219 // Query the external layout to see if it provides an offset.
1560 // The struct-layout algorithm is dictated by the platform ABI,
1563 // in the System V generic ABI. The basic bitfield layout rule in
1573 // platform ABI's struct-layout algorithm, with the high-level goal
1574 // of duplicating MSVC's layout. For non-bitfields, this follows
1575 // the standard algorithm. The basic bitfield layout rule is to
1589 // e.g. ARM). In ms_struct layout, zero-width bitfields are
1770 // If we're using external layout, give the external layout a chance
1800 // Diagnose differences in layout due to padding or packing.
1932 // If MS bitfield layout is required, figure out what type is being
1946 // with the layout rules for MS structs. This isn't an issue in
1955 // need to be able to sidestep the ms_struct layout for these types.
2230 // we have an externally-supplied layout that also provides overall alignment.
2433 // layout if it is a POD type (in the sense of ISO C++
2437 // bitfield is not a POD for the purpose of layout. Similarly,
2438 // an array type is not a POD for the purpose of layout if the
2440 // layout.
2461 // Check if it's CUDA device compilation; ensure layout consistency with host.
2469 // This section contains an implementation of struct layout that is, up to the
2470 // included tests, compatible with cl.exe (2013). The layout produced is
2478 // * There is no explicit primary base for the purposes of layout. All bases
2486 // due to the two-pass layout scheme for non-virtual-bases.
2518 // layout of the so the leading base is not always the first one declared).
2547 // greater due to __declspec(align()) then a second layout phase occurs after
2548 // The locations of the vf and vb pointers are known. This layout phase
2552 // anything tries to read the vftbl. The second layout phase also treats
2574 void layout(const RecordDecl *RD);
2578 /// Initialized C++ layout, compute alignment and virtual alignment and
2623 /// The non-virtual size of the record layout.
2625 /// The data size of the record layout.
2627 /// The current alignment of the record layout.
2674 /// True if the external AST source provided a layout for this record.
2677 /// The layout provided by the external AST source. Only active if
2743 void MicrosoftRecordLayoutBuilder::layout(const RecordDecl *RD) {
2744 // For C record layout, zero-sized records always have size 4.
2804 // Try to respect the external layout if present.
2899 // If this is the first layout, check to see if it leads with a zero sized
3106 // layout.
3134 // regular fields by the offset only if not using external record layout.
3148 // If we're using an external layout, the fields offsets have already
3331 /// getASTRecordLayout - Get or compute information about the layout of the
3347 assert(D && "Cannot get layout of forward declarations!");
3348 assert(!D->isInvalidDecl() && "Cannot get layout of invalid decl!");
3349 assert(D->isCompleteDefinition() && "Cannot layout type before complete!");
3351 // Look up this layout, if already laid out, return what we have.
3375 Builder.layout(D);
3389 // FIXME: this should be stored in the record layout.
3508 // look up in the implementation layout.
3518 // implemented. This should be fixed to get the information from the layout
3528 assert(Index < RL->getFieldCount() && "Ivar is not inside record layout!");
3533 /// getObjCLayout - Get or compute information about the layout of the
3536 /// \param Impl - If given, also include the layout of the interface's
3548 // Look up this layout, if already laid out, return what we have.
3648 "Cannot layout class with dependent bases.");
3763 // layout-override testing code. There shouldn't be any external
3764 // uses of this format --- when LLDB overrides a layout, it sets up