Untabify.
[oota-llvm.git] / include / llvm / MC / MCTargetOptions.h
index ad34958ae3802a8c27bdac23d9c4d0aa5a9e59fc..7f4f23eda27f7d5ba36fa57daffa6a65a524d099 100644 (file)
 #ifndef LLVM_MC_MCTARGETOPTIONS_H
 #define LLVM_MC_MCTARGETOPTIONS_H
 
+#include <string>
+
 namespace llvm {
 
+class StringRef;
+
 class MCTargetOptions {
 public:
   enum AsmInstrumentation {
@@ -22,12 +26,20 @@ public:
   /// Enables AddressSanitizer instrumentation at machine level.
   bool SanitizeAddress : 1;
 
-  unsigned MCRelaxAll : 1;
-  unsigned MCNoExecStack : 1;
-  unsigned MCSaveTempLabels : 1;
-  unsigned MCUseDwarfDirectory : 1;
-  unsigned ShowMCEncoding : 1;
-  unsigned ShowMCInst : 1;
+  bool MCRelaxAll : 1;
+  bool MCNoExecStack : 1;
+  bool MCFatalWarnings : 1;
+  bool MCSaveTempLabels : 1;
+  bool MCUseDwarfDirectory : 1;
+  bool ShowMCEncoding : 1;
+  bool ShowMCInst : 1;
+  bool AsmVerbose : 1;
+  int DwarfVersion;
+  /// getABIName - If this returns a non-empty string this represents the
+  /// textual name of the ABI that we want the backend to use, e.g. o32, or
+  /// aapcs-linux.
+  StringRef getABIName() const;
+  std::string ABIName;
   MCTargetOptions();
 };
 
@@ -36,10 +48,14 @@ inline bool operator==(const MCTargetOptions &LHS, const MCTargetOptions &RHS) {
   return (ARE_EQUAL(SanitizeAddress) &&
           ARE_EQUAL(MCRelaxAll) &&
           ARE_EQUAL(MCNoExecStack) &&
+          ARE_EQUAL(MCFatalWarnings) &&
           ARE_EQUAL(MCSaveTempLabels) &&
           ARE_EQUAL(MCUseDwarfDirectory) &&
           ARE_EQUAL(ShowMCEncoding) &&
-          ARE_EQUAL(ShowMCInst));
+          ARE_EQUAL(ShowMCInst) &&
+          ARE_EQUAL(AsmVerbose) &&
+          ARE_EQUAL(DwarfVersion) &&
+          ARE_EQUAL(ABIName));
 #undef ARE_EQUAL
 }