LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
include
llvm
ExecutionEngine
include/llvm/ExecutionEngine/OrcMCJITReplacement.h
Go to the documentation of this file.
1
//===---- OrcMCJITReplacement.h - Orc-based MCJIT replacement ---*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file forces OrcMCJITReplacement to link in on certain operating systems.
11
// (Windows).
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_EXECUTIONENGINE_ORCMCJITREPLACEMENT_H
16
#define LLVM_EXECUTIONENGINE_ORCMCJITREPLACEMENT_H
17
18
#include "
llvm/ExecutionEngine/ExecutionEngine.h
"
19
#include <cstdlib>
20
21
extern
"C"
void
LLVMLinkInOrcMCJITReplacement
();
22
23
namespace
{
24
struct
ForceOrcMCJITReplacementLinking {
25
ForceOrcMCJITReplacementLinking() {
26
// We must reference OrcMCJITReplacement in such a way that compilers will
27
// not delete it all as dead code, even with whole program optimization,
28
// yet is effectively a NO-OP. As the compiler isn't smart enough to know
29
// that getenv() never returns -1, this will do the job.
30
if
(std::getenv(
"bar"
) != (
char
*) -1)
31
return
;
32
33
LLVMLinkInOrcMCJITReplacement
();
34
}
35
} ForceOrcMCJITReplacementLinking;
36
}
37
38
#endif
ExecutionEngine.h
LLVMLinkInOrcMCJITReplacement
void LLVMLinkInOrcMCJITReplacement()
Definition:
OrcMCJITReplacement.cpp:21
Generated on Wed Mar 8 2017 17:18:25 for LLVM by
1.8.6