diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-02-26 19:33:14 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-02-26 19:33:14 +0000 |
commit | d3b2f0ac1cedad284d860acd652f28a05bcbcbed (patch) | |
tree | faf6df298dabcae78b1c3084b34ca74412aa2de7 /test/Analysis/method-call-path-notes.cpp | |
parent | d7a60ad800d64b7c444b26a58e76ec337dbd7bc2 (diff) |
Use the most recent decl in getExplicitVisibility.
Now that implicitly hidden template arguments can make an instantiation hidden,
it is important to look at more than just the canonical decl of the argument
in order to see if an attribute is available in a more recent decl.
This has the disadvantage of exposing when getExplicitVisibility is called,
but lets us handle cases like
template <typename T>
struct __attribute__((visibility("default"))) barT {
static void zed() {}
};
class foo;
class __attribute__((visibility("default"))) foo;
template struct barT<foo>;
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176112 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/method-call-path-notes.cpp')
0 files changed, 0 insertions, 0 deletions