New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inclusion validation check should tolerate source file absolute paths #14364
base: master
Are you sure you want to change the base?
Inclusion validation check should tolerate source file absolute paths #14364
Conversation
…e files in clang dot-d output. Fixes bazelbuild#14346
Thanks for fixing this, this is definitely a blocker for Bazel 5. Is there any way we can get a test case in to ensure modules pass validation E2E and don't regress in the future? I think the module tests are pretty slim in Bazel. Also I think a lot of the iOS community using C++ / ObjC is using modules: PodToBUILD, rules_ios and other rule sets are often enabling them by default |
See my comment in #14346. |
To confirm, why is this a blocker for 5.0? Is this behavior not present in Bazel 4.x? |
Ah, sorry, I just saw #14346 (comment). It seems that it's actually a release blocker then. |
Hi! There is another situation where we run into problems with inclusion validation. I think it would be better for you to review this other PR instead which adds a feature flag to disable inclusion validation entirely: #14394 Thanks! |
Please consider #14394 instead. Thanks!! |
You can take this change under consideration in the future, if you decide to reenable the inclusion validation check for objective-c. |
Going to reopen this PR, because it correctly addresses the problems we had with the inclusion validation logic (which has been disabled for objective-c in bazel5-rc3 for the time being.) |
Would be great to get an actual solution for #14346 that doesn't just disable the check for obj-C. We're currently blocked by this and frantically trying to find a workaround, but so far unsuccessful. We experience this issue with C++ using clang, not even with |
Hi @burnpanck , thank you for your investigation; |
Nice - I am also using that embedded ARM toolchain, and it was in that context where I first encountered this issue. My current workaround is a pretty sad one: A custom built bazel using a single change, here is the diff:
You see, this is just a hacky way of completely disabling inclusion validation. |
Sometimes clang emits absolute paths to source files in dot-d output. Fixes #14346