[llvm-commits] [llvm-gcc-4.2] r80296 - /llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
Devang Patel
dpatel at apple.com
Thu Aug 27 15:40:57 PDT 2009
Author: dpatel
Date: Thu Aug 27 17:40:57 2009
New Revision: 80296
URL: http://llvm.org/viewvc/llvm-project?rev=80296&view=rev
Log:
Fix a bug in updating TypeCache.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp?rev=80296&r1=80295&r2=80296&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Thu Aug 27 17:40:57 2009
@@ -704,11 +704,11 @@
DIType DebugInfo::createVariantType(tree type, DIType MainTy) {
DIType Ty;
- if (tree Name = TYPE_NAME(type)) {
- if (TREE_CODE(Name) == TYPE_DECL && DECL_ORIGINAL_TYPE(Name)) {
- expanded_location TypeDefLoc = GetNodeLocation(Name);
- Ty = DebugFactory.CreateDerivedType(DW_TAG_typedef, findRegion(type),
- GetNodeName(Name),
+ if (tree TyDef = TYPE_NAME(type)) {
+ if (TREE_CODE(TyDef) == TYPE_DECL && DECL_ORIGINAL_TYPE(TyDef)) {
+ expanded_location TypeDefLoc = GetNodeLocation(TyDef);
+ Ty = DebugFactory.CreateDerivedType(DW_TAG_typedef, findRegion(TyDef),
+ GetNodeName(TyDef),
getOrCreateCompileUnit(TypeDefLoc.file),
TypeDefLoc.line,
0 /*size*/,
@@ -716,8 +716,7 @@
0 /*offset */,
0 /*flags*/,
MainTy);
- // Set the slot early to prevent recursion difficulties.
- TypeCache[type] = Ty;
+ TypeCache[TyDef] = Ty;
return Ty;
}
}
More information about the llvm-commits
mailing list