-
-
Notifications
You must be signed in to change notification settings - Fork 261
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
Renames LDC modules from .di to .d #4730
Conversation
This shouldn't be required (otherwise somebody would have surely complained already), as the modules are basically standalone, only So I assume you have modified these files and/or |
That's why I posted this. I think no one ever tried this
Definitely not, these files are same as in |
There are various regular .d druntime and Phobos modules that import these intrinsics, llvmasm and simd .di headers, and we don't see any linker errors for the whole testsuite. There used to be a frontend bug wrt. wrong module(info) dependency graphs, not sure whether that has been fixed or whether you just happen to trigger it with different import graphs. |
If you post the exact linker error(s), we should at least see which ModuleInfo (wrongly) depends on one of these .di ModuleInfos. |
This is output when I try to link
With this patch these errors gone |
This need of linking with a But I not sure: ability to link whole druntime should be supported or not in common case? |
This isn't the problem, it's the ModuleInfo dependencies graph in your case. E.g., |
I am worried about static libraries Ok, there is no issues at the moment, so closing |
If you could come up with a dustmited test case, e.g., by checking that the Renaming to |
Renames few modules from .di to .d because it is need to compile-in these modules contents into druntime to avoid undefined ModuleInfo symbols. This only matters when linking a D static library which uses these modules with static druntime.
Modules named *.di are ignored by CMake build script