mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-04 23:32:00 +00:00
Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
Patch by Caroline Tice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80061 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ad7c3d5593
commit
8af76bdb74
@ -173,7 +173,8 @@ namespace llvm {
|
||||
enum {
|
||||
FlagPrivate = 1 << 0,
|
||||
FlagProtected = 1 << 1,
|
||||
FlagFwdDecl = 1 << 2
|
||||
FlagFwdDecl = 1 << 2,
|
||||
FlagClosure = 1 << 3
|
||||
};
|
||||
|
||||
protected:
|
||||
@ -226,6 +227,9 @@ namespace llvm {
|
||||
bool isForwardDecl() const {
|
||||
return (getFlags() & FlagFwdDecl) != 0;
|
||||
}
|
||||
bool isClosure() const {
|
||||
return (getFlags() & FlagClosure) != 0;
|
||||
}
|
||||
|
||||
/// dump - print type.
|
||||
void dump() const;
|
||||
|
@ -695,10 +695,7 @@ void DwarfDebug::ConstructTypeDIE(CompileUnit *DW_Unit, DIE &Buffer,
|
||||
Buffer.AddChild(ElemDie);
|
||||
}
|
||||
|
||||
// FIXME: We'd like an API to register additional attributes for the
|
||||
// frontend to use while synthesizing, and then we'd use that api in clang
|
||||
// instead of this.
|
||||
if (Name == "__block_literal_generic")
|
||||
if (CTy.isClosure())
|
||||
AddUInt(&Buffer, dwarf::DW_AT_APPLE_block, dwarf::DW_FORM_flag, 1);
|
||||
|
||||
unsigned RLang = CTy.getRunTimeLang();
|
||||
|
Loading…
x
Reference in New Issue
Block a user