public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: "Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: c/8828: gcc reports some code is unreachable when it is not
Date: Fri, 06 Dec 2002 17:06:00 -0000	[thread overview]
Message-ID: <20021207010603.14085.qmail@sources.redhat.com> (raw)

The following reply was made to PR c/8828; it has been noted by GNATS.

From: "Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de>
To: Rolf Campbell <rcampbell@tropicnetworks.com>
Cc: reichelt@igpm.rwth-aachen.de, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
  nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: c/8828: gcc reports some code is unreachable when it is not
Date: Sat, 7 Dec 2002 01:58:19 +0100

 On Fri, Dec 06, 2002 at 11:22:32AM -0500, Rolf Campbell wrote:
 > But, this was compiled WITHOUT optimizations (gcc -Wunreachable-code -c
 > a.c), so there should be no removal of superfluous code, or folding of
 > break statements.
 
 Even without optimization it is possible that some code is unused
 and removed. In this particular case the following case statement
 
 switch (i) {
 case 0:
    for (; i<2; i++)
       x++
    break;
 case 1:
    x++;break;
 }
 
 Is rewritten to look like this (even without optimization this is allowed):
 switch (i) {
 case 0:
 startfor:
    if (i>=2)
       goto caseend;
    x++; i++;
    goto startfor;
    break;
 case 1:
    x++;break;
 }
 caseend:
 
 which makes the first break statement unreachable. This is completly
 legal and the compiler is even right in some sense that the break
 statement is unreachable. Others should decide if this is actually a
 bug but the warning is off by default for a reason.
 
     regards   Christian
 
 -- 
 THAT'S ALL FOLKS!


             reply	other threads:[~2002-12-07  1:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-06 17:06 Christian Ehrhardt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-12-06 15:56 Wolfgang Bangerth
2002-12-06  8:26 Rolf Campbell
2002-12-06  8:16 Christian Ehrhardt
2002-12-06  1:29 reichelt
2002-12-05 13:06 rcampbell

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=20021207010603.14085.qmail@sources.redhat.com \
    --to=ehrhardt@mathematik.uni-ulm.de \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@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).