class Instruction;
class DIDescriptor {
- public:
- enum {
- Version7 = 7 << 16, // Current version of debug information.
- Version6 = 6 << 16, // Constant for version 6.
- Version5 = 5 << 16, // Constant for version 5.
- Version4 = 4 << 16, // Constant for version 4.
- VersionMask = 0xffff0000 // Mask for version number.
- };
-
protected:
GlobalVariable *GV;
GlobalVariable *getGV() const { return GV; }
unsigned getVersion() const {
- return getUnsignedField(0) & VersionMask;
+ return getUnsignedField(0) & LLVMDebugVersionMask;
}
unsigned getTag() const {
- return getUnsignedField(0) & ~VersionMask;
+ return getUnsignedField(0) & ~LLVMDebugVersionMask;
}
};
class PointerType;
class StructType;
-//===----------------------------------------------------------------------===//
-// Debug info constants.
-
-enum {
- LLVMDebugVersion = (7 << 16), // Current version of debug information.
- LLVMDebugVersion6 = (6 << 16), // Constant for version 6.
- LLVMDebugVersion5 = (5 << 16), // Constant for version 5.
- LLVMDebugVersion4 = (4 << 16), // Constant for version 4.
- LLVMDebugVersionMask = 0xffff0000 // Mask for version number.
-};
-
//===----------------------------------------------------------------------===//
/// SourceLineInfo - This class is used to record source line correspondence.
///
namespace llvm {
+//===----------------------------------------------------------------------===//
+// Debug info constants.
+
+enum {
+LLVMDebugVersion = (7 << 16), // Current version of debug information.
+LLVMDebugVersion6 = (6 << 16), // Constant for version 6.
+LLVMDebugVersion5 = (5 << 16), // Constant for version 5.
+LLVMDebugVersion4 = (4 << 16), // Constant for version 4.
+LLVMDebugVersionMask = 0xffff0000 // Mask for version number.
+};
+
namespace dwarf {
//===----------------------------------------------------------------------===//
}
Constant *DIFactory::GetTagConstant(unsigned TAG) {
- assert((TAG & DIDescriptor::VersionMask) == 0 &&
+ assert((TAG & LLVMDebugVersionMask) == 0 &&
"Tag too large for debug encoding!");
- return ConstantInt::get(Type::Int32Ty, TAG | DIDescriptor::Version7);
+ return ConstantInt::get(Type::Int32Ty, TAG | LLVMDebugVersion);
}
Constant *DIFactory::GetStringConstant(const std::string &String) {
void AddSourceLine(DIE *Die, const DIVariable *V) {
unsigned FileID = 0;
unsigned Line = V->getLineNumber();
- if (V->getVersion() < DIDescriptor::Version7) {
+ if (V->getVersion() <= LLVMDebugVersion6) {
// Version6 or earlier. Use compile unit info to get file id.
CompileUnit *Unit = FindCompileUnit(V->getCompileUnit());
FileID = Unit->getID();
void AddSourceLine(DIE *Die, const DIGlobal *G) {
unsigned FileID = 0;
unsigned Line = G->getLineNumber();
- if (G->getVersion() < DIDescriptor::Version7) {
+ if (G->getVersion() < LLVMDebugVersion6) {
// Version6 or earlier. Use compile unit info to get file id.
CompileUnit *Unit = FindCompileUnit(G->getCompileUnit());
FileID = Unit->getID();
void AddSourceLine(DIE *Die, const DIType *Ty) {
unsigned FileID = 0;
unsigned Line = Ty->getLineNumber();
- if (Ty->getVersion() < DIDescriptor::Version7) {
+ if (Ty->getVersion() <= LLVMDebugVersion6) {
// Version6 or earlier. Use compile unit info to get file id.
CompileUnit *Unit = FindCompileUnit(Ty->getCompileUnit());
FileID = Unit->getID();
DIDescriptor DI(GV);
// Check current version. Allow Version6 for now.
unsigned Version = DI.getVersion();
- if (Version != DIDescriptor::Version7 && Version != DIDescriptor::Version6)
+ if (Version != LLVMDebugVersion && Version != LLVMDebugVersion6)
return false;
unsigned Tag = DI.getTag();