aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-02-01 17:25:38 -0700
committerAndrew Kelley <superjoe30@gmail.com>2016-02-01 17:25:38 -0700
commit06f6acb4b19cab55dd8637a41c11501bf8e7158e (patch)
tree9d8226f9f2128a91b3038d9b6d739c3b36ee15cf /src/codegen.cpp
parent122b7b99660f2ce354930749ca545b363bf7849d (diff)
downloadzig-06f6acb4b19cab55dd8637a41c11501bf8e7158e.tar.gz
zig-06f6acb4b19cab55dd8637a41c11501bf8e7158e.zip
inline is a keyword instead of a directive
Diffstat (limited to 'src/codegen.cpp')
-rw-r--r--src/codegen.cpp29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/codegen.cpp b/src/codegen.cpp
index b443a6fc9a..f534519062 100644
--- a/src/codegen.cpp
+++ b/src/codegen.cpp
@@ -3338,20 +3338,23 @@ static ImportTableEntry *codegen_add_code(CodeGen *g, Buf *abs_full_path,
add_node_error(g, top_level_decl,
buf_sprintf("root export declaration only valid in root source file"));
} else {
- for (int i = 0; i < top_level_decl->data.root_export_decl.directives->length; i += 1) {
- AstNode *directive_node = top_level_decl->data.root_export_decl.directives->at(i);
- Buf *name = &directive_node->data.directive.name;
- Buf *param = &directive_node->data.directive.param;
- if (buf_eql_str(name, "version")) {
- set_root_export_version(g, param, directive_node);
- } else if (buf_eql_str(name, "link")) {
- g->link_table.put(param, true);
- if (buf_eql_str(param, "c")) {
- g->link_libc = true;
+ ZigList<AstNode *> *directives = top_level_decl->data.root_export_decl.directives;
+ if (directives) {
+ for (int i = 0; i < directives->length; i += 1) {
+ AstNode *directive_node = directives->at(i);
+ Buf *name = &directive_node->data.directive.name;
+ Buf *param = &directive_node->data.directive.param;
+ if (buf_eql_str(name, "version")) {
+ set_root_export_version(g, param, directive_node);
+ } else if (buf_eql_str(name, "link")) {
+ g->link_table.put(param, true);
+ if (buf_eql_str(param, "c")) {
+ g->link_libc = true;
+ }
+ } else {
+ add_node_error(g, directive_node,
+ buf_sprintf("invalid directive: '%s'", buf_ptr(name)));
}
- } else {
- add_node_error(g, directive_node,
- buf_sprintf("invalid directive: '%s'", buf_ptr(name)));
}
}