forked from OSchip/llvm-project
[MCObjectFileInfo] Fix uninitialized variable warnings. NFCI.
This commit is contained in:
parent
c7f127d93f
commit
dec21e4451
|
@ -27,20 +27,20 @@ class MCObjectFileInfo {
|
|||
protected:
|
||||
/// True if .comm supports alignment. This is a hack for as long as we
|
||||
/// support 10.4 Tiger, whose assembler doesn't support alignment on comm.
|
||||
bool CommDirectiveSupportsAlignment;
|
||||
bool CommDirectiveSupportsAlignment = false;
|
||||
|
||||
/// True if target object file supports a weak_definition of constant 0 for an
|
||||
/// omitted EH frame.
|
||||
bool SupportsWeakOmittedEHFrame;
|
||||
bool SupportsWeakOmittedEHFrame = false;
|
||||
|
||||
/// True if the target object file supports emitting a compact unwind section
|
||||
/// without an associated EH frame section.
|
||||
bool SupportsCompactUnwindWithoutEHFrame;
|
||||
bool SupportsCompactUnwindWithoutEHFrame = false;
|
||||
|
||||
/// OmitDwarfIfHaveCompactUnwind - True if the target object file
|
||||
/// supports having some functions with compact unwind and other with
|
||||
/// dwarf unwind.
|
||||
bool OmitDwarfIfHaveCompactUnwind;
|
||||
bool OmitDwarfIfHaveCompactUnwind = false;
|
||||
|
||||
/// FDE CFI encoding. Controls the encoding of the begin label in the
|
||||
/// .eh_frame section. Unlike the LSDA encoding, personality encoding, and
|
||||
|
@ -49,134 +49,134 @@ protected:
|
|||
unsigned FDECFIEncoding = 0;
|
||||
|
||||
/// Compact unwind encoding indicating that we should emit only an EH frame.
|
||||
unsigned CompactUnwindDwarfEHFrameOnly;
|
||||
unsigned CompactUnwindDwarfEHFrameOnly = 0;
|
||||
|
||||
/// Section directive for standard text.
|
||||
MCSection *TextSection;
|
||||
MCSection *TextSection = nullptr;
|
||||
|
||||
/// Section directive for standard data.
|
||||
MCSection *DataSection;
|
||||
MCSection *DataSection = nullptr;
|
||||
|
||||
/// Section that is default initialized to zero.
|
||||
MCSection *BSSSection;
|
||||
MCSection *BSSSection = nullptr;
|
||||
|
||||
/// Section that is readonly and can contain arbitrary initialized data.
|
||||
/// Targets are not required to have a readonly section. If they don't,
|
||||
/// various bits of code will fall back to using the data section for
|
||||
/// constants.
|
||||
MCSection *ReadOnlySection;
|
||||
MCSection *ReadOnlySection = nullptr;
|
||||
|
||||
/// If exception handling is supported by the target, this is the section the
|
||||
/// Language Specific Data Area information is emitted to.
|
||||
MCSection *LSDASection;
|
||||
MCSection *LSDASection = nullptr;
|
||||
|
||||
/// If exception handling is supported by the target and the target can
|
||||
/// support a compact representation of the CIE and FDE, this is the section
|
||||
/// to emit them into.
|
||||
MCSection *CompactUnwindSection;
|
||||
MCSection *CompactUnwindSection = nullptr;
|
||||
|
||||
// Dwarf sections for debug info. If a target supports debug info, these must
|
||||
// be set.
|
||||
MCSection *DwarfAbbrevSection;
|
||||
MCSection *DwarfInfoSection;
|
||||
MCSection *DwarfLineSection;
|
||||
MCSection *DwarfLineStrSection;
|
||||
MCSection *DwarfFrameSection;
|
||||
MCSection *DwarfPubTypesSection;
|
||||
const MCSection *DwarfDebugInlineSection;
|
||||
MCSection *DwarfStrSection;
|
||||
MCSection *DwarfLocSection;
|
||||
MCSection *DwarfARangesSection;
|
||||
MCSection *DwarfRangesSection;
|
||||
MCSection *DwarfMacinfoSection;
|
||||
MCSection *DwarfAbbrevSection = nullptr;
|
||||
MCSection *DwarfInfoSection = nullptr;
|
||||
MCSection *DwarfLineSection = nullptr;
|
||||
MCSection *DwarfLineStrSection = nullptr;
|
||||
MCSection *DwarfFrameSection = nullptr;
|
||||
MCSection *DwarfPubTypesSection = nullptr;
|
||||
const MCSection *DwarfDebugInlineSection = nullptr;
|
||||
MCSection *DwarfStrSection = nullptr;
|
||||
MCSection *DwarfLocSection = nullptr;
|
||||
MCSection *DwarfARangesSection = nullptr;
|
||||
MCSection *DwarfRangesSection = nullptr;
|
||||
MCSection *DwarfMacinfoSection = nullptr;
|
||||
// The pubnames section is no longer generated by default. The generation
|
||||
// can be enabled by a compiler flag.
|
||||
MCSection *DwarfPubNamesSection;
|
||||
MCSection *DwarfPubNamesSection = nullptr;
|
||||
|
||||
/// Accelerator table sections. DwarfDebugNamesSection is the DWARF v5
|
||||
/// accelerator table, while DwarfAccelNamesSection, DwarfAccelObjCSection,
|
||||
/// DwarfAccelNamespaceSection, DwarfAccelTypesSection are pre-DWARF v5
|
||||
/// extensions.
|
||||
MCSection *DwarfDebugNamesSection;
|
||||
MCSection *DwarfAccelNamesSection;
|
||||
MCSection *DwarfAccelObjCSection;
|
||||
MCSection *DwarfAccelNamespaceSection;
|
||||
MCSection *DwarfAccelTypesSection;
|
||||
MCSection *DwarfDebugNamesSection = nullptr;
|
||||
MCSection *DwarfAccelNamesSection = nullptr;
|
||||
MCSection *DwarfAccelObjCSection = nullptr;
|
||||
MCSection *DwarfAccelNamespaceSection = nullptr;
|
||||
MCSection *DwarfAccelTypesSection = nullptr;
|
||||
|
||||
// These are used for the Fission separate debug information files.
|
||||
MCSection *DwarfInfoDWOSection;
|
||||
MCSection *DwarfTypesDWOSection;
|
||||
MCSection *DwarfAbbrevDWOSection;
|
||||
MCSection *DwarfStrDWOSection;
|
||||
MCSection *DwarfLineDWOSection;
|
||||
MCSection *DwarfLocDWOSection;
|
||||
MCSection *DwarfStrOffDWOSection;
|
||||
MCSection *DwarfInfoDWOSection = nullptr;
|
||||
MCSection *DwarfTypesDWOSection = nullptr;
|
||||
MCSection *DwarfAbbrevDWOSection = nullptr;
|
||||
MCSection *DwarfStrDWOSection = nullptr;
|
||||
MCSection *DwarfLineDWOSection = nullptr;
|
||||
MCSection *DwarfLocDWOSection = nullptr;
|
||||
MCSection *DwarfStrOffDWOSection = nullptr;
|
||||
|
||||
/// The DWARF v5 string offset and address table sections.
|
||||
MCSection *DwarfStrOffSection;
|
||||
MCSection *DwarfAddrSection;
|
||||
MCSection *DwarfStrOffSection = nullptr;
|
||||
MCSection *DwarfAddrSection = nullptr;
|
||||
/// The DWARF v5 range list section.
|
||||
MCSection *DwarfRnglistsSection;
|
||||
MCSection *DwarfRnglistsSection = nullptr;
|
||||
/// The DWARF v5 locations list section.
|
||||
MCSection *DwarfLoclistsSection;
|
||||
MCSection *DwarfLoclistsSection = nullptr;
|
||||
|
||||
/// The DWARF v5 range list section for fission.
|
||||
MCSection *DwarfRnglistsDWOSection;
|
||||
MCSection *DwarfRnglistsDWOSection = nullptr;
|
||||
|
||||
// These are for Fission DWP files.
|
||||
MCSection *DwarfCUIndexSection;
|
||||
MCSection *DwarfTUIndexSection;
|
||||
MCSection *DwarfCUIndexSection = nullptr;
|
||||
MCSection *DwarfTUIndexSection = nullptr;
|
||||
|
||||
/// Section for newer gnu pubnames.
|
||||
MCSection *DwarfGnuPubNamesSection;
|
||||
MCSection *DwarfGnuPubNamesSection = nullptr;
|
||||
/// Section for newer gnu pubtypes.
|
||||
MCSection *DwarfGnuPubTypesSection;
|
||||
MCSection *DwarfGnuPubTypesSection = nullptr;
|
||||
|
||||
// Section for Swift AST
|
||||
MCSection *DwarfSwiftASTSection;
|
||||
MCSection *DwarfSwiftASTSection = nullptr;
|
||||
|
||||
MCSection *COFFDebugSymbolsSection;
|
||||
MCSection *COFFDebugTypesSection;
|
||||
MCSection *COFFGlobalTypeHashesSection;
|
||||
MCSection *COFFDebugSymbolsSection = nullptr;
|
||||
MCSection *COFFDebugTypesSection = nullptr;
|
||||
MCSection *COFFGlobalTypeHashesSection = nullptr;
|
||||
|
||||
/// Extra TLS Variable Data section.
|
||||
///
|
||||
/// If the target needs to put additional information for a TLS variable,
|
||||
/// it'll go here.
|
||||
MCSection *TLSExtraDataSection;
|
||||
MCSection *TLSExtraDataSection = nullptr;
|
||||
|
||||
/// Section directive for Thread Local data. ELF, MachO, COFF, and Wasm.
|
||||
MCSection *TLSDataSection; // Defaults to ".tdata".
|
||||
MCSection *TLSDataSection = nullptr; // Defaults to ".tdata".
|
||||
|
||||
/// Section directive for Thread Local uninitialized data.
|
||||
///
|
||||
/// Null if this target doesn't support a BSS section. ELF and MachO only.
|
||||
MCSection *TLSBSSSection; // Defaults to ".tbss".
|
||||
MCSection *TLSBSSSection = nullptr; // Defaults to ".tbss".
|
||||
|
||||
/// StackMap section.
|
||||
MCSection *StackMapSection;
|
||||
MCSection *StackMapSection = nullptr;
|
||||
|
||||
/// FaultMap section.
|
||||
MCSection *FaultMapSection;
|
||||
MCSection *FaultMapSection = nullptr;
|
||||
|
||||
/// Remarks section.
|
||||
MCSection *RemarksSection;
|
||||
MCSection *RemarksSection = nullptr;
|
||||
|
||||
/// EH frame section.
|
||||
///
|
||||
/// It is initialized on demand so it can be overwritten (with uniquing).
|
||||
MCSection *EHFrameSection;
|
||||
MCSection *EHFrameSection = nullptr;
|
||||
|
||||
/// Section containing metadata on function stack sizes.
|
||||
MCSection *StackSizesSection;
|
||||
MCSection *StackSizesSection = nullptr;
|
||||
mutable DenseMap<const MCSymbol *, unsigned> StackSizesUniquing;
|
||||
|
||||
// ELF specific sections.
|
||||
MCSection *DataRelROSection;
|
||||
MCSection *MergeableConst4Section;
|
||||
MCSection *MergeableConst8Section;
|
||||
MCSection *MergeableConst16Section;
|
||||
MCSection *MergeableConst32Section;
|
||||
MCSection *DataRelROSection = nullptr;
|
||||
MCSection *MergeableConst4Section = nullptr;
|
||||
MCSection *MergeableConst8Section = nullptr;
|
||||
MCSection *MergeableConst16Section = nullptr;
|
||||
MCSection *MergeableConst32Section = nullptr;
|
||||
|
||||
// MachO specific sections.
|
||||
|
||||
|
@ -184,34 +184,35 @@ protected:
|
|||
///
|
||||
/// Contains the source code name of the variable, visibility and a pointer to
|
||||
/// the initial value (.tdata or .tbss).
|
||||
MCSection *TLSTLVSection; // Defaults to ".tlv".
|
||||
MCSection *TLSTLVSection = nullptr; // Defaults to ".tlv".
|
||||
|
||||
/// Section for thread local data initialization functions.
|
||||
const MCSection *TLSThreadInitSection; // Defaults to ".thread_init_func".
|
||||
// Defaults to ".thread_init_func".
|
||||
const MCSection *TLSThreadInitSection = nullptr;
|
||||
|
||||
MCSection *CStringSection;
|
||||
MCSection *UStringSection;
|
||||
MCSection *TextCoalSection;
|
||||
MCSection *ConstTextCoalSection;
|
||||
MCSection *ConstDataSection;
|
||||
MCSection *DataCoalSection;
|
||||
MCSection *ConstDataCoalSection;
|
||||
MCSection *DataCommonSection;
|
||||
MCSection *DataBSSSection;
|
||||
MCSection *FourByteConstantSection;
|
||||
MCSection *EightByteConstantSection;
|
||||
MCSection *SixteenByteConstantSection;
|
||||
MCSection *LazySymbolPointerSection;
|
||||
MCSection *NonLazySymbolPointerSection;
|
||||
MCSection *ThreadLocalPointerSection;
|
||||
MCSection *CStringSection = nullptr;
|
||||
MCSection *UStringSection = nullptr;
|
||||
MCSection *TextCoalSection = nullptr;
|
||||
MCSection *ConstTextCoalSection = nullptr;
|
||||
MCSection *ConstDataSection = nullptr;
|
||||
MCSection *DataCoalSection = nullptr;
|
||||
MCSection *ConstDataCoalSection = nullptr;
|
||||
MCSection *DataCommonSection = nullptr;
|
||||
MCSection *DataBSSSection = nullptr;
|
||||
MCSection *FourByteConstantSection = nullptr;
|
||||
MCSection *EightByteConstantSection = nullptr;
|
||||
MCSection *SixteenByteConstantSection = nullptr;
|
||||
MCSection *LazySymbolPointerSection = nullptr;
|
||||
MCSection *NonLazySymbolPointerSection = nullptr;
|
||||
MCSection *ThreadLocalPointerSection = nullptr;
|
||||
|
||||
/// COFF specific sections.
|
||||
MCSection *DrectveSection;
|
||||
MCSection *PDataSection;
|
||||
MCSection *XDataSection;
|
||||
MCSection *SXDataSection;
|
||||
MCSection *GFIDsSection;
|
||||
MCSection *GLJMPSection;
|
||||
MCSection *DrectveSection = nullptr;
|
||||
MCSection *PDataSection = nullptr;
|
||||
MCSection *XDataSection = nullptr;
|
||||
MCSection *SXDataSection = nullptr;
|
||||
MCSection *GFIDsSection = nullptr;
|
||||
MCSection *GLJMPSection = nullptr;
|
||||
|
||||
public:
|
||||
void InitMCObjectFileInfo(const Triple &TT, bool PIC, MCContext &ctx,
|
||||
|
@ -393,8 +394,8 @@ public:
|
|||
|
||||
private:
|
||||
Environment Env;
|
||||
bool PositionIndependent;
|
||||
MCContext *Ctx;
|
||||
bool PositionIndependent = false;
|
||||
MCContext *Ctx = nullptr;
|
||||
Triple TT;
|
||||
VersionTuple SDKVersion;
|
||||
|
||||
|
|
Loading…
Reference in New Issue