public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: java/5941: incorrect "Unreachable statement" error
Date: Mon, 25 Mar 2002 13:26:00 -0000 [thread overview]
Message-ID: <20020325212602.30915.qmail@sources.redhat.com> (raw)
The following reply was made to PR java/5941; it has been noted by GNATS.
From: Tom Tromey <tromey@redhat.com>
To: shroff@transeda.com
Cc: gcc-gnats@gcc.gnu.org, "Eric B. Blake" <ebb9@email.byu.edu>,
Per Bothner <per@bothner.com>
Subject: Re: java/5941: incorrect "Unreachable statement" error
Date: 25 Mar 2002 14:51:58 -0700
>>>>> "Saurin" == Saurin B Shroff <shroff@transeda.com> writes:
Hi. I looked at this PR a little more today.
Saurin> Following is a simplified code that shows this behavior:
In your original code the loop didn't appear to always complete
abnormally. So this code looks different. We might be seeing two
different problems.
Saurin> public class bug2 {
Saurin> public static int showBug2 () {
Saurin> for (int i=0; i <= 10; i++) {
Saurin> if ( i > 3 ) {
Saurin> return 10;
Saurin> } else {
Saurin> return 11;
Saurin> }
Saurin> }
Saurin> return 12;
Saurin> }
Saurin> }
Saurin> As you will notice that loop is exited after first iteration,
Saurin> and so the loop incrementer "i++" will never be executed.
Yes. It looks like the language spec is unclear on this issue.
I'm looking at The Java Language Specification, 2nd Edition. Section
14.20 deals with unreachable statements. The subsection on the `for'
statement doesn't mention conditions under which the update expression
is considered unreachable.
The Sun JDK 1.2 and 1.4 `javac' compilers don't give an error here,
which is suggestive but not authoritative.
I think what gcj does is reasonable. This might simply be a bug in
the language spec. However, I'm not certain. Perhaps there is a
subtle reason for this omission.
Eric, Per, what do you think?
Saurin> What I would suggest that "Unreachable statement" should be a
Saurin> warning rather than error since it stops the compilation
The language specification requires an error for unreachable code.
Tom
next reply other threads:[~2002-03-25 21:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-25 13:26 Tom Tromey [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-05-06 21:14 tromey
2002-04-25 11:47 tromey
2002-04-01 19:46 Per Bothner
2002-04-01 16:56 Tom Tromey
2002-04-01 16:46 Eric Blake
2002-03-25 14:46 Eric Blake
2002-03-13 12:56 Saurin B. Shroff
2002-03-13 12:16 Tom Tromey
2002-03-13 11:36 shroff
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=20020325212602.30915.qmail@sources.redhat.com \
--to=tromey@redhat.com \
--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).