On Mon, Jan 08, 2018 at 12:10:50PM -0500, Nathan Sidwell wrote:
> > Both "_S_terminal" VAR_DECLs have a "_CharT" TEMPLATE_TYPE_PARM, but
> > these types are different tree nodes.
>
> correct. they are not EQ but are EQUAL (same_type_p will be true).
So perhaps location_wrapper_p could use that instead of pointer comparison.
Though it would be expensive.
> > Some ideas:
>
> > * don't add location wrappers if processing a template
> >
> > * introduce a new tree node for location wrappers (gah)
> >
> > * something I haven't thought of
>
> Add a flag on the VIEW_CONVERT/NON_LVALUE expr explicitly noting its
> wrapperness (rather than infer it from TREE_TYPE == TREE_TYPE
> (TREE_OPERAND)). TREE_LANG_FLAG_0 looks available?
Yeah, I think most if not all lang flags are still available for those two
tree codes and checking that should be quite cheap.
Jakub