This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[C++ Patch] PR 58457


Hi,

in this 4.8/4.9 Regression having to do with using declarations we ICE at the gcc_assert in instantiate_type:

   gcc_assert (TREE_CODE (rhs) == ADDR_EXPR
           || TREE_CODE (rhs) == COMPONENT_REF
           || really_overloaded_fn (rhs)
           || (flag_ms_extensions && TREE_CODE (rhs) == FUNCTION_DECL));

because really_overloaded_fn (rhs) is false. Marek figured out that the ICE started with the representation change:

    http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=184873

which means that OVERLOADs are *always* built for using-decls. Thus I think it could make sense to simply loosen a bit the gcc_assert. The below passes testing + fixes c++/57444 too.

Thanks,
Paolo.

//////////////////////

Attachment: CL_58457
Description: Text document

Attachment: patch_58457
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]