Allow inlining of two simple RPN functions

This commit is contained in:
ISSOtm
2020-03-07 18:18:57 +01:00
parent 0d31afaff8
commit 361326e06c
2 changed files with 17 additions and 20 deletions

View File

@@ -30,8 +30,22 @@ struct Expression {
/* FIXME: Should be defined in `asmy.h`, but impossible with POSIX Yacc */ /* FIXME: Should be defined in `asmy.h`, but impossible with POSIX Yacc */
extern int32_t nPCOffset; extern int32_t nPCOffset;
bool rpn_isKnown(const struct Expression *expr); /*
bool rpn_isSymbol(const struct Expression *expr); * Determines if an expression is known at assembly time
*/
static inline bool rpn_isKnown(const struct Expression *expr)
{
return expr->isKnown;
}
/*
* Determines if an expression is a symbol suitable for const diffing
*/
static inline bool rpn_isSymbol(const struct Expression *expr)
{
return expr->isSymbol;
}
void rpn_Symbol(struct Expression *expr, char *tzSym); void rpn_Symbol(struct Expression *expr, char *tzSym);
void rpn_Number(struct Expression *expr, uint32_t i); void rpn_Number(struct Expression *expr, uint32_t i);
void rpn_LOGNOT(struct Expression *expr, const struct Expression *src); void rpn_LOGNOT(struct Expression *expr, const struct Expression *src);
@@ -45,7 +59,6 @@ void rpn_UNNOT(struct Expression *expr, const struct Expression *src);
void rpn_BankSymbol(struct Expression *expr, char const *tzSym); void rpn_BankSymbol(struct Expression *expr, char const *tzSym);
void rpn_BankSection(struct Expression *expr, char const *tzSectionName); void rpn_BankSection(struct Expression *expr, char const *tzSectionName);
void rpn_BankSelf(struct Expression *expr); void rpn_BankSelf(struct Expression *expr);
void rpn_Init(struct Expression *expr);
void rpn_Free(struct Expression *expr); void rpn_Free(struct Expression *expr);
void rpn_CheckHRAM(struct Expression *expr, const struct Expression *src); void rpn_CheckHRAM(struct Expression *expr, const struct Expression *src);
void rpn_CheckRST(struct Expression *expr, const struct Expression *src); void rpn_CheckRST(struct Expression *expr, const struct Expression *src);

View File

@@ -72,7 +72,7 @@ static uint8_t *reserveSpace(struct Expression *expr, uint32_t size)
/* /*
* Init the RPN expression * Init the RPN expression
*/ */
void rpn_Init(struct Expression *expr) static void rpn_Init(struct Expression *expr)
{ {
expr->reason = NULL; expr->reason = NULL;
expr->isKnown = true; expr->isKnown = true;
@@ -93,22 +93,6 @@ void rpn_Free(struct Expression *expr)
rpn_Init(expr); rpn_Init(expr);
} }
/*
* Determine if the current expression is known at assembly time
*/
bool rpn_isKnown(const struct Expression *expr)
{
return expr->isKnown;
}
/*
* Determine if the current expression is a symbol suitable for const diffing
*/
bool rpn_isSymbol(const struct Expression *expr)
{
return expr->isSymbol;
}
/* /*
* Add symbols, constants and operators to expression * Add symbols, constants and operators to expression
*/ */