//===--- lib/CodeGen/DwarfLabel.h - Dwarf Label -----------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // DWARF Labels. // //===----------------------------------------------------------------------===// #ifndef CODEGEN_ASMPRINTER_DWARFLABEL_H__ #define CODEGEN_ASMPRINTER_DWARFLABEL_H__ namespace llvm { class FoldingSetNodeID; class raw_ostream; //===--------------------------------------------------------------------===// /// DWLabel - Labels are used to track locations in the assembler file. /// Labels appear in the form @verbatim @endverbatim, /// where the tag is a category of label (Ex. location) and number is a value /// unique in that category. class DWLabel { /// Tag - Label category tag. Should always be a statically declared C /// string. /// const char *Tag; /// Number - Value to make label unique. /// unsigned Number; public: DWLabel(const char *T, unsigned N) : Tag(T), Number(N) {} // Accessors. const char *getTag() const { return Tag; } unsigned getNumber() const { return Number; } /// Profile - Used to gather unique data for the folding set. /// void Profile(FoldingSetNodeID &ID) const; #ifndef NDEBUG void print(raw_ostream &O) const; #endif }; } // end llvm namespace #endif