/* It must not be possible to get here. */
static GMQCC_NORETURN void _ast_node_destroy(ast_node *self)
{
+ (void)self;
con_err("ast node missing destroy()\n");
abort();
}
bool ast_value_codegen(ast_value *self, ast_function *func, bool lvalue, ir_value **out)
{
+ (void)func;
+ (void)lvalue;
/* NOTE: This is the codegen for a variable used in an expression.
* It is not the codegen to generate the value. For this purpose,
* ast_local_codegen and ast_global_codegen are to be used before this
ast_expression_common *ec;
size_t i;
+ (void)ir;
+
irf = self->ir_func;
if (!irf) {
asterror(ast_ctx(self), "ast_function's related ast_value was not generated yet");
ast_expression_codegen *cgen;
ir_value *operand;
+ *out = NULL;
+
/* In the context of a return operation, we don't actually return
* anything...
*/
{
ir_block *target;
+ *out = NULL;
+
if (lvalue) {
asterror(ast_ctx(self), "break/continue expression is not an l-value");
return false;