Add static and runtime assert
This commit is contained in:
13
ccodegen.cpp
13
ccodegen.cpp
@@ -365,6 +365,18 @@ function void
|
||||
gen_ast(Ast *ast){
|
||||
switch(ast->kind){
|
||||
|
||||
CASE(RUNTIME_ASSERT, Builtin){
|
||||
if(node->assert_message.len == 0) gen("assert");
|
||||
else gen("assert_msg");
|
||||
gen("(");
|
||||
gen_expr(node->expr);
|
||||
if(node->assert_message.len){
|
||||
gen(", \"%s\"", node->assert_message.str);
|
||||
}
|
||||
gen(");");
|
||||
BREAK();
|
||||
}
|
||||
|
||||
CASE(RETURN, Return){
|
||||
gen("return");
|
||||
if(node->expr){
|
||||
@@ -504,6 +516,7 @@ gen_ast(Ast *ast){
|
||||
BREAK();
|
||||
}
|
||||
|
||||
case AST_CONSTANT_ASSERT:
|
||||
case AST_MODULE_NAMESPACE:
|
||||
CASE(FILE_NAMESPACE, File_Namespace){unused(node); BREAK();}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user