On 04/12/2016 09:25 AM, Paolo Carlini wrote:
in this regression we have an infinite recursion affecting the
same_type_p call at parser.c:25125 which I added in the patch for
c++/38313. The issue is that for, eg, the testcase at issue, we are
passing a TYPENAME_TYPE to same_type_p. I think we can simply handle the
problem by checking first that we have a CLASS_TYPE_P as TREE_TYPE
(type_decl). Tested x86_64-linux.

I don't see how this can be considered valid code; the typenames are indeed mutually recursive, with no real underlying type anywhere. clang and EDG both reject the testcase if the template is instantiated. Please add an instantiation to the testcase. And we should fix the recursion issue in structural_comptypes.

Jason

Reply via email to