------- Comment #17 from bonzini at gnu dot org  2009-02-03 12:51 -------
The failure happens because structural_comptypes calls resolve_typename_type,
while merge_types does not.  Maybe it should as in this patch?

Index: ../../peak-gcc-src/gcc/cp/typeck.c
===================================================================
--- ../../peak-gcc-src/gcc/cp/typeck.c  (revision 143676)
+++ ../../peak-gcc-src/gcc/cp/typeck.c  (working copy)
@@ -606,6 +606,11 @@ merge_types (tree t1, tree t2)
   if (TYPE_PTRMEMFUNC_P (t2))
     t2 = TYPE_PTRMEMFUNC_FN_TYPE (t2);

+  if (TREE_CODE (t1) == TYPENAME_TYPE)
+    t1 = resolve_typename_type (t2, /*only_current_p=*/true);
+  if (TREE_CODE (t2) == TYPENAME_TYPE)
+    t2 = resolve_typename_type (t2, /*only_current_p=*/true);
+
   code1 = TREE_CODE (t1);
   code2 = TREE_CODE (t2);



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37314

Reply via email to