@@ -9618,6 +9618,7 @@ is_type_die (dw_die_ref die)
case DW_TAG_packed_type:
case DW_TAG_volatile_type:
case DW_TAG_typedef:
+ case DW_TAG_unspecified_type:
return 1;
default:
return 0;
@@ -9635,9 +9636,11 @@ is_comdat_die (dw_die_ref c)
/* I think we want to leave base types and __vtbl_ptr_type in the main CU, as
we do for stabs. The advantage is a greater likelihood of sharing between
objects that don't include headers in the same order (and therefore would
- put the base types in a different comdat). jason 8/28/00 */
+ put the base types in a different comdat). jason 8/28/00
+ We don't put DW_TAG_unspecified_type in comdat sections either. */
- if (c->die_tag == DW_TAG_base_type)
+ if (c->die_tag == DW_TAG_base_type
+ || c->die_tag == DW_TAG_unspecified_type)
return 0;
if (c->die_tag == DW_TAG_pointer_type
new file mode 100644
@@ -0,0 +1,11 @@
+// Origin PR debug/47361
+// { dg-options "-g -std=gnu++0x -feliminate-dwarf2-dups" }
+
+typedef decltype (nullptr) nullptr_t;
+
+struct A
+{
+ A (nullptr_t = 0);
+};
+
+A a;
new file mode 100644
@@ -0,0 +1,11 @@
+// Origin PR debug/47361
+// { dg-options "-g -std=gnu++0x -feliminate-dwarf2-dups -gdwarf-4" }
+
+typedef decltype (nullptr) nullptr_t;
+
+struct A
+{
+ A (nullptr_t = 0);
+};
+
+A a;