@@ -522,19 +522,28 @@ ToolChain::constructInvocation(const CompileJobAction &job,
522
522
addCommonFrontendArgs (context.OI , context.Output , context.Args , Arguments);
523
523
addRuntimeLibraryFlags (context.OI , Arguments);
524
524
525
- // Pass along an -import-objc-header arg, replacing the argument with the name
526
- // of any input PCH to the current action if one is present.
527
- if (context.Args .hasArgNoClaim (options::OPT_import_objc_header)) {
525
+ // Pass along an -(internal-)?import-bridging-header arg, replacing the
526
+ // argument with the name of any input PCH to the current action if one is
527
+ // present.
528
+ if (context.Args .hasArgNoClaim (options::OPT_import_bridging_header,
529
+ options::OPT_internal_import_bridging_header)) {
528
530
bool ForwardAsIs = true ;
529
531
bool bridgingPCHIsEnabled =
530
532
context.Args .hasFlag (options::OPT_enable_bridging_pch,
531
533
options::OPT_disable_bridging_pch, true );
532
534
bool usePersistentPCH = bridgingPCHIsEnabled &&
533
535
context.Args .hasArg (options::OPT_pch_output_dir);
536
+ bool isInternalImport = context.Args .getLastArgNoClaim (
537
+ options::OPT_import_bridging_header,
538
+ options::OPT_internal_import_bridging_header)
539
+ ->getOption ().getID () == options::OPT_internal_import_bridging_header;
534
540
if (!usePersistentPCH) {
535
541
for (auto *IJ : context.Inputs ) {
536
542
if (!IJ->getOutput ().getAnyOutputForType (file_types::TY_PCH).empty ()) {
537
- Arguments.push_back (" -import-objc-header" );
543
+ if (isInternalImport)
544
+ Arguments.push_back (" -internal-import-bridging-header" );
545
+ else
546
+ Arguments.push_back (" -import-bridging-header" );
538
547
addInputsOfType (Arguments, context.Inputs , context.Args ,
539
548
file_types::TY_PCH);
540
549
ForwardAsIs = false ;
@@ -543,7 +552,8 @@ ToolChain::constructInvocation(const CompileJobAction &job,
543
552
}
544
553
}
545
554
if (ForwardAsIs) {
546
- context.Args .AddLastArg (Arguments, options::OPT_import_objc_header);
555
+ context.Args .AddLastArg (Arguments, options::OPT_import_bridging_header,
556
+ options::OPT_internal_import_bridging_header);
547
557
}
548
558
if (usePersistentPCH) {
549
559
context.Args .AddLastArg (Arguments, options::OPT_pch_output_dir);
@@ -972,7 +982,8 @@ ToolChain::constructInvocation(const InterpretJobAction &job,
972
982
addCommonFrontendArgs (context.OI , context.Output , context.Args , Arguments);
973
983
addRuntimeLibraryFlags (context.OI , Arguments);
974
984
975
- context.Args .AddLastArg (Arguments, options::OPT_import_objc_header);
985
+ context.Args .AddLastArg (Arguments, options::OPT_import_bridging_header,
986
+ options::OPT_internal_import_bridging_header);
976
987
977
988
context.Args .AddLastArg (Arguments, options::OPT_parse_sil);
978
989
@@ -1233,7 +1244,8 @@ ToolChain::constructInvocation(const MergeModuleJobAction &job,
1233
1244
options::OPT_omit_extension_block_symbols);
1234
1245
context.Args .AddLastArg (Arguments, options::OPT_symbol_graph_minimum_access_level);
1235
1246
1236
- context.Args .AddLastArg (Arguments, options::OPT_import_objc_header);
1247
+ context.Args .AddLastArg (Arguments, options::OPT_import_bridging_header,
1248
+ options::OPT_internal_import_bridging_header);
1237
1249
1238
1250
Arguments.push_back (" -module-name" );
1239
1251
Arguments.push_back (context.Args .MakeArgString (context.OI .ModuleName ));
@@ -1276,7 +1288,8 @@ ToolChain::constructInvocation(const VerifyModuleInterfaceJobAction &job,
1276
1288
file_types::TY_SerializedDiagnostics,
1277
1289
" -serialize-diagnostics-path" );
1278
1290
1279
- context.Args .AddLastArg (Arguments, options::OPT_import_objc_header);
1291
+ context.Args .AddLastArg (Arguments, options::OPT_import_bridging_header,
1292
+ options::OPT_internal_import_bridging_header);
1280
1293
1281
1294
Arguments.push_back (" -module-name" );
1282
1295
Arguments.push_back (context.Args .MakeArgString (context.OI .ModuleName ));
@@ -1342,7 +1355,8 @@ ToolChain::constructInvocation(const REPLJobAction &job,
1342
1355
addCommonFrontendArgs (context.OI , context.Output , context.Args , FrontendArgs);
1343
1356
addRuntimeLibraryFlags (context.OI , FrontendArgs);
1344
1357
1345
- context.Args .AddLastArg (FrontendArgs, options::OPT_import_objc_header);
1358
+ context.Args .AddLastArg (FrontendArgs, options::OPT_import_bridging_header,
1359
+ options::OPT_internal_import_bridging_header);
1346
1360
context.Args .addAllArgs (FrontendArgs,
1347
1361
{options::OPT_framework, options::OPT_L});
1348
1362
ToolChain::addLinkedLibArgs (context.Args , FrontendArgs);
0 commit comments