aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2002-02-26 06:58:01 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2002-02-26 06:58:01 +0000
commit0e98f924382c57b9d2781944ca534c893a7976b8 (patch)
tree5c5f1a8ad11f67954275c0e6979b919433ead64c /gcc/dwarf2out.c
parenta50cfd52a6419578d6010b1a6e4301a308b68017 (diff)
downloadgcc-0e98f924382c57b9d2781944ca534c893a7976b8.zip
gcc-0e98f924382c57b9d2781944ca534c893a7976b8.tar.gz
gcc-0e98f924382c57b9d2781944ca534c893a7976b8.tar.bz2
dwarf2out.c (modified_type_die): Do not call type_main_variant for vectors.
2002-02-26 Aldy Hernandez <aldyh@redhat.com> * dwarf2out.c (modified_type_die): Do not call type_main_variant for vectors. (gen_type_die): Same. * attribs.c (handle_vector_size_attribute): Set debug information. From-SVN: r50048
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 8d7d48b..6313aeb 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -7565,7 +7565,12 @@ modified_type_die (type, is_const_type, is_volatile_type, context_die)
copy was created to help us keep track of typedef names) and
that copy might have a different TYPE_UID from the original
..._TYPE node. */
- mod_type_die = lookup_type_die (type_main_variant (type));
+ if (TREE_CODE (type) != VECTOR_TYPE)
+ mod_type_die = lookup_type_die (type_main_variant (type));
+ else
+ /* Vectors have the debugging information in the type,
+ not the main variant. */
+ mod_type_die = lookup_type_die (type);
if (mod_type_die == NULL)
abort ();
}
@@ -10976,10 +10981,13 @@ gen_type_die (type, context_die)
if (type == NULL_TREE || type == error_mark_node)
return;
- /* We are going to output a DIE to represent the unqualified version of
- this type (i.e. without any const or volatile qualifiers) so get the
- main variant (i.e. the unqualified version) of this type now. */
- type = type_main_variant (type);
+ /* We are going to output a DIE to represent the unqualified version
+ of this type (i.e. without any const or volatile qualifiers) so
+ get the main variant (i.e. the unqualified version) of this type
+ now. (Vectors are special because the debugging info is in the
+ cloned type itself). */
+ if (TREE_CODE (type) != VECTOR_TYPE)
+ type = type_main_variant (type);
if (TREE_ASM_WRITTEN (type))
return;