------- Comment #2 from pinskia at gcc dot gnu dot org 2005-11-30 16:11 -------
(In reply to comment #1)
> We should reject this.
But that is a different bug.
Anyways fixing up the code to be legal code:
extern int abort();
int test_18()
{
int type;
switch (type)
{
case 1:
{ int ret = abort();
if (ret != 0)
return 2;
break;}
case 3:
break;
default:
return 1;
}
return 0;
}
---
We only warn for 3.4.x and below except 3.0.4 works so this is only a 3.4
regression.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |diagnostic
Known to fail| |3.3.3 3.4.0
Known to work| |3.0.4 4.0.0 4.1.0 4.2.0
Last reconfirmed|0000-00-00 00:00:00 |2005-11-30 16:11:44
date| |
Summary|wrong "will never be |[3.4 Regression] wrong "will
|executed" warning in switch |never be executed" warning
|- case block |in switch - case block
Target Milestone|--- |3.4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25181