Add the ExceptionHandling::MSVC enumeration
[oota-llvm.git] / include / llvm / MC / MCAsmInfo.h
index 9343b8ff88098a855987c934af2b1f47c8d78a1c..9c62adcf196ad2b82aca62457ae32916c34be387 100644 (file)
@@ -47,6 +47,7 @@ enum class ExceptionHandling {
   SjLj,         /// setjmp/longjmp based exceptions
   ARM,          /// ARM EHABI
   ItaniumWinEH, /// Itanium EH built on Windows unwind info (.pdata and .xdata)
+  MSVC,         /// MSVC compatible exception handling
 };
 
 namespace LCOMM {
@@ -492,6 +493,11 @@ public:
             ExceptionsType == ExceptionHandling::ItaniumWinEH);
   }
 
+  bool usesWindowsCFI() const {
+    return ExceptionsType == ExceptionHandling::ItaniumWinEH ||
+           ExceptionsType == ExceptionHandling::MSVC;
+  }
+
   bool doesDwarfUseRelocationsAcrossSections() const {
     return DwarfUsesRelocationsAcrossSections;
   }