LLVM
22.0.0git
include
llvm
Object
COFFModuleDefinition.h
Go to the documentation of this file.
1
//===--- COFFModuleDefinition.h ---------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// Windows-specific.
10
// A parser for the module-definition file (.def file).
11
// Parsed results are directly written to Config global variable.
12
//
13
// The format of module-definition files are described in this document:
14
// https://msdn.microsoft.com/en-us/library/28d6s79h.aspx
15
//
16
//===----------------------------------------------------------------------===//
17
18
#ifndef LLVM_OBJECT_COFFMODULEDEFINITION_H
19
#define LLVM_OBJECT_COFFMODULEDEFINITION_H
20
21
#include "
llvm/BinaryFormat/COFF.h
"
22
#include "
llvm/Object/COFFImportFile.h
"
23
#include "
llvm/Support/Compiler.h
"
24
25
namespace
llvm
{
26
namespace
object {
27
28
struct
COFFModuleDefinition
{
29
std::vector<COFFShortExport>
Exports
;
30
std::string
OutputFile
;
31
std::string
ImportName
;
32
uint64_t
ImageBase
= 0;
33
uint64_t
StackReserve
= 0;
34
uint64_t
StackCommit
= 0;
35
uint64_t
HeapReserve
= 0;
36
uint64_t
HeapCommit
= 0;
37
uint32_t
MajorImageVersion
= 0;
38
uint32_t
MinorImageVersion
= 0;
39
uint32_t
MajorOSVersion
= 0;
40
uint32_t
MinorOSVersion
= 0;
41
};
42
43
LLVM_ABI
Expected<COFFModuleDefinition>
44
parseCOFFModuleDefinition
(
MemoryBufferRef
MB,
COFF::MachineTypes
Machine
,
45
bool
MingwDef =
false
,
bool
AddUnderscores =
true
);
46
47
}
// End namespace object.
48
}
// End namespace llvm.
49
50
#endif
COFF.h
COFFImportFile.h
Machine
COFF::MachineTypes Machine
Definition:
COFFYAML.cpp:390
Compiler.h
LLVM_ABI
#define LLVM_ABI
Definition:
Compiler.h:213
llvm::Expected
Tagged union holding either a T or a Error.
Definition:
Error.h:485
llvm::MemoryBufferRef
Definition:
MemoryBufferRef.h:23
uint32_t
uint64_t
llvm::COFF::MachineTypes
MachineTypes
Definition:
COFF.h:93
llvm::object::parseCOFFModuleDefinition
LLVM_ABI Expected< COFFModuleDefinition > parseCOFFModuleDefinition(MemoryBufferRef MB, COFF::MachineTypes Machine, bool MingwDef=false, bool AddUnderscores=true)
Definition:
COFFModuleDefinition.cpp:368
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::object::COFFModuleDefinition
Definition:
COFFModuleDefinition.h:28
llvm::object::COFFModuleDefinition::MajorOSVersion
uint32_t MajorOSVersion
Definition:
COFFModuleDefinition.h:39
llvm::object::COFFModuleDefinition::MajorImageVersion
uint32_t MajorImageVersion
Definition:
COFFModuleDefinition.h:37
llvm::object::COFFModuleDefinition::StackCommit
uint64_t StackCommit
Definition:
COFFModuleDefinition.h:34
llvm::object::COFFModuleDefinition::MinorOSVersion
uint32_t MinorOSVersion
Definition:
COFFModuleDefinition.h:40
llvm::object::COFFModuleDefinition::ImportName
std::string ImportName
Definition:
COFFModuleDefinition.h:31
llvm::object::COFFModuleDefinition::StackReserve
uint64_t StackReserve
Definition:
COFFModuleDefinition.h:33
llvm::object::COFFModuleDefinition::OutputFile
std::string OutputFile
Definition:
COFFModuleDefinition.h:30
llvm::object::COFFModuleDefinition::HeapCommit
uint64_t HeapCommit
Definition:
COFFModuleDefinition.h:36
llvm::object::COFFModuleDefinition::HeapReserve
uint64_t HeapReserve
Definition:
COFFModuleDefinition.h:35
llvm::object::COFFModuleDefinition::MinorImageVersion
uint32_t MinorImageVersion
Definition:
COFFModuleDefinition.h:38
llvm::object::COFFModuleDefinition::ImageBase
uint64_t ImageBase
Definition:
COFFModuleDefinition.h:32
llvm::object::COFFModuleDefinition::Exports
std::vector< COFFShortExport > Exports
Definition:
COFFModuleDefinition.h:29
Generated on Wed Sep 3 2025 01:34:04 for LLVM by
1.9.6