diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-12 22:06:46 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-11-12 22:06:46 +0000 |
commit | 129d313c8d133218f142e77ce89dd5e19e5feb75 (patch) | |
tree | 82b5e755c040468b4af47f97afbe2316a19a1b7e /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | c8e4bd156b514af6ac920a53c2a5a28d169b7d6b (diff) | |
download | llvm-129d313c8d133218f142e77ce89dd5e19e5feb75.zip llvm-129d313c8d133218f142e77ce89dd5e19e5feb75.tar.gz llvm-129d313c8d133218f142e77ce89dd5e19e5feb75.tar.bz2 |
Avoid producing mismatched comdats.
The problem was that given
template<typename T>
struct foo {
~foo() {}
};
template class foo<int>;
We would produce a alias, creating a comdat with D0 and D1, since the symbols
have to be weak. Another TU is not required to have a explicit template
instantiation definition or an explict template instantiation declaration and
for
template<typename T>
struct foo {
~foo() {}
};
foo<int> a;
we would produce a comdat with only one symbol in it.
llvm-svn: 194520
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions