LLVM 24.0.0git
llvm::dwarf_linker::parallel::ModuleAnchor Struct Reference

Where the DW_TAG_module DIE describing a clang module ended up in the output. More...

#include "DWARFLinker/Parallel/ModulePool.h"

Public Member Functions

bool isSet () const

Public Attributes

TypeEntryTypeName = nullptr
SectionDescriptorSection = nullptr
uint64_t LocalOffset = 0
uint64_t Priority = std::numeric_limits<uint64_t>::max()
 Priority of the unit which recorded this anchor.

Detailed Description

Where the DW_TAG_module DIE describing a clang module ended up in the output.

Clang imposes a one-definition rule (ODR) on module names regardless of the source language, so a module is described once and every importer resolves to that description.

A module DIE lands either in the artificial type unit, or in the plain DWARF of the unit which emitted it.

Definition at line 30 of file ModulePool.h.

Member Function Documentation

◆ isSet()

bool llvm::dwarf_linker::parallel::ModuleAnchor::isSet ( ) const
inline

Definition at line 31 of file ModulePool.h.

References Section, and TypeName.

Referenced by llvm::dwarf_linker::parallel::ModulePool::set().

Member Data Documentation

◆ LocalOffset

uint64_t llvm::dwarf_linker::parallel::ModuleAnchor::LocalOffset = 0

◆ Priority

uint64_t llvm::dwarf_linker::parallel::ModuleAnchor::Priority = std::numeric_limits<uint64_t>::max()

Priority of the unit which recorded this anchor.

Definition at line 38 of file ModulePool.h.

Referenced by llvm::dwarf_linker::parallel::CompileUnit::noteModuleAnchors(), and llvm::dwarf_linker::parallel::ModulePool::set().

◆ Section

SectionDescriptor* llvm::dwarf_linker::parallel::ModuleAnchor::Section = nullptr

◆ TypeName

TypeEntry* llvm::dwarf_linker::parallel::ModuleAnchor::TypeName = nullptr

The documentation for this struct was generated from the following file: