Add support to let FE encode method access specifier.
llvm-svn: 115089
This commit is contained in:
parent
2e0c7cc8c3
commit
cb03b14089
|
@ -400,7 +400,20 @@ namespace llvm {
|
|||
return getUnsignedField(14);
|
||||
return (getUnsignedField(14) & FlagArtificial) != 0;
|
||||
}
|
||||
|
||||
/// isPrivate - Return true if this subprogram has "private"
|
||||
/// access specifier.
|
||||
bool isPrivate() const {
|
||||
if (getVersion() <= llvm::LLVMDebugVersion8)
|
||||
return false;
|
||||
return (getUnsignedField(14) & FlagPrivate) != 0;
|
||||
}
|
||||
/// isProtected - Return true if this subprogram has "protected"
|
||||
/// access specifier.
|
||||
bool isProtected() const {
|
||||
if (getVersion() <= llvm::LLVMDebugVersion8)
|
||||
return false;
|
||||
return (getUnsignedField(14) & FlagProtected) != 0;
|
||||
}
|
||||
unsigned isOptimized() const;
|
||||
|
||||
StringRef getFilename() const {
|
||||
|
|
|
@ -1069,8 +1069,19 @@ void DwarfDebug::constructTypeDIE(DIE &Buffer, DICompositeType CTy) {
|
|||
for (unsigned i = 0; i < N; ++i) {
|
||||
DIDescriptor Element = Elements.getElement(i);
|
||||
DIE *ElemDie = NULL;
|
||||
if (Element.isSubprogram())
|
||||
if (Element.isSubprogram()) {
|
||||
DISubprogram SP(Element);
|
||||
ElemDie = createSubprogramDIE(DISubprogram(Element));
|
||||
if (SP.isProtected())
|
||||
addUInt(ElemDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_flag,
|
||||
dwarf::DW_ACCESS_protected);
|
||||
else if (SP.isPrivate())
|
||||
addUInt(ElemDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_flag,
|
||||
dwarf::DW_ACCESS_private);
|
||||
else
|
||||
addUInt(ElemDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_flag,
|
||||
dwarf::DW_ACCESS_public);
|
||||
}
|
||||
else if (Element.isVariable()) {
|
||||
DIVariable DV(Element);
|
||||
ElemDie = new DIE(dwarf::DW_TAG_variable);
|
||||
|
|
Loading…
Reference in New Issue