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