mirror of git://gcc.gnu.org/git/gcc.git
compiler: Permit label on fallthrough statement.
Test case: https://go-review.googlesource.com/7523 . From-SVN: r221428
This commit is contained in:
parent
f41914c385
commit
cbf259c447
|
|
@ -3735,6 +3735,17 @@ Parse::labeled_stmt(const std::string& label_name, Location location)
|
|||
|
||||
if (!this->statement_may_start_here())
|
||||
{
|
||||
if (this->peek_token()->is_keyword(KEYWORD_FALLTHROUGH))
|
||||
{
|
||||
// We don't treat the fallthrough keyword as a statement,
|
||||
// because it can't appear most places where a statement is
|
||||
// permitted, but it may have a label. We introduce a
|
||||
// semicolon because the caller expects to see a statement.
|
||||
this->unget_token(Token::make_operator_token(OPERATOR_SEMICOLON,
|
||||
location));
|
||||
return;
|
||||
}
|
||||
|
||||
// Mark the label as used to avoid a useless error about an
|
||||
// unused label.
|
||||
if (label != NULL)
|
||||
|
|
|
|||
Loading…
Reference in New Issue