-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[cxxmodules] Disable module file validation. #1345
[cxxmodules] Disable module file validation. #1345
Conversation
We need to disable the validation of PCM files because rootcling serializes what it sees. For instance, we even serialize in the PCM file some temporary lookup buffers and the contents of the module maps. We disable the PCH validation but that is not sufficient for PCM. The TCling code `fInterpreter->getCI()->getPreprocessorOpts().DisablePCHValidation = true` is not enough because we rely more on the clang driver to setup correctly our modules-aware interpreter. This patch just uses the correct flag when setting up cling. A proper fix to this issue is thoroughly described in RE-0003 (rootcling refactor proposal).
Starting build on |
@phsft-bot just on slc6/gcc62 with flags -Druntime_cxxmodules=On -Dctest_test_exclude_none=on |
@phsft-bot build just on slc6/gcc62 with flags -Druntime_cxxmodules=On -Dctest_test_exclude_none=on |
Starting build on |
Build failed on slc6/gcc62. Errors:
Warnings:
And 7 more Failing tests:
And 47 more |
@phsft-bot build with flags -Druntime_cxxmodules=Off |
Starting build on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
We need to disable the validation of PCM files because rootcling
serializes what it sees. For instance, we even serialize in the PCM
file some temporary lookup buffers and the contents of the module maps.
We disable the PCH validation but that is not sufficient for PCM. The
TCling code
fInterpreter->getCI()->getPreprocessorOpts().DisablePCHValidation = true
is not enough because we rely more on the clang driver to setup correctly
our modules-aware interpreter.
This patch just uses the correct flag when setting up cling.
A proper fix to this issue is thoroughly described in RE-0003 (rootcling
refactor proposal).