diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-28 02:56:07 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-01-28 02:56:07 +0000 |
commit | 152bcd2d0dbe07a0f2fe4320a7f0483bbc0376fe (patch) | |
tree | 5aeda7522a34b93b98501571dd18f5b75176bd77 /llvm/lib/CodeGen/LiveDebugValues.cpp | |
parent | 270e822844a6f4000008aa15e68dbe8c60da14c5 (diff) | |
download | llvm-152bcd2d0dbe07a0f2fe4320a7f0483bbc0376fe.zip llvm-152bcd2d0dbe07a0f2fe4320a7f0483bbc0376fe.tar.gz llvm-152bcd2d0dbe07a0f2fe4320a7f0483bbc0376fe.tar.bz2 |
Switch the template specialization kind for a non-defining declaration of a
non-template function instantiated from a friend declaration in a class
template from TSK_ImplicitInstantiation to TSK_Undeclared.
It doesn't make sense for a non-template function to be flagged as being
instantiated from a template; that property really belongs to the entity
as a whole and not an individual declaration of it. There's some history
here:
* r137934 started marking these functions as instantiations in order to
work around an issue where we might instantiate a class template while
we're still parsing its member definitions, and would otherwise fail
to instantiate the friend definition
* r177003 fixed the same issue but for friend templates, but did so by
making the friends claim to be definitions even before we'd parsed
their actual bodies; this made the r137934 change redundant
* r293558 worked around a problem caused by the marking of a non-template
function as a template instantiation in r137934
This change reverts the code changes from r293358 and r137934 and retains
all the tests.
llvm-svn: 293367
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugValues.cpp')
0 files changed, 0 insertions, 0 deletions