diff options
author | Mehdi Amini <joker.eph@gmail.com> | 2021-07-28 05:22:45 +0000 |
---|---|---|
committer | Mehdi Amini <joker.eph@gmail.com> | 2021-07-28 23:58:39 +0000 |
commit | 4bb0ad2382a1224c876dfd3671cf994a1a50e10d (patch) | |
tree | b68259837239dba4d9e71e295edeb5baff9d711d /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | dad10a9afbc383076bfa273f151de9e7bdb94eda (diff) | |
download | llvm-4bb0ad2382a1224c876dfd3671cf994a1a50e10d.zip llvm-4bb0ad2382a1224c876dfd3671cf994a1a50e10d.tar.gz llvm-4bb0ad2382a1224c876dfd3671cf994a1a50e10d.tar.bz2 |
Emit strong definition for TypeID storage in Op/Type/Attributes definition
By making an explicit template specialization for the TypeID provided by these classes,
the compiler will not emit an inline weak definition and rely on the linker to unique it.
Instead a single definition will be emitted in the C++ file alongside the implementation
for these classes. That will turn into a linker error what is now a hard-to-debug runtime
behavior where instances of the same class may be using a different TypeID inside of
different DSOs.
Recommit 660a56956c32b0bcd850fc12fa8ad0225a6bb880 after fixing gcc5
build.
Differential Revision: https://reviews.llvm.org/D105903
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions