rjmccall wrote:

Can we just ignore template parameters selectively when we have a visibility 
attribute, the way I suggested in https://reviews.llvm.org/D154774?  To quote:

> A visibility attribute on an explicit specialization or instantiation should 
> definitely override everything else.  A visibility attribute on a template 
> pattern should only override other visibility information that we would 
> derive from that pattern, like the visibility of the template parameters; it 
> should not override visibility from the template arguments.  You probably 
> need this function to return an enum with three cases: (1) factor in both 
> template arguments and template parameters, (2) factor in only template 
> arguments, and (3) factor in nothing.

In the absence of visibility attributes, a template that's templated over e.g. 
an `enum` with hidden visibility seems like it ought to have hidden visibility.

https://github.com/llvm/llvm-project/pull/72092
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to