Fix a funky "declared with greater visibility than the type of its field"
[oota-llvm.git] / lib / CodeGen / AsmPrinter / DwarfException.h
index 8a9d56808cf1214d22d2bc8f7bc46ce315c343c1..f6f50255f2e7aaf5eb5884f4d9903f9635c2150f 100644 (file)
@@ -51,6 +51,11 @@ class VISIBILITY_HIDDEN DwarfException : public Dwarf {
 
   std::vector<FunctionEHFrameInfo> EHFrames;
 
+  /// UsesLSDA - Indicates whether an FDE that uses the CIE at the given index
+  /// uses an LSDA. If so, then we need to encode that information in the CIE's
+  /// augmentation.
+  DenseMap<unsigned, bool> UsesLSDA;
+
   /// shouldEmitTable - Per-function flag to indicate if EH tables should
   /// be emitted.
   bool shouldEmitTable;
@@ -70,14 +75,16 @@ class VISIBILITY_HIDDEN DwarfException : public Dwarf {
   /// ExceptionTimer - Timer for the Dwarf exception writer.
   Timer *ExceptionTimer;
 
-  /// EmitCommonInformationEntry - Emit a Common Information Entry (CIE). This
-  /// holds information that is shared among many Frame Description Entries.
-  /// There is at least one CIE in every non-empty .debug_frame section.
-  void EmitCommonInformationEntry(const Function *Personality, unsigned Index);
+  /// SizeOfEncodedValue - Return the size of the encoding in bytes.
+  unsigned SizeOfEncodedValue(unsigned Encoding);
+
+  /// EmitCIE - Emit a Common Information Entry (CIE). This holds information
+  /// that is shared among many Frame Description Entries.  There is at least
+  /// one CIE in every non-empty .debug_frame section.
+  void EmitCIE(const Function *Personality, unsigned Index);
 
-  /// EmitFrameDescriptionEntry - Emit the Frame Description Entry (FDE) for the
-  /// function.
-  void EmitFrameDescriptionEntry(const FunctionEHFrameInfo &EHFrameInfo);
+  /// EmitFDE - Emit the Frame Description Entry (FDE) for the function.
+  void EmitFDE(const FunctionEHFrameInfo &EHFrameInfo);
 
   /// EmitExceptionTable - Emit landing pads and actions.
   ///