diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-06-09 13:40:18 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-06-09 13:40:18 +0000 |
commit | 56223237b083f680cfdaba6c77c92e57ffde0341 (patch) | |
tree | 4cb5aee3ddc7a3f91c4af57011fbdbffb0de34d3 /clang/lib/CodeGen/ItaniumCXXABI.cpp | |
parent | 7881415510ea94ee15b3c41a0bda389b9dd67310 (diff) | |
download | bcm5719-llvm-56223237b083f680cfdaba6c77c92e57ffde0341.tar.gz bcm5719-llvm-56223237b083f680cfdaba6c77c92e57ffde0341.zip |
[DebugInfo] Add kind of ImplicitParamDecl for emission of FlagObjectPointer.
Summary:
If the first parameter of the function is the ImplicitParamDecl, codegen
automatically marks it as an implicit argument with `this` or `self`
pointer. Added internal kind of the ImplicitParamDecl to separate
'this', 'self', 'vtt' and other implicit parameters from other kind of
parameters.
Reviewers: rjmccall, aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D33735
llvm-svn: 305075
Diffstat (limited to 'clang/lib/CodeGen/ItaniumCXXABI.cpp')
-rw-r--r-- | clang/lib/CodeGen/ItaniumCXXABI.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/ItaniumCXXABI.cpp b/clang/lib/CodeGen/ItaniumCXXABI.cpp index 62b0e6155f9..39efb9f4392 100644 --- a/clang/lib/CodeGen/ItaniumCXXABI.cpp +++ b/clang/lib/CodeGen/ItaniumCXXABI.cpp @@ -1408,9 +1408,9 @@ void ItaniumCXXABI::addImplicitStructorParams(CodeGenFunction &CGF, // FIXME: avoid the fake decl QualType T = Context.getPointerType(Context.VoidPtrTy); - ImplicitParamDecl *VTTDecl - = ImplicitParamDecl::Create(Context, nullptr, MD->getLocation(), - &Context.Idents.get("vtt"), T); + auto *VTTDecl = ImplicitParamDecl::Create( + Context, /*DC=*/nullptr, MD->getLocation(), &Context.Idents.get("vtt"), + T, ImplicitParamDecl::CXXVTT); Params.insert(Params.begin() + 1, VTTDecl); getStructorImplicitParamDecl(CGF) = VTTDecl; } |