-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Merge runtime cxxmodules back to master #637
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
Conversation
This patch also untangles the generation code of PCMs and PCHs. Additionally we enable rootcling warnings during module generation because want them in the future when we try to adjust the working ROOT modulemap to the dictionary layout (i.e. fixing libCore and libThread).
…lure. The sysroot flag should not be set when writing a module otherwise we trigger an assertion in ASTWriter.cpp:1245.
…roject#527) Print a warning when rootcling can't find the ROOT modulemap. So far we only trigger an assertion in LLVM when we can't find the modulemap file which is not very user-friendly. With this patch we actually prints an error message in this situation.
Seems like ignore-non-existent-contents is quite new, so we just remove it for now to avoid crashing on parsing this file with the old clang version inside ROOT.
…ot-project#537) It's AST supposed to depend on NDEBUG, so having this as a module is wrong. And we just remove cassert instead of making it textual to be consistent with the OS X system modulemap.
…ject#538) The modules implementation provides it's own sema source and overwriting this confuses clang when we have -fmodules enabled.
The previous assert was not only ugly but also did the inverse check (failed when it could open the file correctly).
* Don't load the PCH when we have modules enabled. The modules are supposed to provide the same functionality, so for now we don't want the PCH when testing modules. * Disable loading of the rootmap files when running modules. The replacement feature for this is currently not implemented, but we don't want the forward declarations to mix with the declaration loading logic from the modules.
The old code didn't query the modules if the identifier is updated. This caused some checks to fail such as CheckABICompatibility().
|
Starting build on |
|
Build failed on centos7/gcc49. Errors:
Warnings:
|
|
Build failed on slc6/gcc49. Errors:
Warnings:
|
|
Build failed on slc6/gcc62. Errors:
Warnings:
|
|
Build failed on mac1012/native. Errors:
Warnings:
|
2f8343e to
aaba618
Compare
|
Starting build on |
|
Build failed on ubuntu14/native. Errors:
Warnings:
|
|
Build failed on slc6/gcc49. Errors:
Warnings:
|
|
Build failed on centos7/gcc49. Errors:
Warnings:
|
|
Build failed on slc6/gcc62. Errors:
Warnings:
|
|
Build failed on mac1012/native. Errors:
Warnings:
|
|
Tracked in #638. |
Work done mostly by @Teemperor.