[llvm-commits] [llvm-gcc-4.2] r95469 - /llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
Devang Patel
dpatel at apple.com
Fri Feb 5 17:45:07 PST 2010
Author: dpatel
Date: Fri Feb 5 19:45:07 2010
New Revision: 95469
URL: http://llvm.org/viewvc/llvm-project?rev=95469&view=rev
Log:
Class static variables' debug info is emitted through EmitGlobalVariable(). There is not any need to emit this info again here.
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=95469&r1=95468&r2=95469&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Fri Feb 5 19:45:07 2010
@@ -927,48 +927,42 @@
// Get the location of the member.
expanded_location MemLoc = GetNodeLocation(Member, false);
- if (TREE_CODE(Member) == FIELD_DECL) {
+ if (TREE_CODE(Member) != FIELD_DECL)
+ // otherwise is a static variable, whose debug info is emitted
+ // when through EmitGlobalVariable().
+ continue;
- if (DECL_FIELD_OFFSET(Member) == 0 ||
- TREE_CODE(DECL_FIELD_OFFSET(Member)) != INTEGER_CST)
- // FIXME: field with variable position, skip it for now.
- continue;
-
- /* Ignore nameless fields. */
- if (DECL_NAME (Member) == NULL_TREE
- && !(TREE_CODE (TREE_TYPE (Member)) == UNION_TYPE
- || TREE_CODE (TREE_TYPE (Member)) == RECORD_TYPE))
- continue;
-
- // Field type is the declared type of the field.
- tree FieldNodeType = FieldType(Member);
- DIType MemberType = getOrCreateType(FieldNodeType);
- StringRef MemberName = GetNodeName(Member);
- unsigned MFlags = 0;
- if (TREE_PROTECTED(Member))
- MFlags = llvm::DIType::FlagProtected;
- else if (TREE_PRIVATE(Member))
- MFlags = llvm::DIType::FlagPrivate;
-
- DIType DTy =
- DebugFactory.CreateDerivedType(DW_TAG_member,
- findRegion(DECL_CONTEXT(Member)),
- MemberName,
- getOrCreateCompileUnit(MemLoc.file),
- MemLoc.line, NodeSizeInBits(Member),
- NodeAlignInBits(FieldNodeType),
- int_bit_position(Member),
- MFlags, MemberType);
- EltTys.push_back(DTy);
- } if (TREE_CODE(Member) == VAR_DECL) {
- EltTys.push_back(DebugFactory.
- CreateVariable(DW_TAG_auto_variable,
- findRegion(DECL_CONTEXT(Member)),
- GetNodeName(Member),
- getOrCreateCompileUnit(MemLoc.file),
- MemLoc.line,
- getOrCreateType(TREE_TYPE(Member))));
- }
+ if (DECL_FIELD_OFFSET(Member) == 0 ||
+ TREE_CODE(DECL_FIELD_OFFSET(Member)) != INTEGER_CST)
+ // FIXME: field with variable position, skip it for now.
+ continue;
+
+ /* Ignore nameless fields. */
+ if (DECL_NAME (Member) == NULL_TREE
+ && !(TREE_CODE (TREE_TYPE (Member)) == UNION_TYPE
+ || TREE_CODE (TREE_TYPE (Member)) == RECORD_TYPE))
+ continue;
+
+ // Field type is the declared type of the field.
+ tree FieldNodeType = FieldType(Member);
+ DIType MemberType = getOrCreateType(FieldNodeType);
+ StringRef MemberName = GetNodeName(Member);
+ unsigned MFlags = 0;
+ if (TREE_PROTECTED(Member))
+ MFlags = llvm::DIType::FlagProtected;
+ else if (TREE_PRIVATE(Member))
+ MFlags = llvm::DIType::FlagPrivate;
+
+ DIType DTy =
+ DebugFactory.CreateDerivedType(DW_TAG_member,
+ findRegion(DECL_CONTEXT(Member)),
+ MemberName,
+ getOrCreateCompileUnit(MemLoc.file),
+ MemLoc.line, NodeSizeInBits(Member),
+ NodeAlignInBits(FieldNodeType),
+ int_bit_position(Member),
+ MFlags, MemberType);
+ EltTys.push_back(DTy);
}
for (tree Member = TYPE_METHODS(type); Member;
More information about the llvm-commits
mailing list