diff options
author | Charles Davis <cdavis@mines.edu> | 2011-05-27 23:47:32 +0000 |
---|---|---|
committer | Charles Davis <cdavis@mines.edu> | 2011-05-27 23:47:32 +0000 |
commit | d652b1368b1e381382951f450e5eeca870d91dd6 (patch) | |
tree | 4d4254dc46aa4d98c561029e2da249d2c009e3c4 /lib/CodeGen/AsmPrinter/DwarfException.h | |
parent | be64b394317feb8d7bcb732bdfb35e0b286efd4c (diff) | |
download | external_llvm-d652b1368b1e381382951f450e5eeca870d91dd6.zip external_llvm-d652b1368b1e381382951f450e5eeca870d91dd6.tar.gz external_llvm-d652b1368b1e381382951f450e5eeca870d91dd6.tar.bz2 |
Stub out support for Win64-style exceptions. Note that this is merely using
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132234 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfException.h')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfException.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h index 42a3658..b5f86ab 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.h +++ b/lib/CodeGen/AsmPrinter/DwarfException.h @@ -205,6 +205,38 @@ public: virtual void EndFunction(); }; +class Win64Exception : public DwarfException { + /// shouldEmitPersonality - Per-function flag to indicate if personality + /// info should be emitted. + bool shouldEmitPersonality; + + /// shouldEmitLSDA - Per-function flag to indicate if the LSDA + /// should be emitted. + bool shouldEmitLSDA; + + /// shouldEmitMoves - Per-function flag to indicate if frame moves info + /// should be emitted. + bool shouldEmitMoves; + +public: + //===--------------------------------------------------------------------===// + // Main entry points. + // + Win64Exception(AsmPrinter *A); + virtual ~Win64Exception(); + + /// EndModule - Emit all exception information that should come after the + /// content. + virtual void EndModule(); + + /// BeginFunction - Gather pre-function exception information. Assumes being + /// emitted immediately after the function entry point. + virtual void BeginFunction(const MachineFunction *MF); + + /// EndFunction - Gather and emit post-function exception information. + virtual void EndFunction(); +}; + } // End of namespace llvm #endif |