[Bug c++/34950] [4.2/4.3 Regression] ICE in svn boost math toolkit
------- Comment #15 from mark at codesourcery dot com 2008-02-19 06:15 -------
Subject: Re: [4.2/4.3 Regression] ICE in svn boost math toolkit
rguenth at gcc dot gnu dot org wrote:
> ------- Comment #14 from rguenth at gcc dot gnu dot org 2008-02-12 23:19 -------
> It looks like simply deleting from dependent_type_p:
>
> /* If there are no template parameters in scope, then there can't be
> any dependent types. */
> if (!processing_template_decl)
> {
> /* If we are not processing a template, then nobody should be
> providing us with a dependent type. */
> gcc_assert (type);
> gcc_assert (TREE_CODE (type) != TEMPLATE_TYPE_PARM);
> return false;
> }
>
> fixes the testcase - so we are probably not setting processing_template_decl
> correctly(?). Or is it even correct and the check in the context of
> the caller make_typename_type is simply bogus?
We definitely don't want to delete that from dependent_type_p; it's a
vital optimization. I think the usage in make_typename_type is correct;
when CONTEXT is a dependent type, we have to make a real TYPENAME_TYPE;
when it's not, we can figure out what's being referenced immediately.
What does the stack trace look like at the point we're crashing? What
typename type are trying to simplify?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34950
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Reply to: