[PATCH] [Annotalysis] Fix internal compiler error on template methods
Diego Novillo
dnovillo@google.com
Thu Sep 29 20:36:00 GMT 2011
On 11-09-29 13:21 , Delesley Hutchins wrote:
> I don't have a test case, but look at the definitions of the two
> macros in cp/cp-tree.h. DECL_CLONED_FUNCTION_P calls
> decl_cloned_function_p, passing true as the second argument, while
> DECL_CLONED_FUNCTION makes the same call, but passes false. Now look
> at the definition of decl_cloned_function_p in cp/class.c. If the
> second argument is true, it will step into templates, and if it is
> false, it won't. Incidentally, the ICE occurs when
> DECL_CLONED_FUNCTION is applied to a template function, so this is not
> a hypothetical case. :-)
But notice that STRIP_TEMPLATE is a NOP when DECL is not a
TEMPLATE_DECL. So, I'm not sure where you saw it ICE. We are already
using this idiom all over the parser, so it would be great if you could
produce a test case for the failure you have in mind.
Incidentally, I applied the variant of the patch Ollie and I suggested
and the testcase works fine with it (while it fails without the patch,
of course).
Diego.
More information about the Gcc-patches
mailing list