1 //===- MCTargetOptions.h - MC Target Options -------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_MC_MCTARGETOPTIONS_H
11 #define LLVM_MC_MCTARGETOPTIONS_H
15 class MCTargetOptions {
17 enum AsmInstrumentation {
18 AsmInstrumentationNone,
19 AsmInstrumentationAddress
22 /// Enables AddressSanitizer instrumentation at machine level.
23 bool SanitizeAddress : 1;
26 bool MCNoExecStack : 1;
27 bool MCFatalWarnings : 1;
28 bool MCSaveTempLabels : 1;
29 bool MCUseDwarfDirectory : 1;
30 bool ShowMCEncoding : 1;
37 inline bool operator==(const MCTargetOptions &LHS, const MCTargetOptions &RHS) {
38 #define ARE_EQUAL(X) LHS.X == RHS.X
39 return (ARE_EQUAL(SanitizeAddress) &&
40 ARE_EQUAL(MCRelaxAll) &&
41 ARE_EQUAL(MCNoExecStack) &&
42 ARE_EQUAL(MCFatalWarnings) &&
43 ARE_EQUAL(MCSaveTempLabels) &&
44 ARE_EQUAL(MCUseDwarfDirectory) &&
45 ARE_EQUAL(ShowMCEncoding) &&
46 ARE_EQUAL(ShowMCInst) &&
47 ARE_EQUAL(AsmVerbose) &&
48 ARE_EQUAL(DwarfVersion));
52 inline bool operator!=(const MCTargetOptions &LHS, const MCTargetOptions &RHS) {
56 } // end namespace llvm