diff options
author | Eric Christopher <echristo@apple.com> | 2012-09-11 01:36:54 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2012-09-11 01:36:54 +0000 |
commit | 5296db0805422c9fe3a209449adae61c4457a02c (patch) | |
tree | feee704d42fda9081c6b7959bebb38be49e4147b /clang/lib/CodeGen/CGDebugInfo.cpp | |
parent | a699b6a44c2721ecc4ebb7fe4f5ed70cb795a2e9 (diff) | |
download | bcm5719-llvm-5296db0805422c9fe3a209449adae61c4457a02c.tar.gz bcm5719-llvm-5296db0805422c9fe3a209449adae61c4457a02c.zip |
The type of the self and cmd variables should be artificial. (Note
that the types aren't artificial the args are, but this is currently
represented by an artificial type.)
Found by inspection.
llvm-svn: 163585
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index d1ccfe69441..c700f2f2002 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -1998,9 +1998,11 @@ llvm::DIType CGDebugInfo::getOrCreateFunctionType(const Decl * D, // First element is always return type. For 'void' functions it is NULL. Elts.push_back(getOrCreateType(OMethod->getResultType(), F)); // "self" pointer is always first argument. - Elts.push_back(getOrCreateType(OMethod->getSelfDecl()->getType(), F)); + llvm::DIType SelfTy = getOrCreateType(OMethod->getSelfDecl()->getType(), F); + Elts.push_back(DBuilder.createArtificialType(SelfTy)); // "cmd" pointer is always second argument. - Elts.push_back(getOrCreateType(OMethod->getCmdDecl()->getType(), F)); + llvm::DIType CmdTy = getOrCreateType(OMethod->getCmdDecl()->getType(), F); + Elts.push_back(DBuilder.createArtificialType(CmdTy)); // Get rest of the arguments. for (ObjCMethodDecl::param_const_iterator PI = OMethod->param_begin(), PE = OMethod->param_end(); PI != PE; ++PI) |