mirror of
https://github.com/cc65/cc65.git
synced 2025-03-03 09:32:33 +00:00
Merged some switch cases in code generation subroutines.
This commit is contained in:
parent
6b64b43395
commit
28de3423eb
@ -1540,19 +1540,13 @@ void Store (ExprDesc* Expr, const Type* StoreType)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case E_LOC_GLOBAL:
|
case E_LOC_GLOBAL:
|
||||||
/* Global variable */
|
|
||||||
g_putstatic (Flags, Expr->Name, Expr->IVal);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_STATIC:
|
case E_LOC_STATIC:
|
||||||
|
case E_LOC_REGISTER:
|
||||||
case E_LOC_LITERAL:
|
case E_LOC_LITERAL:
|
||||||
case E_LOC_CODE:
|
case E_LOC_CODE:
|
||||||
/* Static variable, pooled literal or code label location */
|
/* Global variabl, static variable, register variable, pooled
|
||||||
g_putstatic (Flags, Expr->Name, Expr->IVal);
|
** literal or code label location.
|
||||||
break;
|
*/
|
||||||
|
|
||||||
case E_LOC_REGISTER:
|
|
||||||
/* Register variable */
|
|
||||||
g_putstatic (Flags, Expr->Name, Expr->IVal);
|
g_putstatic (Flags, Expr->Name, Expr->IVal);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1620,19 +1614,13 @@ static void PreInc (ExprDesc* Expr)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case E_LOC_GLOBAL:
|
case E_LOC_GLOBAL:
|
||||||
/* Global variable */
|
|
||||||
g_addeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_STATIC:
|
case E_LOC_STATIC:
|
||||||
|
case E_LOC_REGISTER:
|
||||||
case E_LOC_LITERAL:
|
case E_LOC_LITERAL:
|
||||||
case E_LOC_CODE:
|
case E_LOC_CODE:
|
||||||
/* Static variable, pooled literal or code label location */
|
/* Global variabl, static variable, register variable, pooled
|
||||||
g_addeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
** literal or code label location.
|
||||||
break;
|
*/
|
||||||
|
|
||||||
case E_LOC_REGISTER:
|
|
||||||
/* Register variable */
|
|
||||||
g_addeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
g_addeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1697,19 +1685,13 @@ static void PreDec (ExprDesc* Expr)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case E_LOC_GLOBAL:
|
case E_LOC_GLOBAL:
|
||||||
/* Global variable */
|
|
||||||
g_subeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_STATIC:
|
case E_LOC_STATIC:
|
||||||
|
case E_LOC_REGISTER:
|
||||||
case E_LOC_LITERAL:
|
case E_LOC_LITERAL:
|
||||||
case E_LOC_CODE:
|
case E_LOC_CODE:
|
||||||
/* Static variable, pooled literal or code label location */
|
/* Global variabl, static variable, register variable, pooled
|
||||||
g_subeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
** literal or code label location.
|
||||||
break;
|
*/
|
||||||
|
|
||||||
case E_LOC_REGISTER:
|
|
||||||
/* Register variable */
|
|
||||||
g_subeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
g_subeqstatic (Flags, Expr->Name, Expr->IVal, Val);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -3863,36 +3845,15 @@ static void addsubeq (const GenDesc* Gen, ExprDesc *Expr, const char* Op)
|
|||||||
switch (ED_GetLoc (Expr)) {
|
switch (ED_GetLoc (Expr)) {
|
||||||
|
|
||||||
case E_LOC_ABS:
|
case E_LOC_ABS:
|
||||||
/* Absolute numeric addressed variable */
|
|
||||||
if (Gen->Tok == TOK_PLUS_ASSIGN) {
|
|
||||||
g_addeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
|
||||||
} else {
|
|
||||||
g_subeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_GLOBAL:
|
case E_LOC_GLOBAL:
|
||||||
/* Global variable */
|
|
||||||
if (Gen->Tok == TOK_PLUS_ASSIGN) {
|
|
||||||
g_addeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
|
||||||
} else {
|
|
||||||
g_subeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_STATIC:
|
case E_LOC_STATIC:
|
||||||
|
case E_LOC_REGISTER:
|
||||||
case E_LOC_LITERAL:
|
case E_LOC_LITERAL:
|
||||||
case E_LOC_CODE:
|
case E_LOC_CODE:
|
||||||
/* Static variable, pooled literal or code label location */
|
/* Absolute numeric addressed variable, global variable, local
|
||||||
if (Gen->Tok == TOK_PLUS_ASSIGN) {
|
** static variable, register variable, pooled literal or code
|
||||||
g_addeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
** label location.
|
||||||
} else {
|
*/
|
||||||
g_subeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_LOC_REGISTER:
|
|
||||||
/* Register variable */
|
|
||||||
if (Gen->Tok == TOK_PLUS_ASSIGN) {
|
if (Gen->Tok == TOK_PLUS_ASSIGN) {
|
||||||
g_addeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
g_addeqstatic (lflags, Expr->Name, Expr->IVal, Expr2.IVal);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user