Changes in directory llvm/include/llvm/CodeGen:
MachineDebugInfo.h updated: 1.37 -> 1.38 --- Log message: 1. Support for c++ mangled names. 2. Support for private/protected class members. --- Diffs of the changes: (+18 -1) MachineDebugInfo.h | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletion(-) Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h diff -u llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37 llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.38 --- llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37 Fri Jun 23 07:51:53 2006 +++ llvm/include/llvm/CodeGen/MachineDebugInfo.h Tue Jul 11 10:58:09 2006 @@ -57,7 +57,8 @@ // Debug info constants. enum { - LLVMDebugVersion = (4 << 16), // Current version of debug information. + LLVMDebugVersion = (5 << 16), // Current version of debug information. + LLVMDebugVersion4 = (4 << 16), // Constant for version 4. LLVMDebugVersionMask = 0xffff0000 // Mask for version number. }; @@ -276,6 +277,10 @@ /// class TypeDesc : public DebugInfoDesc { private: + enum { + FlagPrivate = 1 << 0, + FlagProtected = 1 << 1 + }; DebugInfoDesc *Context; // Context debug descriptor. std::string Name; // Type name (may be empty.) DebugInfoDesc *File; // Defined compile unit (may be NULL.) @@ -283,6 +288,7 @@ uint64_t Size; // Type bit size (may be zero.) uint64_t Align; // Type bit alignment (may be zero.) uint64_t Offset; // Type bit offset (may be zero.) + unsigned Flags; // Miscellaneous flags. public: TypeDesc(unsigned T); @@ -297,6 +303,12 @@ uint64_t getSize() const { return Size; } uint64_t getAlign() const { return Align; } uint64_t getOffset() const { return Offset; } + bool isPrivate() const { + return (Flags & FlagPrivate) != 0; + } + bool isProtected() const { + return (Flags & FlagProtected) != 0; + } void setContext(DebugInfoDesc *C) { Context = C; } void setName(const std::string &N) { Name = N; } void setFile(CompileUnitDesc *U) { @@ -306,6 +318,8 @@ void setSize(uint64_t S) { Size = S; } void setAlign(uint64_t A) { Align = A; } void setOffset(uint64_t O) { Offset = O; } + void setIsPrivate() { Flags |= FlagPrivate; } + void setIsProtected() { Flags |= FlagProtected; } /// ApplyToFields - Target the visitor to the fields of the TypeDesc. /// @@ -572,6 +586,7 @@ private: DebugInfoDesc *Context; // Context debug descriptor. std::string Name; // Global name. + std::string DisplayName; // C++ unmangled name. DebugInfoDesc *File; // Defined compile unit (may be NULL.) unsigned Line; // Defined line# (may be zero.) DebugInfoDesc *TyDesc; // Type debug descriptor. @@ -585,6 +600,7 @@ // Accessors DebugInfoDesc *getContext() const { return Context; } const std::string &getName() const { return Name; } + const std::string &getDisplayName() const { return DisplayName; } CompileUnitDesc *getFile() const { return static_cast<CompileUnitDesc *>(File); } @@ -596,6 +612,7 @@ bool isDefinition() const { return IsDefinition; } void setContext(DebugInfoDesc *C) { Context = C; } void setName(const std::string &N) { Name = N; } + void setDisplayName(const std::string &N) { DisplayName = N; } void setFile(CompileUnitDesc *U) { File = static_cast<DebugInfoDesc *>(U); } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits