Debug info: Add a new explicit DIDescriptor flag for the "public" access
[oota-llvm.git] / lib / CodeGen / AsmPrinter / AsmPrinterHandler.h
index d43a0f8f9b1b2b9420f99339007794c750bff4f0..31867dd01d05ef626f25bf5aa07a5cf42190b294 100644 (file)
@@ -12,8 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef CODEGEN_ASMPRINTER_ASMPRINTERHANDLER_H__
-#define CODEGEN_ASMPRINTER_ASMPRINTERHANDLER_H__
+#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_ASMPRINTERHANDLER_H
+#define LLVM_LIB_CODEGEN_ASMPRINTER_ASMPRINTERHANDLER_H
 
 #include "llvm/Support/DataTypes.h"
 
@@ -27,7 +27,7 @@ class MCSymbol;
 /// or EH information.
 class AsmPrinterHandler {
 public:
-  virtual ~AsmPrinterHandler() {}
+  virtual ~AsmPrinterHandler();
 
   /// \brief For symbols that have a size designated (e.g. common symbols),
   /// this tracks that size.
@@ -37,10 +37,14 @@ public:
   virtual void endModule() = 0;
 
   /// \brief Gather pre-function debug information.
+  /// Every beginFunction(MF) call should be followed by an endFunction(MF)
+  /// call.
   virtual void beginFunction(const MachineFunction *MF) = 0;
 
   /// \brief Gather post-function debug information.
-  virtual void endFunction() = 0;
+  /// Please note that some AsmPrinter implementations may not call
+  /// beginFunction at all.
+  virtual void endFunction(const MachineFunction *MF) = 0;
 
   /// \brief Process beginning of an instruction.
   virtual void beginInstruction(const MachineInstr *MI) = 0;