@@ -1791,7 +1791,7 @@ strip_typedefs (tree t, bool *remove_attributes, unsigned int flags)
Ts pack, resulting in an error. */
if (type != pat && uses_parameter_packs (type))
{
- result = copy_node (t);
+ result = build_distinct_type_copy (t);
PACK_EXPANSION_PATTERN (result) = type;
}
}
new file mode 100644
@@ -0,0 +1,9 @@
+// PR c++/103769
+// { dg-do compile { target c++11 } }
+// { dg-additional-options "--param=hash-table-verification-limit=1000" }
+
+template <typename T> using t = T;
+template <typename...> struct s {};
+template <typename...Args> s<t<Args>...> f() { return {};}
+
+int main() { f<void>(); }