| ... | @@ -822,10 +822,9 @@ fn buildOutputType( | ... | @@ -822,10 +822,9 @@ fn buildOutputType( |
| 822 | cur_pkg = cur_pkg.parent orelse | 822 | cur_pkg = cur_pkg.parent orelse |
| 823 | fatal("encountered --pkg-end with no matching --pkg-begin", .{}); | 823 | fatal("encountered --pkg-end with no matching --pkg-begin", .{}); |
| 824 | } else if (mem.eql(u8, arg, "--main-pkg-path")) { | 824 | } else if (mem.eql(u8, arg, "--main-pkg-path")) { |
| 825 | const next_arg = args_iter.next() orelse { | 825 | main_pkg_path = args_iter.next() orelse { |
| 826 | fatal("expected parameter after {s}", .{arg}); | 826 | fatal("expected parameter after {s}", .{arg}); |
| 827 | }; | 827 | }; |
| 828 | main_pkg_path = next_arg; | | |
| 829 | } else if (mem.eql(u8, arg, "-cflags")) { | 828 | } else if (mem.eql(u8, arg, "-cflags")) { |
| 830 | extra_cflags.shrinkRetainingCapacity(0); | 829 | extra_cflags.shrinkRetainingCapacity(0); |
| 831 | while (true) { | 830 | while (true) { |
| ... | @@ -877,15 +876,13 @@ fn buildOutputType( | ... | @@ -877,15 +876,13 @@ fn buildOutputType( |
| 877 | }); | 876 | }); |
| 878 | } | 877 | } |
| 879 | } else if (mem.eql(u8, arg, "-O")) { | 878 | } else if (mem.eql(u8, arg, "-O")) { |
| 880 | const next_arg = args_iter.next() orelse { | 879 | optimize_mode_string = args_iter.next() orelse { |
| 881 | fatal("expected parameter after {s}", .{arg}); | 880 | fatal("expected parameter after {s}", .{arg}); |
| 882 | }; | 881 | }; |
| 883 | optimize_mode_string = next_arg; | | |
| 884 | } else if (mem.eql(u8, arg, "--entry")) { | 882 | } else if (mem.eql(u8, arg, "--entry")) { |
| 885 | const next_arg = args_iter.next() orelse { | 883 | entry = args_iter.next() orelse { |
| 886 | fatal("expected parameter after {s}", .{arg}); | 884 | fatal("expected parameter after {s}", .{arg}); |
| 887 | }; | 885 | }; |
| 888 | entry = next_arg; | | |
| 889 | } else if (mem.eql(u8, arg, "--stack")) { | 886 | } else if (mem.eql(u8, arg, "--stack")) { |
| 890 | const next_arg = args_iter.next() orelse { | 887 | const next_arg = args_iter.next() orelse { |
| 891 | fatal("expected parameter after {s}", .{arg}); | 888 | fatal("expected parameter after {s}", .{arg}); |
| ... | @@ -901,45 +898,37 @@ fn buildOutputType( | ... | @@ -901,45 +898,37 @@ fn buildOutputType( |
| 901 | fatal("unable to parse '{s}': {s}", .{ arg, @errorName(err) }); | 898 | fatal("unable to parse '{s}': {s}", .{ arg, @errorName(err) }); |
| 902 | }; | 899 | }; |
| 903 | } else if (mem.eql(u8, arg, "--name")) { | 900 | } else if (mem.eql(u8, arg, "--name")) { |
| 904 | const next_arg = args_iter.next() orelse { | 901 | provided_name = args_iter.next() orelse { |
| 905 | fatal("expected parameter after {s}", .{arg}); | 902 | fatal("expected parameter after {s}", .{arg}); |
| 906 | }; | 903 | }; |
| 907 | provided_name = next_arg; | | |
| 908 | } else if (mem.eql(u8, arg, "-rpath")) { | 904 | } else if (mem.eql(u8, arg, "-rpath")) { |
| 909 | const next_arg = args_iter.next() orelse { | 905 | try rpath_list.append(args_iter.next() orelse { |
| 910 | fatal("expected parameter after {s}", .{arg}); | 906 | fatal("expected parameter after {s}", .{arg}); |
| 911 | }; | 907 | }); |
| 912 | try rpath_list.append(next_arg); | | |
| 913 | } else if (mem.eql(u8, arg, "--library-directory") or mem.eql(u8, arg, "-L")) { | 908 | } else if (mem.eql(u8, arg, "--library-directory") or mem.eql(u8, arg, "-L")) { |
| 914 | const next_arg = args_iter.next() orelse { | 909 | try lib_dirs.append(args_iter.next() orelse { |
| 915 | fatal("expected parameter after {s}", .{arg}); | 910 | fatal("expected parameter after {s}", .{arg}); |
| 916 | }; | 911 | }); |
| 917 | try lib_dirs.append(next_arg); | | |
| 918 | } else if (mem.eql(u8, arg, "-F")) { | 912 | } else if (mem.eql(u8, arg, "-F")) { |
| 919 | const next_arg = args_iter.next() orelse { | 913 | try framework_dirs.append(args_iter.next() orelse { |
| 920 | fatal("expected parameter after {s}", .{arg}); | 914 | fatal("expected parameter after {s}", .{arg}); |
| 921 | }; | 915 | }); |
| 922 | try framework_dirs.append(next_arg); | | |
| 923 | } else if (mem.eql(u8, arg, "-framework")) { | 916 | } else if (mem.eql(u8, arg, "-framework")) { |
| 924 | const next_arg = args_iter.next() orelse { | 917 | try frameworks.append(args_iter.next() orelse { |
| 925 | fatal("expected parameter after {s}", .{arg}); | 918 | fatal("expected parameter after {s}", .{arg}); |
| 926 | }; | 919 | }); |
| 927 | try frameworks.append(next_arg); | | |
| 928 | } else if (mem.eql(u8, arg, "-install_name")) { | 920 | } else if (mem.eql(u8, arg, "-install_name")) { |
| 929 | const next_arg = args_iter.next() orelse { | 921 | install_name = args_iter.next() orelse { |
| 930 | fatal("expected parameter after {s}", .{arg}); | 922 | fatal("expected parameter after {s}", .{arg}); |
| 931 | }; | 923 | }; |
| 932 | install_name = next_arg; | | |
| 933 | } else if (mem.eql(u8, arg, "-T") or mem.eql(u8, arg, "--script")) { | 924 | } else if (mem.eql(u8, arg, "-T") or mem.eql(u8, arg, "--script")) { |
| 934 | const next_arg = args_iter.next() orelse { | 925 | linker_script = args_iter.next() orelse { |
| 935 | fatal("expected parameter after {s}", .{arg}); | 926 | fatal("expected parameter after {s}", .{arg}); |
| 936 | }; | 927 | }; |
| 937 | linker_script = next_arg; | | |
| 938 | } else if (mem.eql(u8, arg, "--version-script")) { | 928 | } else if (mem.eql(u8, arg, "--version-script")) { |
| 939 | const next_arg = args_iter.next() orelse { | 929 | version_script = args_iter.next() orelse { |
| 940 | fatal("expected parameter after {s}", .{arg}); | 930 | fatal("expected parameter after {s}", .{arg}); |
| 941 | }; | 931 | }; |
| 942 | version_script = next_arg; | | |
| 943 | } else if (mem.eql(u8, arg, "--library") or mem.eql(u8, arg, "-l")) { | 932 | } else if (mem.eql(u8, arg, "--library") or mem.eql(u8, arg, "-l")) { |
| 944 | const next_arg = args_iter.next() orelse { | 933 | const next_arg = args_iter.next() orelse { |
| 945 | fatal("expected parameter after {s}", .{arg}); | 934 | fatal("expected parameter after {s}", .{arg}); |
| ... | @@ -960,11 +949,10 @@ fn buildOutputType( | ... | @@ -960,11 +949,10 @@ fn buildOutputType( |
| 960 | mem.eql(u8, arg, "-iframework") or | 949 | mem.eql(u8, arg, "-iframework") or |
| 961 | mem.eql(u8, arg, "-iframeworkwithsysroot")) | 950 | mem.eql(u8, arg, "-iframeworkwithsysroot")) |
| 962 | { | 951 | { |
| 963 | const next_arg = args_iter.next() orelse { | | |
| 964 | fatal("expected parameter after {s}", .{arg}); | | |
| 965 | }; | | |
| 966 | try clang_argv.append(arg); | 952 | try clang_argv.append(arg); |
| 967 | try clang_argv.append(next_arg); | 953 | try clang_argv.append(args_iter.next() orelse { |
| | 954 | fatal("expected parameter after {s}", .{arg}); |
| | 955 | }); |
| 968 | } else if (mem.eql(u8, arg, "--version")) { | 956 | } else if (mem.eql(u8, arg, "--version")) { |
| 969 | const next_arg = args_iter.next() orelse { | 957 | const next_arg = args_iter.next() orelse { |
| 970 | fatal("expected parameter after {s}", .{arg}); | 958 | fatal("expected parameter after {s}", .{arg}); |
| ... | @@ -974,20 +962,17 @@ fn buildOutputType( | ... | @@ -974,20 +962,17 @@ fn buildOutputType( |
| 974 | }; | 962 | }; |
| 975 | have_version = true; | 963 | have_version = true; |
| 976 | } else if (mem.eql(u8, arg, "-target")) { | 964 | } else if (mem.eql(u8, arg, "-target")) { |
| 977 | const next_arg = args_iter.next() orelse { | 965 | target_arch_os_abi = args_iter.next() orelse { |
| 978 | fatal("expected parameter after {s}", .{arg}); | 966 | fatal("expected parameter after {s}", .{arg}); |
| 979 | }; | 967 | }; |
| 980 | target_arch_os_abi = next_arg; | | |
| 981 | } else if (mem.eql(u8, arg, "-mcpu")) { | 968 | } else if (mem.eql(u8, arg, "-mcpu")) { |
| 982 | const next_arg = args_iter.next() orelse { | 969 | target_mcpu = args_iter.next() orelse { |
| 983 | fatal("expected parameter after {s}", .{arg}); | 970 | fatal("expected parameter after {s}", .{arg}); |
| 984 | }; | 971 | }; |
| 985 | target_mcpu = next_arg; | | |
| 986 | } else if (mem.eql(u8, arg, "-mcmodel")) { | 972 | } else if (mem.eql(u8, arg, "-mcmodel")) { |
| 987 | const next_arg = args_iter.next() orelse { | 973 | machine_code_model = parseCodeModel(args_iter.next() orelse { |
| 988 | fatal("expected parameter after {s}", .{arg}); | 974 | fatal("expected parameter after {s}", .{arg}); |
| 989 | }; | 975 | }); |
| 990 | machine_code_model = parseCodeModel(next_arg); | | |
| 991 | } else if (mem.startsWith(u8, arg, "-ofmt=")) { | 976 | } else if (mem.startsWith(u8, arg, "-ofmt=")) { |
| 992 | target_ofmt = arg["-ofmt=".len..]; | 977 | target_ofmt = arg["-ofmt=".len..]; |
| 993 | } else if (mem.startsWith(u8, arg, "-mcpu=")) { | 978 | } else if (mem.startsWith(u8, arg, "-mcpu=")) { |
| ... | @@ -997,52 +982,43 @@ fn buildOutputType( | ... | @@ -997,52 +982,43 @@ fn buildOutputType( |
| 997 | } else if (mem.startsWith(u8, arg, "-O")) { | 982 | } else if (mem.startsWith(u8, arg, "-O")) { |
| 998 | optimize_mode_string = arg["-O".len..]; | 983 | optimize_mode_string = arg["-O".len..]; |
| 999 | } else if (mem.eql(u8, arg, "--dynamic-linker")) { | 984 | } else if (mem.eql(u8, arg, "--dynamic-linker")) { |
| 1000 | const next_arg = args_iter.next() orelse { | 985 | target_dynamic_linker = args_iter.next() orelse { |
| 1001 | fatal("expected parameter after {s}", .{arg}); | 986 | fatal("expected parameter after {s}", .{arg}); |
| 1002 | }; | 987 | }; |
| 1003 | target_dynamic_linker = next_arg; | | |
| 1004 | } else if (mem.eql(u8, arg, "--sysroot")) { | 988 | } else if (mem.eql(u8, arg, "--sysroot")) { |
| 1005 | const next_arg = args_iter.next() orelse { | 989 | sysroot = args_iter.next() orelse { |
| 1006 | fatal("expected parameter after {s}", .{arg}); | 990 | fatal("expected parameter after {s}", .{arg}); |
| 1007 | }; | 991 | }; |
| 1008 | sysroot = next_arg; | | |
| 1009 | try clang_argv.append("-isysroot"); | 992 | try clang_argv.append("-isysroot"); |
| 1010 | try clang_argv.append(next_arg); | 993 | try clang_argv.append(sysroot.?); |
| 1011 | } else if (mem.eql(u8, arg, "--libc")) { | 994 | } else if (mem.eql(u8, arg, "--libc")) { |
| 1012 | const next_arg = args_iter.next() orelse { | 995 | libc_paths_file = args_iter.next() orelse { |
| 1013 | fatal("expected parameter after {s}", .{arg}); | 996 | fatal("expected parameter after {s}", .{arg}); |
| 1014 | }; | 997 | }; |
| 1015 | libc_paths_file = next_arg; | | |
| 1016 | } else if (mem.eql(u8, arg, "--test-filter")) { | 998 | } else if (mem.eql(u8, arg, "--test-filter")) { |
| 1017 | const next_arg = args_iter.next() orelse { | 999 | test_filter = args_iter.next() orelse { |
| 1018 | fatal("expected parameter after {s}", .{arg}); | 1000 | fatal("expected parameter after {s}", .{arg}); |
| 1019 | }; | 1001 | }; |
| 1020 | test_filter = next_arg; | | |
| 1021 | } else if (mem.eql(u8, arg, "--test-name-prefix")) { | 1002 | } else if (mem.eql(u8, arg, "--test-name-prefix")) { |
| 1022 | const next_arg = args_iter.next() orelse { | 1003 | test_name_prefix = args_iter.next() orelse { |
| 1023 | fatal("expected parameter after {s}", .{arg}); | 1004 | fatal("expected parameter after {s}", .{arg}); |
| 1024 | }; | 1005 | }; |
| 1025 | test_name_prefix = next_arg; | | |
| 1026 | } else if (mem.eql(u8, arg, "--test-cmd")) { | 1006 | } else if (mem.eql(u8, arg, "--test-cmd")) { |
| 1027 | const next_arg = args_iter.next() orelse { | 1007 | try test_exec_args.append(args_iter.next() orelse { |
| 1028 | fatal("expected parameter after {s}", .{arg}); | 1008 | fatal("expected parameter after {s}", .{arg}); |
| 1029 | }; | 1009 | }); |
| 1030 | try test_exec_args.append(next_arg); | | |
| 1031 | } else if (mem.eql(u8, arg, "--cache-dir")) { | 1010 | } else if (mem.eql(u8, arg, "--cache-dir")) { |
| 1032 | const next_arg = args_iter.next() orelse { | 1011 | override_local_cache_dir = args_iter.next() orelse { |
| 1033 | fatal("expected parameter after {s}", .{arg}); | 1012 | fatal("expected parameter after {s}", .{arg}); |
| 1034 | }; | 1013 | }; |
| 1035 | override_local_cache_dir = next_arg; | | |
| 1036 | } else if (mem.eql(u8, arg, "--global-cache-dir")) { | 1014 | } else if (mem.eql(u8, arg, "--global-cache-dir")) { |
| 1037 | const next_arg = args_iter.next() orelse { | 1015 | override_global_cache_dir = args_iter.next() orelse { |
| 1038 | fatal("expected parameter after {s}", .{arg}); | 1016 | fatal("expected parameter after {s}", .{arg}); |
| 1039 | }; | 1017 | }; |
| 1040 | override_global_cache_dir = next_arg; | | |
| 1041 | } else if (mem.eql(u8, arg, "--zig-lib-dir")) { | 1018 | } else if (mem.eql(u8, arg, "--zig-lib-dir")) { |
| 1042 | const next_arg = args_iter.next() orelse { | 1019 | override_lib_dir = args_iter.next() orelse { |
| 1043 | fatal("expected parameter after {s}", .{arg}); | 1020 | fatal("expected parameter after {s}", .{arg}); |
| 1044 | }; | 1021 | }; |
| 1045 | override_lib_dir = next_arg; | | |
| 1046 | } else if (mem.eql(u8, arg, "--debug-log")) { | 1022 | } else if (mem.eql(u8, arg, "--debug-log")) { |
| 1047 | const next_arg = args_iter.next() orelse { | 1023 | const next_arg = args_iter.next() orelse { |
| 1048 | fatal("expected parameter after {s}", .{arg}); | 1024 | fatal("expected parameter after {s}", .{arg}); |
| ... | @@ -1223,10 +1199,9 @@ fn buildOutputType( | ... | @@ -1223,10 +1199,9 @@ fn buildOutputType( |
| 1223 | } else if (mem.eql(u8, arg, "-fno-allow-shlib-undefined")) { | 1199 | } else if (mem.eql(u8, arg, "-fno-allow-shlib-undefined")) { |
| 1224 | linker_allow_shlib_undefined = false; | 1200 | linker_allow_shlib_undefined = false; |
| 1225 | } else if (mem.eql(u8, arg, "-z")) { | 1201 | } else if (mem.eql(u8, arg, "-z")) { |
| 1226 | const next_arg = args_iter.next() orelse { | 1202 | const z_arg = args_iter.next() orelse { |
| 1227 | fatal("expected parameter after {s}", .{arg}); | 1203 | fatal("expected parameter after {s}", .{arg}); |
| 1228 | }; | 1204 | }; |
| 1229 | const z_arg = next_arg; | | |
| 1230 | if (mem.eql(u8, z_arg, "nodelete")) { | 1205 | if (mem.eql(u8, z_arg, "nodelete")) { |
| 1231 | linker_z_nodelete = true; | 1206 | linker_z_nodelete = true; |
| 1232 | } else if (mem.eql(u8, z_arg, "notext")) { | 1207 | } else if (mem.eql(u8, z_arg, "notext")) { |