mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
Add support to let FE mark explict methods as explict in debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115378 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2b2de24fe2
commit
21ea1d5b4c
@ -54,7 +54,8 @@ namespace llvm {
|
||||
FlagAppleBlock = 1 << 3,
|
||||
FlagBlockByrefStruct = 1 << 4,
|
||||
FlagVirtual = 1 << 5,
|
||||
FlagArtificial = 1 << 6
|
||||
FlagArtificial = 1 << 6,
|
||||
FlagExplicit = 1 << 7
|
||||
};
|
||||
protected:
|
||||
const MDNode *DbgNode;
|
||||
@ -414,6 +415,13 @@ namespace llvm {
|
||||
return false;
|
||||
return (getUnsignedField(14) & FlagProtected) != 0;
|
||||
}
|
||||
/// isExplicit - Return true if this subprogram is marked as explicit.
|
||||
bool isExplicit() const {
|
||||
if (getVersion() <= llvm::LLVMDebugVersion8)
|
||||
return false;
|
||||
return (getUnsignedField(14) & FlagExplicit) != 0;
|
||||
}
|
||||
|
||||
unsigned isOptimized() const;
|
||||
|
||||
StringRef getFilename() const {
|
||||
|
@ -1081,6 +1081,8 @@ void DwarfDebug::constructTypeDIE(DIE &Buffer, DICompositeType CTy) {
|
||||
else
|
||||
addUInt(ElemDie, dwarf::DW_AT_accessibility, dwarf::DW_FORM_flag,
|
||||
dwarf::DW_ACCESS_public);
|
||||
if (SP.isExplicit())
|
||||
addUInt(ElemDie, dwarf::DW_AT_explicit, dwarf::DW_FORM_flag, 1);
|
||||
}
|
||||
else if (Element.isVariable()) {
|
||||
DIVariable DV(Element);
|
||||
|
Loading…
x
Reference in New Issue
Block a user