| ... | ... | @@ -632,11 +632,17 @@ static int main0(int argc, char **argv) { |
| 632 | 632 | break; |
| 633 | 633 | } |
| 634 | 634 | case Stage2ClangArgL: // -l |
| 635 | | if (strcmp(it.only_arg, "c") == 0) |
| 635 | if (strcmp(it.only_arg, "c") == 0) { |
| 636 | 636 | have_libc = true; |
| 637 | | if (strcmp(it.only_arg, "c++") == 0) |
| 637 | link_libs.append("c"); |
| 638 | } else if (strcmp(it.only_arg, "c++") == 0 || |
| 639 | strcmp(it.only_arg, "stdc++") == 0) |
| 640 | { |
| 638 | 641 | have_libcpp = true; |
| 639 | | link_libs.append(it.only_arg); |
| 642 | link_libs.append("c++"); |
| 643 | } else { |
| 644 | link_libs.append(it.only_arg); |
| 645 | } |
| 640 | 646 | break; |
| 641 | 647 | case Stage2ClangArgIgnore: |
| 642 | 648 | break; |
| ... | ... | @@ -1016,11 +1022,15 @@ static int main0(int argc, char **argv) { |
| 1016 | 1022 | } else if (arg[1] == 'l' && arg[2] != 0) { |
| 1017 | 1023 | // alias for --library |
| 1018 | 1024 | const char *l = &arg[2]; |
| 1019 | | if (strcmp(l, "c") == 0) |
| 1025 | if (strcmp(l, "c") == 0) { |
| 1020 | 1026 | have_libc = true; |
| 1021 | | if (strcmp(l, "c++") == 0) |
| 1027 | link_libs.append("c"); |
| 1028 | } else if (strcmp(l, "c++") == 0 || strcmp(l, "stdc++") == 0) { |
| 1022 | 1029 | have_libcpp = true; |
| 1023 | | link_libs.append(l); |
| 1030 | link_libs.append("c++"); |
| 1031 | } else { |
| 1032 | link_libs.append(l); |
| 1033 | } |
| 1024 | 1034 | } else if (arg[1] == 'I' && arg[2] != 0) { |
| 1025 | 1035 | clang_argv.append("-I"); |
| 1026 | 1036 | clang_argv.append(&arg[2]); |
| ... | ... | @@ -1159,11 +1169,15 @@ static int main0(int argc, char **argv) { |
| 1159 | 1169 | } else if (strcmp(arg, "-F") == 0) { |
| 1160 | 1170 | framework_dirs.append(argv[i]); |
| 1161 | 1171 | } else if (strcmp(arg, "--library") == 0 || strcmp(arg, "-l") == 0) { |
| 1162 | | if (strcmp(argv[i], "c") == 0) |
| 1172 | if (strcmp(argv[i], "c") == 0) { |
| 1163 | 1173 | have_libc = true; |
| 1164 | | if (strcmp(argv[i], "c++") == 0) |
| 1174 | link_libs.append("c"); |
| 1175 | } else if (strcmp(argv[i], "c++") == 0 || strcmp(argv[i], "stdc++") == 0) { |
| 1165 | 1176 | have_libcpp = true; |
| 1166 | | link_libs.append(argv[i]); |
| 1177 | link_libs.append("c++"); |
| 1178 | } else { |
| 1179 | link_libs.append(argv[i]); |
| 1180 | } |
| 1167 | 1181 | } else if (strcmp(arg, "--forbid-library") == 0) { |
| 1168 | 1182 | forbidden_link_libs.append(argv[i]); |
| 1169 | 1183 | } else if (strcmp(arg, "--object") == 0) { |