aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-12-12 18:27:17 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-12-12 18:33:44 -0500
commitfff3c1fff4c3ebfcb2bd4f08a43ae7815b5c446b (patch)
treeea996d6252efe24158a802fb50c1a28c3b3d6717 /src/main.cpp
parentb37acc4d6870a090c3501d81d3f647bc30220e4b (diff)
downloadzig-fff3c1fff4c3ebfcb2bd4f08a43ae7815b5c446b.tar.gz
zig-fff3c1fff4c3ebfcb2bd4f08a43ae7815b5c446b.zip
un-special-case startup code in the std lib
Previously, the compiler had special logic to determine whether to include the startup code, which was in `std/special/start.zig`. Now, the file is moved to `std/start.zig`, and there is no special logic in the compiler. Instead, the standard library unconditionally imports the `start.zig` file, which then has a `comptime` block that does the logic of determining what, if any, start symbols to export. Instead of `start.zig` being in its own special package, it is just another normal file that is part of the standard library. `std.builtin.TestFn` is now part of the standard library rather than specially generated by the compiler.
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 5739f68df4..a6b26893b9 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -623,7 +623,7 @@ int main(int argc, char **argv) {
ZigPackage *build_pkg = codegen_create_package(g, buf_ptr(&build_file_dirname),
buf_ptr(&build_file_basename), "std.special");
- g->root_package->package_table.put(buf_create_from_str("@build"), build_pkg);
+ g->main_pkg->package_table.put(buf_create_from_str("@build"), build_pkg);
g->enable_cache = get_cache_opt(enable_cache, true);
codegen_build_and_link(g);
if (root_progress_node != nullptr) {
@@ -1269,7 +1269,7 @@ int main(int argc, char **argv) {
codegen_set_test_name_prefix(g, buf_create_from_str(test_name_prefix));
}
- add_package(g, cur_pkg, g->root_package);
+ add_package(g, cur_pkg, g->main_pkg);
if (cmd == CmdBuild || cmd == CmdRun || cmd == CmdTest) {
g->c_source_files = c_source_files;