@@ -19891,6 +19891,7 @@ is_naming_typedef_decl (const_tree decl)
if (decl == NULL_TREE
|| TREE_CODE (decl) != TYPE_DECL
|| !is_tagged_type (TREE_TYPE (decl))
+ || DECL_IS_BUILTIN (decl)
|| is_redundant_typedef (decl)
/* It looks like Ada produces TYPE_DECLs that are very similar
to C++ naming typedefs but that have different
new file mode 100644
@@ -0,0 +1,7 @@
+// { dg-options "-g" }
+// { dg-do compile }
+
+// On some platforms like MIPS, __builtin_va_list is a
+// RECORD_TYPE. Make sure we don't wrongly try to generate debug info
+// for its TYPE_DECL and crash.
+typedef __builtin_va_list foo;