aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index f4b9c688d2..8492e10be6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -1271,6 +1271,17 @@ public class CppCompileAction extends AbstractAction
return message.toString();
}
+ @Override
+ public boolean hasLooseHeaders() {
+ // Layering check is stricter than hdrs_check = strict, so when it's enabled, there can't be
+ // loose headers.
+ return ccCompilationContext
+ .getHeadersCheckingMode()
+ .equals(CppConfiguration.HeadersCheckingMode.LOOSE)
+ && !(featureConfiguration.isEnabled(CppRuleClasses.LAYERING_CHECK)
+ && featureConfiguration.isEnabled(CppRuleClasses.PARSE_HEADERS));
+ }
+
public CompileCommandLine getCompileCommandLine() {
return compileCommandLine;
}