class MCSectionCOFF

Declaration

class MCSectionCOFF : public MCSection { /* full declaration omitted */ };

Description

This represents a section on Windows

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:26

Inherits from: MCSection

Member Variables

private unsigned int Characteristics
This is the Characteristics field of a section, drawn from the enums below.
private unsigned int WinCFISectionID = ~0U
The unique IDs used with the .pdata and .xdata sections created internally by the assembler. This ID is used to ensure that for every .text section, there is exactly one .pdata and one .xdata section, which is required by the Microsoft incremental linker. This data is mutable because this ID is not notionally part of the section.
private llvm::MCSymbol* COMDATSymbol
The COMDAT symbol of this section. Only valid if this is a COMDAT section. Two COMDAT sections are merged if they have the same COMDAT symbol.
private int Selection
This is the Selection field for the section symbol, if it is a COMDAT section (Characteristics & IMAGE_SCN_LNK_COMDAT) != 0

Inherited from MCSection:

protected Name
protected Variant
protected Kind
public static NonUniqueID = ~0U

Method Overview

Inherited from MCSection:

Methods

MCSectionCOFF(llvm::StringRef Name,
              unsigned int Characteristics,
              llvm::MCSymbol* COMDATSymbol,
              int Selection,
              llvm::SectionKind K,
              llvm::MCSymbol* Begin)

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:52

Parameters

llvm::StringRef Name
unsigned int Characteristics
llvm::MCSymbol* COMDATSymbol
int Selection
llvm::SectionKind K
llvm::MCSymbol* Begin

static bool classof(const llvm::MCSection* S)

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:89

Parameters

const llvm::MCSection* S

llvm::MCSymbol* getCOMDATSymbol() const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:67

unsigned int getCharacteristics() const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:66

unsigned int getOrAssignWinCFISectionID(
    unsigned int* NextID) const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:79

Parameters

unsigned int* NextID

int getSelection() const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:68

llvm::StringRef getVirtualSectionKind() const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:77

static bool isImplicitlyDiscardable(
    llvm::StringRef Name)

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:85

Parameters

llvm::StringRef Name

bool isVirtualSection() const

Description

Check whether this section is "virtual", that is has no actual object file contents.

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:76

void printSwitchToSection(
    const llvm::MCAsmInfo& MAI,
    const llvm::Triple& T,
    llvm::raw_ostream& OS,
    const llvm::MCExpr* Subsection) const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:72

Parameters

const llvm::MCAsmInfo& MAI
const llvm::Triple& T
llvm::raw_ostream& OS
const llvm::MCExpr* Subsection

void setSelection(int Selection) const

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:70

Parameters

int Selection

bool shouldOmitSectionDirective(
    llvm::StringRef Name,
    const llvm::MCAsmInfo& MAI) const

Description

Decides whether a '.section' directive should be printed before the section name

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:64

Parameters

llvm::StringRef Name
const llvm::MCAsmInfo& MAI

bool useCodeAlign() const

Description

Return true if a .align directive should use "optimized nops" to fill instead of 0s.

Declared at: llvm/include/llvm/MC/MCSectionCOFF.h:75