diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2017-07-13 06:08:27 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2017-07-13 06:08:27 +0000 |
commit | 2246167362bf3596f13988723b363449b8427cfd (patch) | |
tree | 7e0bdc9ff27963518c08aa8b4e1b9d964eae091d /llvm/lib/CodeGen/PostRAHazardRecognizer.cpp | |
parent | fa5183b0280fe0d0bc44f1bbc8f24d744013e31b (diff) | |
download | bcm5719-llvm-2246167362bf3596f13988723b363449b8427cfd.tar.gz bcm5719-llvm-2246167362bf3596f13988723b363449b8427cfd.zip |
[Sema] Mark a virtual CXXMethodDecl as used if a call to it can be
devirtualized.
The code to detect devirtualized calls is already in IRGen, so move the
code to lib/AST and make it a shared utility between Sema and IRGen.
This commit fixes a linkage error I was seeing when compiling the
following code:
$ cat test1.cpp
struct Base {
virtual void operator()() {}
};
template<class T>
struct Derived final : Base {
void operator()() override {}
};
Derived<int> *d;
int main() {
if (d)
(*d)();
return 0;
}
rdar://problem/33195657
Differential Revision: https://reviews.llvm.org/D34301
llvm-svn: 307883
Diffstat (limited to 'llvm/lib/CodeGen/PostRAHazardRecognizer.cpp')
0 files changed, 0 insertions, 0 deletions