Debug info generation for rvalue references
llvm-svn: 124020
This commit is contained in:
parent
d5407dd2cd
commit
b8c7fe9dc9
|
@ -1226,6 +1226,12 @@ llvm::DIType CGDebugInfo::CreateType(const LValueReferenceType *Ty,
|
|||
Ty, Ty->getPointeeType(), Unit);
|
||||
}
|
||||
|
||||
llvm::DIType CGDebugInfo::CreateType(const RValueReferenceType *Ty,
|
||||
llvm::DIFile Unit) {
|
||||
return CreatePointerLikeType(llvm::dwarf::DW_TAG_rvalue_reference_type,
|
||||
Ty, Ty->getPointeeType(), Unit);
|
||||
}
|
||||
|
||||
llvm::DIType CGDebugInfo::CreateType(const MemberPointerType *Ty,
|
||||
llvm::DIFile U) {
|
||||
QualType PointerDiffTy = CGM.getContext().getPointerDiffType();
|
||||
|
@ -1413,6 +1419,8 @@ llvm::DIType CGDebugInfo::CreateTypeNode(QualType Ty,
|
|||
|
||||
case Type::LValueReference:
|
||||
return CreateType(cast<LValueReferenceType>(Ty), Unit);
|
||||
case Type::RValueReference:
|
||||
return CreateType(cast<RValueReferenceType>(Ty), Unit);
|
||||
|
||||
case Type::MemberPointer:
|
||||
return CreateType(cast<MemberPointerType>(Ty), Unit);
|
||||
|
@ -1426,12 +1434,7 @@ llvm::DIType CGDebugInfo::CreateTypeNode(QualType Ty,
|
|||
case Type::TypeOf:
|
||||
case Type::Decltype:
|
||||
llvm_unreachable("type should have been unwrapped!");
|
||||
return llvm::DIType();
|
||||
|
||||
case Type::RValueReference:
|
||||
// FIXME: Implement!
|
||||
Diag = "rvalue references";
|
||||
break;
|
||||
return llvm::DIType();
|
||||
}
|
||||
|
||||
assert(Diag && "Fall through without a diagnostic?");
|
||||
|
|
|
@ -91,6 +91,7 @@ class CGDebugInfo {
|
|||
llvm::DIType CreateType(const VectorType *Ty, llvm::DIFile F);
|
||||
llvm::DIType CreateType(const ArrayType *Ty, llvm::DIFile F);
|
||||
llvm::DIType CreateType(const LValueReferenceType *Ty, llvm::DIFile F);
|
||||
llvm::DIType CreateType(const RValueReferenceType *Ty, llvm::DIFile Unit);
|
||||
llvm::DIType CreateType(const MemberPointerType *Ty, llvm::DIFile F);
|
||||
llvm::DIType CreateEnumType(const EnumDecl *ED);
|
||||
llvm::DIType getOrCreateMethodType(const CXXMethodDecl *Method,
|
||||
|
|
Loading…
Reference in New Issue