Skip to content

Commit

Permalink
Merge pull request #385 from FWGS/master
Browse files Browse the repository at this point in the history
arbparser: add brackets to case blocks where variables are declared, to prevent warnings spam on GCC
  • Loading branch information
ptitSeb committed May 29, 2022
2 parents 2856e13 + 3e0e652 commit 36a5cd5
Showing 1 changed file with 45 additions and 39 deletions.
84 changes: 45 additions & 39 deletions src/gl/arbparser.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ eToken readNextToken(sCurStatus* curStatus) {

break;

case '.':
case '.': {
curStatus->endOfToken = curStatus->codePtr + 1;

// Plain '.' is TOK_POINT, '..' is TOK_UPTO
Expand Down Expand Up @@ -166,9 +166,9 @@ eToken readNextToken(sCurStatus* curStatus) {

while (e-- != 0) curStatus->tokFloat *= s ? 10.f : 0.1f;
}

}
break;

case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G':
case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N':
case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U':
Expand Down Expand Up @@ -2356,7 +2356,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Unknown operand");
}
free(tok);
break; }
}
break;

case TOK_LINE_COMMENT:
curStatusPtr->status = ST_LINE_COMMENT;
Expand Down Expand Up @@ -2415,7 +2416,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s

pushArray((sArray*)curStatusPtr->curValue.newVar.var, tok);
curStatusPtr->curValue.newVar.state = 1;
break; }
}
break;

case TOK_COMMA: {
if (curStatusPtr->curValue.newVar.state != 1) {
Expand All @@ -2436,7 +2438,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
pushArray((sArray*)&curStatusPtr->variables, curStatusPtr->curValue.newVar.var);
curStatusPtr->curValue.newVar.var = createVariable(curStatusPtr->curValue.newVar.var->type);
curStatusPtr->curValue.newVar.state = 0;
break; }
}
break;

case TOK_END_OF_INST: {
if (curStatusPtr->curValue.newVar.state != 1) {
Expand All @@ -2457,7 +2460,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
pushArray((sArray*)&curStatusPtr->variables, curStatusPtr->curValue.newVar.var);
curStatusPtr->valueType = TYPE_NONE;
curStatusPtr->status = ST_LINE_START;
break; }
}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
Expand All @@ -2467,7 +2471,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Invalid token");
}
break;

case VARTYPE_ATTRIB:
case VARTYPE_OUTPUT:
case VARTYPE_PARAM:
Expand Down Expand Up @@ -2500,7 +2504,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s

pushArray((sArray*)curStatusPtr->curValue.newVar.var, tok);
curStatusPtr->curValue.newVar.state = 1;
break; }
}
break;

case TOK_EQUALS:
if (curStatusPtr->curValue.newVar.state != 1) {
Expand Down Expand Up @@ -2601,8 +2606,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
pushArray((sArray*)&curStatusPtr->curValue.newVar, getToken(curStatusPtr));

curStatusPtr->curValue.newVar.state = 1;

break; }
}
break;

case TOK_POINT:
if (curStatusPtr->curValue.newVar.state == 0) {
Expand Down Expand Up @@ -2660,8 +2665,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
freeArray((sArray*)&curStatusPtr->curValue.newVar);
curStatusPtr->valueType = TYPE_NONE;
curStatusPtr->status = ST_LINE_START;

break; }
}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
Expand All @@ -2671,7 +2676,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Invalid token");
}
break;

case VARTYPE_OUTPUT:
switch (curStatusPtr->curToken) {
case TOK_IDENTIFIER: {
Expand All @@ -2682,8 +2687,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
pushArray((sArray*)&curStatusPtr->curValue.newVar, getToken(curStatusPtr));

curStatusPtr->curValue.newVar.state = 1;

break; }
}
break;

case TOK_POINT:
if (curStatusPtr->curValue.newVar.state == 0) {
Expand Down Expand Up @@ -2723,8 +2728,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
freeArray((sArray*)&curStatusPtr->curValue.newVar);
curStatusPtr->valueType = TYPE_NONE;
curStatusPtr->status = ST_LINE_START;

break; }
}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
Expand Down Expand Up @@ -2854,7 +2859,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
curStatusPtr->curValue.newVar.state = 12;
break;

case TOK_END_OF_INST:
case TOK_END_OF_INST: {
if ((curStatusPtr->curValue.newVar.state != 1) && (curStatusPtr->curValue.newVar.state != 12)) {
FAIL("Invalid state");
}
Expand Down Expand Up @@ -2896,9 +2901,9 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
freeArray((sArray*)&curStatusPtr->curValue.newVar);
curStatusPtr->valueType = TYPE_NONE;
curStatusPtr->status = ST_LINE_START;

}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
break;
Expand Down Expand Up @@ -3031,7 +3036,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
}
break;

case TOK_END_OF_INST:
case TOK_END_OF_INST: {
if (curStatusPtr->curValue.newVar.state != 15) {
FAIL("Invalid state");
}
Expand Down Expand Up @@ -3089,9 +3094,9 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
freeArray((sArray*)&curStatusPtr->curValue.newVar);
curStatusPtr->valueType = TYPE_NONE;
curStatusPtr->status = ST_LINE_START;

}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
break;
Expand All @@ -3100,7 +3105,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Invalid token");
}
break;

case VARTYPE_ADDRESS:
case VARTYPE_TEMP:
case VARTYPE_ALIAS:
Expand All @@ -3112,7 +3117,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Unknown error (unintended fallthrough?)");
}
break;

case ST_ALIAS:
switch (curStatusPtr->curToken) {
case TOK_IDENTIFIER: {
Expand All @@ -3128,8 +3133,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
FAIL("Cannot redeclare variable");
}
curStatusPtr->curValue.string = tok;

break; }
}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
Expand All @@ -3145,7 +3150,7 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
break;
case ST_ALIASING:
switch (curStatusPtr->curToken) {
case TOK_IDENTIFIER:
case TOK_IDENTIFIER: {
if (curStatusPtr->valueType != TYPE_ALIAS_DECL) {
// Already aliased
FAIL("Too many identifiers");
Expand All @@ -3170,8 +3175,9 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
kh_val(curStatusPtr->varsMap, varIdx) = var;

curStatusPtr->valueType = TYPE_NONE;
}
break;

case TOK_WHITESPACE:
case TOK_NEWLINE:
break;
Expand Down Expand Up @@ -3240,8 +3246,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
}
copyToken(curStatusPtr, faa + strlen(faa));
curVarPtr->floatArrAddr = faa;
}
break;
}

default:
break;
Expand All @@ -3266,8 +3272,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
copyToken(curStatusPtr, faa + strlen(faa));
curVarPtr->floatArrAddr = faa;
++curStatusPtr->curValue.newInst.state;
}
break;
}

default:
FAIL("Invalid state");
Expand Down Expand Up @@ -3312,8 +3318,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
copyToken(curStatusPtr, faa + strlen(faa));
curVarPtr->floatArrAddr = faa;
curStatusPtr->curValue.newInst.state = STATE_AFTER_VALID_LSQBR_END;
}
break;
}

case STATE_LBRACE:
case STATE_LBRACE_COM1:
Expand All @@ -3334,8 +3340,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
case STATE_AFTER_SIGN: {
pushArray((sArray*)&curStatusPtr->_fixedNewVar, getToken(curStatusPtr));
curStatusPtr->curValue.newInst.state = STATE_AFTER_NUMBER;
}
break;
}

case STATE_LBRACE:
case STATE_LBRACE_COM1:
Expand Down Expand Up @@ -3380,8 +3386,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
pushArray((sArray*)&curStatusPtr->_fixedNewVar, strdup(tok));
curStatusPtr->curValue.newInst.state = STATE_AFTER_ELEMENT;
}
}
break;
}

case STATE_AFTER_DOT:
pushArray((sArray*)&curStatusPtr->_fixedNewVar, strdup(tok));
Expand Down Expand Up @@ -3417,8 +3423,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
}

curStatusPtr->curValue.newInst.state = STATE_AFTER_SWIZZLE;

break; }
}
break;

case STATE_AFTER_VALID_LSQBR_START: {
khint_t idx = kh_get(variables, curStatusPtr->varsMap, tok);
Expand All @@ -3434,8 +3440,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s

curVarPtr->floatArrAddr = getToken(curStatusPtr);
++curStatusPtr->curValue.newInst.state;
}
break;
}

case STATE_AFTER_VALID_LSQBR_ADOT: {
if ((getTokenLength(curStatusPtr) != 1) || (tok[0] != 'x')) {
Expand Down Expand Up @@ -3511,8 +3517,8 @@ void parseToken(sCurStatus* curStatusPtr, int vertex, char **error_msg, struct s
curVarPtr->floatArrAddr = faa;

++curStatusPtr->curValue.newInst.state;
}
break;
}

case STATE_AFTER_ELEMENT:
curStatusPtr->curValue.newInst.state = STATE_AFTER_DOT;
Expand Down

0 comments on commit 36a5cd5

Please sign in to comment.