diff --git a/cmd/v/v.v b/cmd/v/v.v index 48c9d671a2..1dcb73c0df 100644 --- a/cmd/v/v.v +++ b/cmd/v/v.v @@ -170,14 +170,17 @@ fn parse_args(args []string) (&pref.Preferences, string) { res.backend = .x64 } '-os' { - // TODO Remove `tmp` variable when it doesn't error out in C. target_os := cmdline.option(current_args, '-os', '') - tmp := pref.os_from_string(target_os) or { + i++ + target_os_kind := pref.os_from_string(target_os) or { + if target_os == 'cross' { + res.output_cross_c = true + continue + } println('unknown operating system target `$target_os`') exit(1) } - res.os = tmp - i++ + res.os = target_os_kind } '-cflags' { res.cflags = cmdline.option(current_args, '-cflags', '')