public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* C2X Proposal, merge '.' and '->' C operators
@ 2019-12-16 13:51 J Decker
  2019-12-17  4:59 ` J Decker
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: J Decker @ 2019-12-16 13:51 UTC (permalink / raw)
  To: gcc

Here's the gist of what I would propose...
https://gist.github.com/d3x0r/f496d0032476ed8b6f980f7ed31280da

In C, there are two operators . and -> used to access members of struct and
union types. These operators are specified such that they are always paired
in usage; for example, if the left hand expression is a pointer to a struct
or union, then the operator -> MUST be used. There is no occasion where .
and -> may be interchanged, given the existing specification.

It should be very evident to the compiler whether the token before '.' or
'->' is a pointer to a struct/union or a struct/union, and just build the
appropriate output.

The source modification for the compiler is very slight, even depending on
flag_c2x(that's not it's name).  It ends up changing a lot of existing
lines, just to change their indentation; but that shouldn't really count
against 'changed lines'.

I'm sure, after 4 score and some years ('78-19) that it must surely have
come up before?  Anyone able to point me to those existing proposals?

D

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-12-27 14:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16 13:51 C2X Proposal, merge '.' and '->' C operators J Decker
2019-12-17  4:59 ` J Decker
2019-12-17 10:53 ` Florian Weimer
2019-12-20 19:59   ` J Decker
2019-12-20 20:04     ` J Decker
2019-12-20 20:16       ` J Decker
2019-12-21 18:27 ` Eric Gallager
2019-12-21 18:51 ` Ian Lance Taylor
2019-12-21 23:04   ` Eric Botcazou
2019-12-21 19:11 ` Allan Sandfeld Jensen
2019-12-27  6:23   ` J Decker
2019-12-27 14:44     ` Tadeus Prastowo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).