mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-06 09:44:39 +00:00
Add support to let FE encode method access specifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115089 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9dd2b47d44
commit
1a30123b60
@ -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…
x
Reference in New Issue
Block a user