Available externally definitions are considered declarations for the
linker and eventually dropped. As such they are not allowed to be
in comdats. Remove any such imported functions from comdats.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Linker/LinkModules.cpp | ||
---|---|---|
733 ↗ | (On Diff #44655) | Declarations (more generally declarations for the linker, so including available_externally) may not be in a comdat. It is illegal (and checked by Verifier::visitGlobalValue). |
737 ↗ | (On Diff #44655) | No, it is describing the below assert. I.e. the only declarations for the linker that are in a comdat at this point would be imported definitions, which are available externally. I will try to clarify the comment a bit. |
Comment Actions
LGTM
lib/Linker/LinkModules.cpp | ||
---|---|---|
733 ↗ | (On Diff #47210) | Ok I didn't know it was illegal :) |