diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-12-12 18:27:17 -0500 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-12-12 18:33:44 -0500 |
| commit | fff3c1fff4c3ebfcb2bd4f08a43ae7815b5c446b (patch) | |
| tree | ea996d6252efe24158a802fb50c1a28c3b3d6717 /src/main.cpp | |
| parent | b37acc4d6870a090c3501d81d3f647bc30220e4b (diff) | |
| download | zig-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.cpp | 4 |
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; |
