@@ -522,19 +522,28 @@ ToolChain::constructInvocation(const CompileJobAction &job,
522522 addCommonFrontendArgs (context.OI , context.Output , context.Args , Arguments);
523523 addRuntimeLibraryFlags (context.OI , Arguments);
524524
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)) {
528530 bool ForwardAsIs = true ;
529531 bool bridgingPCHIsEnabled =
530532 context.Args .hasFlag (options::OPT_enable_bridging_pch,
531533 options::OPT_disable_bridging_pch, true );
532534 bool usePersistentPCH = bridgingPCHIsEnabled &&
533535 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;
534540 if (!usePersistentPCH) {
535541 for (auto *IJ : context.Inputs ) {
536542 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" );
538547 addInputsOfType (Arguments, context.Inputs , context.Args ,
539548 file_types::TY_PCH);
540549 ForwardAsIs = false ;
@@ -543,7 +552,8 @@ ToolChain::constructInvocation(const CompileJobAction &job,
543552 }
544553 }
545554 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);
547557 }
548558 if (usePersistentPCH) {
549559 context.Args .AddLastArg (Arguments, options::OPT_pch_output_dir);
@@ -972,7 +982,8 @@ ToolChain::constructInvocation(const InterpretJobAction &job,
972982 addCommonFrontendArgs (context.OI , context.Output , context.Args , Arguments);
973983 addRuntimeLibraryFlags (context.OI , Arguments);
974984
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);
976987
977988 context.Args .AddLastArg (Arguments, options::OPT_parse_sil);
978989
@@ -1233,7 +1244,8 @@ ToolChain::constructInvocation(const MergeModuleJobAction &job,
12331244 options::OPT_omit_extension_block_symbols);
12341245 context.Args .AddLastArg (Arguments, options::OPT_symbol_graph_minimum_access_level);
12351246
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);
12371249
12381250 Arguments.push_back (" -module-name" );
12391251 Arguments.push_back (context.Args .MakeArgString (context.OI .ModuleName ));
@@ -1276,7 +1288,8 @@ ToolChain::constructInvocation(const VerifyModuleInterfaceJobAction &job,
12761288 file_types::TY_SerializedDiagnostics,
12771289 " -serialize-diagnostics-path" );
12781290
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);
12801293
12811294 Arguments.push_back (" -module-name" );
12821295 Arguments.push_back (context.Args .MakeArgString (context.OI .ModuleName ));
@@ -1342,7 +1355,8 @@ ToolChain::constructInvocation(const REPLJobAction &job,
13421355 addCommonFrontendArgs (context.OI , context.Output , context.Args , FrontendArgs);
13431356 addRuntimeLibraryFlags (context.OI , FrontendArgs);
13441357
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);
13461360 context.Args .addAllArgs (FrontendArgs,
13471361 {options::OPT_framework, options::OPT_L});
13481362 ToolChain::addLinkedLibArgs (context.Args , FrontendArgs);
0 commit comments