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 :) |