mirror of
https://github.com/frida/tinycc
synced 2024-12-24 22:16:49 +03:00
Remove label_or_decl
The only use of this function can be rewritten in terms of is_label (if one other use of that one are a bit amended).
This commit is contained in:
parent
c7dbc900c8
commit
9839b60177
26
tccgen.c
26
tccgen.c
@ -5350,7 +5350,6 @@ static int is_label(void)
|
||||
last_tok = tok;
|
||||
next();
|
||||
if (tok == ':') {
|
||||
next();
|
||||
return last_tok;
|
||||
} else {
|
||||
unget_tok(last_tok);
|
||||
@ -5358,25 +5357,6 @@ static int is_label(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void label_or_decl(int l)
|
||||
{
|
||||
int last_tok;
|
||||
|
||||
/* fast test first */
|
||||
if (tok >= TOK_UIDENT)
|
||||
{
|
||||
/* no need to save tokc because tok is an identifier */
|
||||
last_tok = tok;
|
||||
next();
|
||||
if (tok == ':') {
|
||||
unget_tok(last_tok);
|
||||
return;
|
||||
}
|
||||
unget_tok(last_tok);
|
||||
}
|
||||
decl(l);
|
||||
}
|
||||
|
||||
#ifndef TCC_TARGET_ARM64
|
||||
static void gfunc_return(CType *func_type)
|
||||
{
|
||||
@ -5601,7 +5581,10 @@ static void block(int *bsym, int *csym, int is_expr)
|
||||
}
|
||||
}
|
||||
while (tok != '}') {
|
||||
label_or_decl(VT_LOCAL);
|
||||
if ((a = is_label()))
|
||||
unget_tok(a);
|
||||
else
|
||||
decl(VT_LOCAL);
|
||||
if (tok != '}') {
|
||||
if (is_expr)
|
||||
vpop();
|
||||
@ -5826,6 +5809,7 @@ static void block(int *bsym, int *csym, int is_expr)
|
||||
b = is_label();
|
||||
if (b) {
|
||||
/* label case */
|
||||
next();
|
||||
s = label_find(b);
|
||||
if (s) {
|
||||
if (s->r == LABEL_DEFINED)
|
||||
|
Loading…
Reference in New Issue
Block a user