diff options
author | Adrian Prantl <aprantl@apple.com> | 2013-12-18 21:48:19 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2013-12-18 21:48:19 +0000 |
commit | 99c7af26b72fb617f4aa1f60cf868155c2ccfe89 (patch) | |
tree | 6bf8de70e11297d32678fc6c7fa183067dc6f804 /llvm/lib/CodeGen | |
parent | 0630eb70949d748ba2661f12935584504deaec2b (diff) | |
download | bcm5719-llvm-99c7af26b72fb617f4aa1f60cf868155c2ccfe89.tar.gz bcm5719-llvm-99c7af26b72fb617f4aa1f60cf868155c2ccfe89.zip |
Debug info: Implement (rvalue) reference qualifiers for C++11 non-static
member functions. Paired commit with CFE.
rdar://problem/15356637
llvm-svn: 197613
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 85a76287434..69240f870f9 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -1218,6 +1218,12 @@ void DwarfUnit::constructTypeDIE(DIE &Buffer, DICompositeType CTy) { (Language == dwarf::DW_LANG_C89 || Language == dwarf::DW_LANG_C99 || Language == dwarf::DW_LANG_ObjC)) addFlag(&Buffer, dwarf::DW_AT_prototyped); + + if (CTy.isLValueReference()) + addFlag(&Buffer, dwarf::DW_AT_reference); + + if (CTy.isRValueReference()) + addFlag(&Buffer, dwarf::DW_AT_rvalue_reference); } break; case dwarf::DW_TAG_structure_type: case dwarf::DW_TAG_union_type: @@ -1520,6 +1526,12 @@ DIE *DwarfUnit::getOrCreateSubprogramDIE(DISubprogram SP) { addUInt(SPDie, dwarf::DW_AT_APPLE_isa, dwarf::DW_FORM_flag, isa); } + if (SP.isLValueReference()) + addFlag(SPDie, dwarf::DW_AT_reference); + + if (SP.isRValueReference()) + addFlag(SPDie, dwarf::DW_AT_rvalue_reference); + return SPDie; } |