[llvm-commits] [llvm-gcc-4.2] r96656 - /llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp
Devang Patel
dpatel at apple.com
Thu Feb 18 18:58:05 PST 2010
Author: dpatel
Date: Thu Feb 18 20:58:05 2010
New Revision: 96656
URL: http://llvm.org/viewvc/llvm-project?rev=96656&view=rev
Log:
Fix debug info for vectors.
Test is at test/FrontendC/2010-02-18-Dbg-VectorType.c
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=96656&r1=96655&r2=96656&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp Thu Feb 18 20:58:05 2010
@@ -735,15 +735,18 @@
DIType DebugInfo::createArrayType(tree type) {
// type[n][m]...[p]
- if (TYPE_STRING_FLAG(type) && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE){
+ if (TREE_CODE (type) == ARRAY_TYPE
+ && TYPE_STRING_FLAG(type) && TREE_CODE(TREE_TYPE(type)) == INTEGER_TYPE){
DEBUGASSERT(0 && "Don't support pascal strings");
return DIType();
}
unsigned Tag = 0;
- if (TREE_CODE(type) == VECTOR_TYPE)
+ if (TREE_CODE(type) == VECTOR_TYPE) {
Tag = DW_TAG_vector_type;
+ type = TREE_TYPE (TYPE_FIELDS (TYPE_DEBUG_REPRESENTATION_TYPE (type)));
+ }
else
Tag = DW_TAG_array_type;
@@ -756,7 +759,8 @@
// type.
tree atype = type;
tree EltTy = TREE_TYPE(atype);
- for (; TREE_CODE(atype) == ARRAY_TYPE; atype = TREE_TYPE(atype)) {
+ for (; TREE_CODE(atype) == ARRAY_TYPE;
+ atype = TREE_TYPE(atype)) {
tree Domain = TYPE_DOMAIN(atype);
if (Domain) {
// FIXME - handle dynamic ranges
More information about the llvm-commits
mailing list