OSDN Git Service

DebugInfo: Move debug info flags to the new hierarchy
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 31 Mar 2015 01:19:51 +0000 (01:19 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 31 Mar 2015 01:19:51 +0000 (01:19 +0000)
Move definition of the debug info flags to the new hierarchy, but leave
them duplicated in `DIDescriptor` for now to reduce code churn.  My
current plan is to remove `DIDescriptor` entirely, so the duplication
should go away naturally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233656 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/DebugInfo.h
include/llvm/IR/DebugInfoMetadata.h

index c8c55d2..ec7c1a7 100644 (file)
@@ -127,14 +127,13 @@ class DIDescriptor {
   template <typename T> friend class DIRef;
 
 public:
-  /// \brief Accessibility flags.
+  /// \brief Duplicated debug info flags.
   ///
-  /// The three accessibility flags are mutually exclusive and rolled together
-  /// in the first two bits.
+  /// \see DebugNode::DIFlags.
   enum {
-#define HANDLE_DI_FLAG(ID, NAME) Flag##NAME = ID,
+#define HANDLE_DI_FLAG(ID, NAME) Flag##NAME = DebugNode::Flag##NAME,
 #include "llvm/IR/DebugInfoFlags.def"
-    FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic
+    FlagAccessibility = DebugNode::FlagAccessibility
   };
 
   static unsigned getFlag(StringRef Flag);
index ce6e884..f25358c 100644 (file)
@@ -78,6 +78,16 @@ protected:
 public:
   unsigned getTag() const { return SubclassData16; }
 
+  /// \brief Debug info flags.
+  ///
+  /// The three accessibility flags are mutually exclusive and rolled together
+  /// in the first two bits.
+  enum DIFlags {
+#define HANDLE_DI_FLAG(ID, NAME) Flag##NAME = ID,
+#include "llvm/IR/DebugInfoFlags.def"
+    FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic
+  };
+
   static bool classof(const Metadata *MD) {
     switch (MD->getMetadataID()) {
     default: