Implementing p0515 - spaceship operator

Martin Sebor msebor@gmail.com
Tue Jan 9 16:10:00 GMT 2018


On 01/08/2018 02:07 PM, Tim van Deurzen wrote:
> Hi,
>
> I've been spending some time the past few weeks implementing p0515r2,
> i.e. the proposal for consistent comparisons for C++ (aka the spaceship
> operator). I've received some very valuable help on the IRC channel, but
> I'm still a little bit stuck. Note, I'm completely new to the GCC
> codebase and am very much still getting oriented.
>
> Following advice from some of the people in IRC channel I implemented
> parsing the new token in libcpp and I seem to be successfully parsing it
> and creating a new AST node. As this feature is not in the C++ standard
> yet, I wanted to add a command line flag to enable usage of the new
> operator and ignoring it otherwise. I managed to get cc1plus to accept
> the parameter, but it seems that when I invoke my own g++ binary with
> that parameter, it complains about unknown parameters.

As Jonathan mentioned, you may not need a new option for this.
But it's useful to know how to add one in any case.  Reading
the manual is a good idea but the easiest way to actually add
one by far is to look at a simple change that adds in git or
svn log one and follow its example.  This command will give you
such a list: git log -p --grep="New option"  Then just look for
an option that affects the front-end.  A warning options might
be a good example.

Martin

>
> I'm perfectly happy to dig further on my own, but I get the feeling I'm
> missing some documentation / resource somewhere that might help me out.
> Is there some documentation about adding and passing around parameters
> that will be used both in libcpp and the C++ front-end? What would be
> the best place to look to learn more about how part of GCC this is
> structured? I want to make sure I go about this correctly.
>
>
> If this is the wrong place to ask for help, please redirect me, so that
> I don't unnecessarily spam the wrong mailing list :-).
>
>
> Kind regards,
>
> Tim.
>
>
>



More information about the Gcc mailing list