public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "mtewoodbury at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/59193] Unused postfix operator temporaries
Date: Wed, 19 Feb 2014 06:15:00 -0000	[thread overview]
Message-ID: <bug-59193-4-OG95XdS1Pm@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-59193-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59193

Max TenEyck Woodbury <mtewoodbury at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |---

--- Comment #4 from Max TenEyck Woodbury <mtewoodbury at gmail dot com> ---
There is another semantic element to the a++ operator; the temporary where the
original value of the variable is stored until used.  You are either unaware of
this aspect of the language or are deliberately ignoring it.

This has NOTHING to do with overloading the postfix operators.  This is part of 
the basic definition of the C language.  In fact, C does NOT have operator
overloading and the majority of GCC is written in C, not C++.

Without optimization, this temporary store is allocated and set even if the
value is never used.  The fact that to value is not used and need never be set
is detected during optimization.  The fact that the temporary store is then
never
used and can be eliminated requires further optimization.  All this extra work
is unnecessary in well written code.  That makes the use of a++ where ++a will
do a minor coding defect.  This bug report provides a referent for changes that
improve that kind of defective code.

Since there are hundreds, if not thousands of instances of this defect in the
GCC code and there is no urgency in correcting these defects, this bug will
only
get resolved slowly.  Closing it for invalid reasons does the community a
disservice.


  parent reply	other threads:[~2014-02-19  6:15 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-59193-4@http.gcc.gnu.org/bugzilla/>
2013-11-19 16:41 ` joseph at codesourcery dot com
2013-11-20  0:59 ` pinskia at gcc dot gnu.org
2014-02-05  9:07 ` mpolacek at gcc dot gnu.org
2014-02-12 19:22 ` mtewoodbury at gmail dot com
2014-02-12 19:30 ` pinskia at gcc dot gnu.org
2014-02-19  6:15 ` mtewoodbury at gmail dot com [this message]
2014-02-19  9:58 ` pinskia at gcc dot gnu.org
2014-02-19 10:18 ` jakub at gcc dot gnu.org
2014-02-20  2:48 ` mtewoodbury at gmail dot com
2014-02-20  6:15 ` pinskia at gcc dot gnu.org
2014-02-22  2:03 ` mtewoodbury at gmail dot com
2014-02-22  4:19 ` pinskia at gcc dot gnu.org
2014-02-22 11:10 ` mtewoodbury at gmail dot com
2014-06-25 11:27 ` mpolacek at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-59193-4-OG95XdS1Pm@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).