@@ -365,20 +365,6 @@ def compile_action_configs(
365
365
366
366
#### Flags controlling how Swift/Clang modular inputs are processed
367
367
368
- def c_layering_check_configurator (prerequisites , args , * , strict ):
369
- # We do not enforce layering checks for the Objective-C header generated
370
- # by Swift, because we don't have predictable control over the imports
371
- # that it generates. Due to modular re-exports (which are especially
372
- # common among system frameworks), it may generate an import declaration
373
- # for a particular symbol from a different module than the Swift code
374
- # imported it from.
375
- if not prerequisites .is_swift_generated_header :
376
- args .add (
377
- "-Xcc" ,
378
- "-fmodules-strict-decluse" if strict else "-fmodules-decluse" ,
379
- )
380
- return None
381
-
382
368
action_configs += [
383
369
# Treat paths in .modulemap files as workspace-relative, not modulemap-
384
370
# relative.
@@ -459,27 +445,7 @@ def compile_action_configs(
459
445
),
460
446
swift_toolchain_config .action_config (
461
447
actions = [swift_action_names .PRECOMPILE_C_MODULE ],
462
- configurators = [
463
- lambda prerequisites , args : c_layering_check_configurator (
464
- prerequisites ,
465
- args ,
466
- strict = False ,
467
- ),
468
- ],
469
- not_features = [
470
- [SWIFT_FEATURE_LAYERING_CHECK ],
471
- [SWIFT_FEATURE_SYSTEM_MODULE ],
472
- ],
473
- ),
474
- swift_toolchain_config .action_config (
475
- actions = [swift_action_names .PRECOMPILE_C_MODULE ],
476
- configurators = [
477
- lambda prerequisites , args : c_layering_check_configurator (
478
- prerequisites ,
479
- args ,
480
- strict = True ,
481
- ),
482
- ],
448
+ configurators = [_c_layering_check_configurator ],
483
449
features = [SWIFT_FEATURE_LAYERING_CHECK ],
484
450
not_features = [SWIFT_FEATURE_SYSTEM_MODULE ],
485
451
),
@@ -789,6 +755,16 @@ def _batch_mode_configurator(prerequisites, args):
789
755
if not _is_wmo_manually_requested (prerequisites .user_compile_flags ):
790
756
args .add ("-enable-batch-mode" )
791
757
758
+ def _c_layering_check_configurator (prerequisites , args ):
759
+ # We do not enforce layering checks for the Objective-C header generated by
760
+ # Swift, because we don't have predictable control over the imports that it
761
+ # generates. Due to modular re-exports (which are especially common among
762
+ # system frameworks), it may generate an import declaration for a particular
763
+ # symbol from a different module than the Swift code imported it from.
764
+ if not prerequisites .is_swift_generated_header :
765
+ args .add ("-Xcc" , "-fmodules-strict-decluse" )
766
+ return None
767
+
792
768
def _clang_search_paths_configurator (prerequisites , args ):
793
769
"""Adds Clang search paths to the command line."""
794
770
args .add_all (
0 commit comments