remove compiler directives
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`, `setFnNoInline` builtin functions to replace previous directive functionality * add `coldcc` and `nakedcc` as keywords which can be used as part of a function prototype. * `setDebugSafety` builtin can be used to set debug safety features at a per block scope level. * closes #169
This commit is contained in:
@@ -141,8 +141,6 @@ static const char *node_type_str(NodeType node_type) {
|
||||
return "ArrayAccessExpr";
|
||||
case NodeTypeSliceExpr:
|
||||
return "SliceExpr";
|
||||
case NodeTypeDirective:
|
||||
return "Directive";
|
||||
case NodeTypeReturnExpr:
|
||||
return "ReturnExpr";
|
||||
case NodeTypeDefer:
|
||||
@@ -416,13 +414,6 @@ static void render_node(AstRender *ar, AstNode *node) {
|
||||
}
|
||||
case NodeTypeFnDef:
|
||||
{
|
||||
ZigList<AstNode *> *directives =
|
||||
node->data.fn_def.fn_proto->data.fn_proto.top_level_decl.directives;
|
||||
if (directives) {
|
||||
for (size_t i = 0; i < directives->length; i += 1) {
|
||||
render_node(ar, directives->at(i));
|
||||
}
|
||||
}
|
||||
render_node(ar, node->data.fn_def.fn_proto);
|
||||
fprintf(ar->f, " ");
|
||||
render_node(ar, node->data.fn_def.body);
|
||||
@@ -445,11 +436,6 @@ static void render_node(AstRender *ar, AstNode *node) {
|
||||
print_indent(ar);
|
||||
fprintf(ar->f, "}");
|
||||
break;
|
||||
case NodeTypeDirective:
|
||||
fprintf(ar->f, "#%s(", buf_ptr(node->data.directive.name));
|
||||
render_node(ar, node->data.directive.expr);
|
||||
fprintf(ar->f, ")\n");
|
||||
break;
|
||||
case NodeTypeReturnExpr:
|
||||
{
|
||||
const char *return_str = return_string(node->data.return_expr.kind);
|
||||
|
||||
Reference in New Issue
Block a user