Under some conditions, LinkageComputer can get the visibility for
ClassTemplateSpecializationDecl wrong because it failed to find the Decl
that has the explicit visibility.
This fixes:
llvm.org/bugs/pr36810
rdar://problem/38080953
|  Differential  D44670  
[CXX] Templates specialization visibility can be wrong Authored by steven_wu on Mar 19 2018, 7:06 PM. 
Details Under some conditions, LinkageComputer can get the visibility for This fixes: 
Diff Detail 
 Event Timeline
 
 | ||||||||||||
Do we want to look at *all* redeclarations, or only those declarations that precede the declaration that we found? The latter seems more correct, but IIRC visibility has often been able to "look forward" to declarations that come later in the translation unit.