ref: a7c0616cd8f2e2f141e0d7233702bb5516c09031
dir: /include/asm/constexpr.h/
/* * This file is part of RGBDS. * * Copyright (c) 1997-2018, Carsten Sorensen and RGBDS contributors. * * SPDX-License-Identifier: MIT */ #ifndef RGBDS_ASM_CONSTEXPR_H #define RGBDS_ASM_CONSTEXPR_H #include <stdint.h> struct ConstExpression { union { int32_t nVal; struct sSymbol *pSym; } u; uint32_t isSym; }; void constexpr_Symbol(struct ConstExpression *expr, char *tzSym); void constexpr_BankSymbol(struct ConstExpression *expr, char *tzSym); void constexpr_BankSection(struct ConstExpression *expr, char *tzSym); void constexpr_Number(struct ConstExpression *expr, int32_t i); void constexpr_UnaryOp(struct ConstExpression *expr, int32_t op, const struct ConstExpression *src); void constexpr_BinaryOp(struct ConstExpression *expr, int32_t op, const struct ConstExpression *src1, const struct ConstExpression *src2); int32_t constexpr_GetConstantValue(struct ConstExpression *expr); #endif /* RGBDS_ASM_CONSTEXPR_H */