[MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases
[oota-llvm.git] / include / llvm / MC / MCLabel.h
index f531de8b40d998277a53600e43e7cd0db66f8c94..a12473fdad02f52451a284eef58172e10ec19d6f 100644 (file)
 #include "llvm/Support/Compiler.h"
 
 namespace llvm {
-  class MCContext;
-  class raw_ostream;
-
-  /// MCLabel - Instances of this class represent a label name in the MC file,
-  /// and MCLabel are created and unique'd by the MCContext class.  MCLabel
-  /// should only be constructed for valid instances in the object file.
-  class MCLabel {
-    // Instance - the instance number of this Directional Local Label
-    unsigned Instance;
-
-  private:  // MCContext creates and uniques these.
-    friend class MCContext;
-    MCLabel(unsigned instance)
-      : Instance(instance) {}
-
-    MCLabel(const MCLabel&) LLVM_DELETED_FUNCTION;
-    void operator=(const MCLabel&) LLVM_DELETED_FUNCTION;
-  public:
-    /// getInstance - Get the current instance of this Directional Local Label.
-    unsigned getInstance() const { return Instance; }
-
-    /// incInstance - Increment the current instance of this Directional Local
-    /// Label.
-    unsigned incInstance() { return ++Instance; }
-
-    /// print - Print the value to the stream \p OS.
-    void print(raw_ostream &OS) const;
-
-    /// dump - Print the value to stderr.
-    void dump() const;
-  };
-
-  inline raw_ostream &operator<<(raw_ostream &OS, const MCLabel &Label) {
-    Label.print(OS);
-    return OS;
-  }
+class MCContext;
+class raw_ostream;
+
+/// \brief Instances of this class represent a label name in the MC file,
+/// and MCLabel are created and uniqued by the MCContext class.  MCLabel
+/// should only be constructed for valid instances in the object file.
+class MCLabel {
+  // \brief The instance number of this Directional Local Label.
+  unsigned Instance;
+
+private: // MCContext creates and uniques these.
+  friend class MCContext;
+  MCLabel(unsigned instance) : Instance(instance) {}
+
+  MCLabel(const MCLabel &) = delete;
+  void operator=(const MCLabel &) = delete;
+
+public:
+  /// \brief Get the current instance of this Directional Local Label.
+  unsigned getInstance() const { return Instance; }
+
+  /// \brief Increment the current instance of this Directional Local Label.
+  unsigned incInstance() { return ++Instance; }
+
+  /// \brief Print the value to the stream \p OS.
+  void print(raw_ostream &OS) const;
+
+  /// \brief Print the value to stderr.
+  void dump() const;
+};
+
+inline raw_ostream &operator<<(raw_ostream &OS, const MCLabel &Label) {
+  Label.print(OS);
+  return OS;
+}
 } // end namespace llvm
 
 #endif