commit a91f55239369b4401aaa50a74ed939f5eb98395d (tree)
parent 6a046c1bcda1d02d4f9a05ea125ef56b50cf6e7c
Author: Andrew Kelley <andrew@ziglang.org>
Date: Tue, 3 Dec 2019 12:52:28 -0500
WinMainCRTStartup implies defaulting to console subsystem
Diffstat:
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig
@@ -26,7 +26,8 @@ pub const subsystem: ?SubSystem = blk: {
if (is_test) {
break :blk SubSystem.Console;
}
- if (@hasDecl(root, "WinMain") or
+ if (@hasDecl(root, "main") or
+ @hasDecl(root, "WinMain") or
@hasDecl(root, "wWinMain") or
@hasDecl(root, "WinMainCRTStartup") or
@hasDecl(root, "wWinMainCRTStartup"))
diff --git a/src/codegen.cpp b/src/codegen.cpp
@@ -8229,9 +8229,9 @@ TargetSubsystem detect_subsystem(CodeGen *g) {
if (g->zig_target->os == OsWindows) {
if (g->have_dllmain_crt_startup || (g->out_type == OutTypeLib && g->is_dynamic))
return TargetSubsystemAuto;
- if (g->have_c_main || g->is_test_build)
+ if (g->have_c_main || g->is_test_build || g->have_winmain_crt_startup)
return TargetSubsystemConsole;
- if (g->have_winmain || g->have_winmain_crt_startup)
+ if (g->have_winmain)
return TargetSubsystemWindows;
} else if (g->zig_target->os == OsUefi) {
return TargetSubsystemEfiApplication;