[llvm-commits] [dragonegg] r97391 - /dragonegg/trunk/llvm-debug.cpp
Duncan Sands
baldrick at free.fr
Sun Feb 28 05:16:55 PST 2010
Author: baldrick
Date: Sun Feb 28 07:16:55 2010
New Revision: 97391
URL: http://llvm.org/viewvc/llvm-project?rev=97391&view=rev
Log:
Port commit 95462 (dpatel) from llvm-gcc:
Identify artificial arguments. e.g. "this" in c++.
Modified:
dragonegg/trunk/llvm-debug.cpp
Modified: dragonegg/trunk/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-debug.cpp?rev=97391&r1=97390&r2=97391&view=diff
==============================================================================
--- dragonegg/trunk/llvm-debug.cpp (original)
+++ dragonegg/trunk/llvm-debug.cpp Sun Feb 28 07:16:55 2010
@@ -546,7 +546,15 @@
for (tree arg = TYPE_ARG_TYPES(type); arg; arg = TREE_CHAIN(arg)) {
tree formal_type = TREE_VALUE(arg);
if (formal_type == void_type_node) break;
- EltTys.push_back(getOrCreateType(formal_type));
+ llvm::DIType FormalType = getOrCreateType(formal_type);
+ if (TREE_CODE (type) == METHOD_TYPE
+ && TREE_CODE (formal_type) == POINTER_TYPE
+ && TREE_TYPE (formal_type) == TYPE_METHOD_BASETYPE (type)) {
+ DIType AFormalType = DebugFactory.CreateArtificialType(FormalType);
+ EltTys.push_back(AFormalType);
+ TypeCache[formal_type] = WeakVH(AFormalType.getNode());
+ } else
+ EltTys.push_back(FormalType);
}
llvm::DIArray EltTypeArray =
More information about the llvm-commits
mailing list