[llvm-commits] [dragonegg] r88775 - /dragonegg/trunk/llvm-debug.cpp
Duncan Sands
baldrick at free.fr
Sat Nov 14 02:48:11 PST 2009
Author: baldrick
Date: Sat Nov 14 04:48:11 2009
New Revision: 88775
URL: http://llvm.org/viewvc/llvm-project?rev=88775&view=rev
Log:
Port commit 85631 (dpatel) from llvm-gcc:
Do not use empty strings for name in debug info. It confuses other tools reading compiler generated output.
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=88775&r1=88774&r2=88775&view=diff
==============================================================================
--- dragonegg/trunk/llvm-debug.cpp (original)
+++ dragonegg/trunk/llvm-debug.cpp Sat Nov 14 04:48:11 2009
@@ -154,7 +154,7 @@
}
}
- return "";
+ return NULL;
}
/// GetNodeLocation - Returns the location stored in a node regardless of
@@ -211,7 +211,7 @@
return IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(Node));
}
}
- return "";
+ return NULL;
}
DebugInfo::DebugInfo(Module *m)
@@ -447,7 +447,7 @@
DebugFactory.GetOrCreateArray(EltTys.data(), EltTys.size());
return DebugFactory.CreateCompositeType(llvm::dwarf::DW_TAG_subroutine_type,
- findRegion(type), "",
+ findRegion(type), NULL,
getOrCreateCompileUnit(NULL),
0, 0, 0, 0, 0,
llvm::DIType(), EltTypeArray);
@@ -521,7 +521,7 @@
DebugFactory.GetOrCreateArray(Subscripts.data(), Subscripts.size());
expanded_location Loc = GetNodeLocation(type);
return DebugFactory.CreateCompositeType(llvm::dwarf::DW_TAG_array_type,
- findRegion(type), "",
+ findRegion(type), NULL,
getOrCreateCompileUnit(Loc.file), 0,
NodeSizeInBits(type),
NodeAlignInBits(type), 0, 0,
@@ -601,9 +601,14 @@
// reused because MDNodes are uniqued. To avoid this, use type context
/// also while creating FwdDecl for now.
std::string FwdName;
- if (TYPE_CONTEXT(type))
- FwdName = GetNodeName(TYPE_CONTEXT(type));
- FwdName = FwdName + GetNodeName(type);
+ if (TYPE_CONTEXT(type)) {
+ const char *TypeContextName = GetNodeName(TYPE_CONTEXT(type));
+ if (TypeContextName)
+ FwdName = TypeContextName;
+ }
+ const char *TypeName = GetNodeName(type);
+ if (TypeName)
+ FwdName = FwdName + TypeName;
unsigned Flags = llvm::DIType::FlagFwdDecl;
llvm::DICompositeType FwdDecl =
DebugFactory.CreateCompositeType(Tag,
@@ -634,7 +639,7 @@
// FIXME : name, size, align etc...
DIType DTy =
DebugFactory.CreateDerivedType(DW_TAG_inheritance,
- findRegion(type), "",
+ findRegion(type), NULL,
llvm::DICompileUnit(), 0,0,0,
getINTEGER_CSTVal(BINFO_OFFSET(BInfo)),
0, BaseClass);
@@ -753,7 +758,7 @@
if (TYPE_VOLATILE(type)) {
Ty = DebugFactory.CreateDerivedType(DW_TAG_volatile_type,
- findRegion(type), "",
+ findRegion(type), NULL,
getOrCreateCompileUnit(NULL),
0 /*line no*/,
NodeSizeInBits(type),
@@ -766,7 +771,7 @@
if (TYPE_READONLY(type))
Ty = DebugFactory.CreateDerivedType(DW_TAG_const_type,
- findRegion(type), "",
+ findRegion(type), NULL,
getOrCreateCompileUnit(NULL),
0 /*line no*/,
NodeSizeInBits(type),
@@ -926,7 +931,7 @@
DICompileUnit NewCU = DebugFactory.CreateCompileUnit(LangTag, FileName,
Directory,
version_string, isMain,
- optimize, "",
+ optimize, NULL,
ObjcRunTimeVer);
CUCache[FullPath] = WeakVH(NewCU.getNode());
return NewCU;
More information about the llvm-commits
mailing list