patch that caused regression PR c++/8917

Janis Johnson janis187@us.ibm.com
Mon Dec 16 13:55:00 GMT 2002


The regression reported in PR c++/8917 showed up starting with this
patch (the same one that causes the regression in PR c++/8913, which
gets the same ICE message):

gcc:

>2002-12-04  Jason Merrill  <jason@redhat.com>
>
>	PR c++/8461, c++/8625
>	* integrate.c (copy_decl_for_inlining): Handle explicit invisible
>	references.
>	* tree-inline.c (initialize_inlined_parameters): Likewise.
>
>	* tree.c (variably_modified_type_p): Just return an error_mark_node.

gcc/cp:

>2002-12-03  Jason Merrill  <jason@redhat.com>
>
>	PR c++/8461, c++/8625
>	* call.c (convert_for_arg_passing): Don't mess with error_mark_node.
>	(cp_convert_parm_for_inlining): Remove.
>	* cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): 
>	Remove.
>	* cp-tree.h (ADDR_IS_INVISIREF): Remove.
>	* except.c (stabilize_throw_expr): Remove ADDR_IS_INVISIREF code.

Here's a small test case that causes the ICE, which occurs in the
mainline:

---------------
template <class T>
struct THandle
{
  ~THandle();
};

inline void
get_chunk_object(THandle<int> pchk)
{
}

void bar (THandle<int>& h)
{
  get_chunk_object (h);
}
---------------

Output from the compiler:

8917.C: In function `void bar(THandle<int>&)':
8917.C:9: internal compiler error: in simplify_gen_subreg, at simplify-rtx.c:
   2673
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

I'll also add this information to GNATS.

Janis



More information about the Gcc mailing list