aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/DwarfWriter.h19
-rw-r--r--include/llvm/Target/TargetAsmInfo.h14
2 files changed, 26 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h
index ae022be3e7..d5d6925278 100644
--- a/include/llvm/CodeGen/DwarfWriter.h
+++ b/include/llvm/CodeGen/DwarfWriter.h
@@ -7,11 +7,11 @@
//
//===----------------------------------------------------------------------===//
//
-// This file contains support for writing Dwarf debug info into asm files. For
-// Details on the Dwarf 3 specfication see DWARF Debugging Information Format
-// V.3 reference manual http://dwarf.freestandards.org ,
+// This file contains support for writing Dwarf debug and exception info into
+// asm files. For Details on the Dwarf 3 specfication see DWARF Debugging
+// Information Format V.3 reference manual http://dwarf.freestandards.org ,
//
-// The role of the Dwarf Writer class is to extract debug information from the
+// The role of the Dwarf Writer class is to extract information from the
// MachineModuleInfo object, organize it in Dwarf form and then emit it into asm
// the current asm file using data and high level Dwarf directives.
//
@@ -25,7 +25,8 @@
namespace llvm {
class AsmPrinter;
-class Dwarf;
+class DwarfDebug;
+class DwarfException;
class MachineModuleInfo;
class MachineFunction;
class Module;
@@ -37,9 +38,13 @@ class TargetAsmInfo;
class DwarfWriter {
private:
- /// DM - Provides the DwarfWriter implementation.
+ /// DD - Provides the DwarfWriter debug implementation.
///
- Dwarf *DW;
+ DwarfDebug *DD;
+
+ /// DE - Provides the DwarfWriter exception implementation.
+ ///
+ DwarfException *DE;
public:
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index f58eb70906..c22b9c455c 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -202,6 +202,10 @@ namespace llvm {
//===--- Global Variable Emission Directives --------------------------===//
+ /// GlobalDirective - This is the directive used to declare a global entity.
+ ///
+ const char *GlobalDirective; // Defaults to NULL.
+
/// SetDirective - This is the name of a directive that can be used to tell
/// the assembler to set the value of a variable to some expression.
const char *SetDirective; // Defaults to null.
@@ -250,6 +254,10 @@ namespace llvm {
///
bool HasDotFile; // Defaults to false.
+ /// SupportsExceptionHandling - True if target supports exception handling.
+ ///
+ bool SupportsExceptionHandling; // Defaults to false.
+
/// RequiresFrameSection - true if the Dwarf2 output needs a frame section
///
bool DwarfRequiresFrameSection; // Defaults to true.
@@ -440,6 +448,9 @@ namespace llvm {
const char *getSixteenByteConstantSection() const {
return SixteenByteConstantSection;
}
+ const char *getGlobalDirective() const {
+ return GlobalDirective;
+ }
const char *getSetDirective() const {
return SetDirective;
}
@@ -473,6 +484,9 @@ namespace llvm {
bool hasDotFile() const {
return HasDotFile;
}
+ bool getSupportsExceptionHandling() const {
+ return SupportsExceptionHandling;
+ }
bool getDwarfRequiresFrameSection() const {
return DwarfRequiresFrameSection;
}