This patch changes the module linker to not unset unnamed_addr on merged functions that have the jumptable attribute. As the test case demonstrates, this can happen with a declaration that has no jumptable attribute and no unnamed_addr when it is linked with a defined function that has both.
Details
Details
- Reviewers
- None
Diff Detail
Diff Detail
Event Timeline
lib/Linker/LinkModules.cpp | ||
---|---|---|
1029 | Shouldn't it drop the jumptable instead? Or report an error? If unnamed_addr is not present in a module, then that module can depend on the address of that GV. Adding it also produces an invalid module. |
Shouldn't it drop the jumptable instead? Or report an error?
If unnamed_addr is not present in a module, then that module can depend on the address of that GV. Adding it also produces an invalid module.