@@ -1491,7 +1491,7 @@ bool ConsumeIncludeOption(StringRef &arg, StringRef &prefix) {
1491
1491
1492
1492
std::array<StringRef, 2 > macro_flags = { " -D" , " -U" };
1493
1493
std::array<StringRef, 6 > multi_arg_flags = {
1494
- " -D" , " -U" , " -I" , " -F" , " -working-directory" , " -triple " };
1494
+ " -D" , " -U" , " -I" , " -F" , " -working-directory" , " --target= " };
1495
1495
std::array<StringRef, 6 > args_to_unique = {
1496
1496
" -D" , " -U" , " -I" , " -F" , " -fmodule-file=" , " -fmodule-map-file=" };
1497
1497
@@ -1537,16 +1537,15 @@ void SwiftASTContext::AddExtraClangArgs(const std::vector<std::string> &source,
1537
1537
llvm::find (source, " -fno-implicit-modules" ) != source.end ();
1538
1538
1539
1539
for (const std::string &arg : source) {
1540
- // Ignore the `-triple` flag. First, this is not a driver flag, and second,
1541
- // lldb has its own logic to determine the target. Ignore now, before
1542
- // appending the argument.
1543
- if (clang_argument == " -triple" ) {
1544
- clang_argument.clear ();
1545
- continue ;
1540
+ if (arg == " -triple" ) {
1541
+ // Clang extra args are for driver flags. Replace the frontend `-triple`
1542
+ // flag with a `--target=` driver flag.
1543
+ clang_argument = " --target=" ;
1544
+ } else {
1545
+ // Join multi-arg options for uniquing.
1546
+ clang_argument += arg;
1546
1547
}
1547
1548
1548
- // Join multi-arg options for uniquing.
1549
- clang_argument += arg;
1550
1549
if (IsMultiArgClangFlag (clang_argument))
1551
1550
continue ;
1552
1551
0 commit comments