-
Notifications
You must be signed in to change notification settings - Fork 1.4k
[cxxmodules] Multiplex the ExternalASTSource in cling #1284
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] Multiplex the ExternalASTSource in cling #1284
Conversation
We need to respect the existing ExternalASTSource when setting up the interpreter. Otherwise the ASTReader (which is the existing source) doesn't receive the required callbacks to properly load C++ modules. This patch now creates a multiplexer that contains our new ASTSource and the existing one if it's necessary. We also no longer attach the existing sema source which seemingly was only a workaround that only works for the special case were the external sema source and the external AST source are the same object.
Starting build on |
Build failed on windows10/vc15. |
@phsft-bot build with flags -Druntime_cxxmodules=On |
Starting build on |
Build failed on centos7/gcc49. Errors:
And 10 more Warnings:
And 6 more |
Build failed on slc6/gcc49. Errors:
And 10 more Warnings:
And 6 more |
Build failed on slc6/gcc62. Errors:
And 10 more Warnings:
And 6 more |
Build failed on slc6/gcc62. Errors:
And 10 more Warnings:
And 6 more |
Build failed on ubuntu14/native. Errors:
And 10 more Warnings:
And 6 more |
Build failed on ubuntu14/native. Errors:
And 10 more Warnings:
And 6 more |
Build failed on mac1012/native. |
@phsft-bot build -Dvc=OFF -Dimt=ON -Dccache=ON |
Starting build on |
We need to respect the existing ExternalASTSource when setting up the
interpreter. Otherwise the ASTReader (which is the existing source)
doesn't receive the required callbacks to properly load C++ modules.
This patch now creates a multiplexer that contains our new
ASTSource and the existing one if it's necessary. We also
no longer attach the existing sema source which seemingly
was only a workaround that only works for the special case
were the external sema source and the external AST source
are the same object.