#ifndef LLVM_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
#define LLVM_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H
+#include "AsmPrinterHandler.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include <vector>
//===----------------------------------------------------------------------===//
/// DwarfException - Emits Dwarf exception handling directives.
///
-class DwarfException {
+class DwarfException : public AsmPrinterHandler {
protected:
/// Asm - Target of Dwarf emission.
AsmPrinter *Asm;
virtual void beginFunction(const MachineFunction *MF);
/// endFunction - Gather and emit post-function exception information.
- virtual void endFunction();
+ virtual void endFunction(const MachineFunction *);
+
+ // We don't need these.
+ virtual void setSymbolSize(const MCSymbol *Sym, uint64_t Size) {}
+ virtual void beginInstruction(const MachineInstr *MI) {}
+ virtual void endInstruction() {}
};
class DwarfCFIException : public DwarfException {
virtual void beginFunction(const MachineFunction *MF);
/// endFunction - Gather and emit post-function exception information.
- virtual void endFunction();
+ virtual void endFunction(const MachineFunction *);
};
class ARMException : public DwarfException {
virtual void beginFunction(const MachineFunction *MF);
/// endFunction - Gather and emit post-function exception information.
- virtual void endFunction();
+ virtual void endFunction(const MachineFunction *);
};
class Win64Exception : public DwarfException {
virtual void beginFunction(const MachineFunction *MF);
/// endFunction - Gather and emit post-function exception information.
- virtual void endFunction();
+ virtual void endFunction(const MachineFunction *);
};
} // End of namespace llvm