On Fri, 2006-09-01 at 20:13 -0400, Andrew Pinski wrote:
> This was caused by:
> http://gcc.gnu.org/viewcvs?view=rev&revision=116623
And here is one reduced testcase which we just reject now but it is
valid code as far as I can tell:
template< class other>
struct bin_search_tree_data_
{
typedef typename other::node node;
typedef node *node_pointer;
~bin_search_tree_data_()
{
m_p_head->~node();
}
node_pointer m_p_head;
};
struct blowup
{
typedef int node;
};
bin_search_tree_data_< blowup > r;
------------------------------ Here is one that ICEs also and closer to
the original code:
template< class other>
struct bin_search_tree_data_
{
typedef typename other::node node;
typedef node *node_pointer;
~bin_search_tree_data_()
{
m_p_head->~node();
}
node_pointer m_p_head;
};
struct blowup2{};
struct blowup
{
typedef blowup2 node;
};
bin_search_tree_data_< blowup > r;
Thanks,
Andrew Pinski