Blame SOURCES/gcc32-dwarf2-pruning-keep-spec.patch

6f1b0c
2004-08-13  Alexandre Oliva  <aoliva@redhat.com>
6f1b0c
6f1b0c
	* dwarf2out.c (prune_unused_types_walk): Mark the specification if
6f1b0c
	the declaration is marked.
6f1b0c
6f1b0c
--- gcc/dwarf2out.c	2004-08-13 04:46:06.000000000 -0300
6f1b0c
+++ gcc/dwarf2out.c	2004-08-13 04:47:21.904025637 -0300
6f1b0c
@@ -12364,6 +12364,12 @@ prune_unused_types_walk (die)
6f1b0c
     return;
6f1b0c
 
6f1b0c
   switch (die->die_tag) {
6f1b0c
+  case DW_TAG_structure_type:
6f1b0c
+    /* If the declaration is marked, mark the specification as well.  */
6f1b0c
+    if ((c = get_AT_ref (die, DW_AT_specification)) != NULL
6f1b0c
+	&& c->die_mark)
6f1b0c
+      break;
6f1b0c
+
6f1b0c
   case DW_TAG_const_type:
6f1b0c
   case DW_TAG_packed_type:
6f1b0c
   case DW_TAG_pointer_type:
6f1b0c
@@ -12371,7 +12377,6 @@ prune_unused_types_walk (die)
6f1b0c
   case DW_TAG_volatile_type:
6f1b0c
   case DW_TAG_typedef:
6f1b0c
   case DW_TAG_array_type:
6f1b0c
-  case DW_TAG_structure_type:
6f1b0c
   case DW_TAG_union_type:
6f1b0c
   case DW_TAG_class_type:
6f1b0c
   case DW_TAG_friend: