[clang] Clang tooling generated visibility macros for Clang (PR #109702)

Tom Stellard via cfe-commits cfe-commits at lists.llvm.org
Wed Nov 27 11:27:29 PST 2024


tstellar wrote:

> Well, we're currently approaching this from the angle of "expose everything and then the user can do whatever they want", but perhaps the discussion we should be having is "what use cases do we explicitly want to support?" and then we write plugins to demonstrate that we do support those use cases, exposing what's necessary as part of that process. This does mean that use cases we hadn't anticipated may be frustrating for users, but we can more easily expand the surface area of what we expose than we can claw it back once we've exposed it publicly.

I think long-term we should be having discussion about just how much of the API we want to explicitly support.   This would help make porting apps to a new version easier and it would make it easier to backport fixes to stable releases.

For now, though, I think it makes sense to just annotate all the existing public APIs as a starting point and then we can have follow on discussions later about any APIs to make private.
 



But this before we do that, we need to have some kind of mechanism in place so we can actually enumerate the AP However, we already expose everything in the API, and just adding the annotations doesn't change that (although I think it may slightly reduce the number of symbols we export

https://github.com/llvm/llvm-project/pull/109702


More information about the cfe-commits mailing list