Do not create parse_headers actions for headers that are also compiled into a
C++ module. The module build step already verifies that the header can be built.
RELNOTES: None.
PiperOrigin-RevId: 351535871
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
index fde0e86..d290da8d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationHelper.java
@@ -453,6 +453,7 @@
if (shouldProcessHeaders
&& ccToolchain.shouldProcessHeaders(featureConfiguration, cppConfiguration)
+ && !shouldProvideHeaderModules()
&& !isTextualInclude) {
compilationUnitSources.put(
privateHeader, CppSource.create(privateHeader, label, CppSource.Type.HEADER));
@@ -511,7 +512,8 @@
if (!shouldProcessHeaders
|| isTextualInclude
|| !isHeader
- || !ccToolchain.shouldProcessHeaders(featureConfiguration, cppConfiguration)) {
+ || !ccToolchain.shouldProcessHeaders(featureConfiguration, cppConfiguration)
+ || shouldProvideHeaderModules()) {
return;
}