On Wed, Nov 21, 2018 at 01:29:15PM -0500, Jason Merrill wrote:
> > similarly for operator"" _F the column is under _ rather than first o.
>
> I disagree with this one: the name of the declaration is operator""_F, so I
> think the caret should go at the first o.
Right now when cp_parser_operator_function_id is called, it returns locus like:
operator new
^~~
operator delete []
^~~~~~~~~
operator ==
^
operator "" _foo
UNKNOWN_LOCATION
The last one is because for others we do return cp_expr (id, start_loc);
but for operator "" just return id;
So, do you suggest we should instead return
operator new
^~~~~~~~~~~~
operator delete []
^~~~~~~~~~~~~~~~~~
operator ==
^~~~~~~~~~~
operator "" _foo
^~~~~~~~~~~~~~~~
?
That would mean cp_parser_operator_function_id would need to pass
location_t start_loc (the start of the operator token) to cp_parser_operator and
let that create a range in all cases rather than just for operator
new/delete.
Jakub