public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* C++ extension "cast-as-lvalues": time to deprecate?
@ 2003-05-08 23:54 Giovanni Bajo
  2003-05-09  4:06 ` Fergus Henderson
  2003-05-09  6:55 ` Gabriel Dos Reis
  0 siblings, 2 replies; 23+ messages in thread
From: Giovanni Bajo @ 2003-05-08 23:54 UTC (permalink / raw)
  To: gcc; +Cc: Giovanni Bajo

Hello,

GCC implements an extension which lets cast result be a lvalue instead of a
rvalue, as would be prescribed by the standard. There are several open PRs
about problems with this extension, some of which are very tricky and
involves also wrong-code problems (together with inliner, for instance).
Just for reference, you may want to check:

http://gcc.gnu.org/PR?1833
http://gcc.gnu.org/PR?1920
http://gcc.gnu.org/PR?7503
http://gcc.gnu.org/PR?7884

Other PRs have been closed already as duplicates.

I think there are no doubts that this extension causes confusion among
users, because the behaviour is not expected. Plus, bugs in its
implementation causes very bad side effects. If this was not enough, the
extension is active even in -ansi -pedantic mode, which is counter intuive
and confusing. Since GCC already deprecated and removed less evil extensions
like implicit typename, I wonder if maybe it's time to deprecate this
"cast-as-lvalue" and remove it as soon as possible.

Giovanni Bajo

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

end of thread, other threads:[~2003-05-16  1:23 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-08 23:54 C++ extension "cast-as-lvalues": time to deprecate? Giovanni Bajo
2003-05-09  4:06 ` Fergus Henderson
2003-05-09  8:34   ` Joseph S. Myers
2003-05-09 12:38     ` Fergus Henderson
2003-05-09 12:41       ` Gabriel Dos Reis
2003-05-09 22:12     ` Neil Booth
2003-05-09 22:39       ` Joseph S. Myers
2003-05-09 12:49   ` Giovanni Bajo
2003-05-09 14:06     ` Fergus Henderson
2003-05-09  6:55 ` Gabriel Dos Reis
2003-05-09 17:15   ` Joe Buck
2003-05-09 17:45     ` Gabriel Dos Reis
2003-05-09 18:13     ` Matt Austern
2003-05-09 18:34       ` Nathan Sidwell
2003-05-09 18:48         ` Giovanni Bajo
2003-05-09 21:01         ` Joe Buck
2003-05-09 23:21           ` Mark Mitchell
2003-05-12 16:30             ` Joe Buck
2003-05-12 16:42               ` Mark Mitchell
2003-05-12 17:11                 ` Joe Buck
2003-05-12 17:58                 ` Fergus Henderson
2003-05-16  1:15             ` Giovanni Bajo
2003-05-16  1:23               ` Joe Buck

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).