You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For a data point, removing all private class methods drops the symbol count to around 42k.
# Skip private class methods
elif re.search("@[A-F].*@Z$", symbol):
return None
This is unlikely to be shippable, since I assume a function from clang that calls a private class method could be inlined into a plugin module. At that point it would presumably need to link against the symbol.
But it's still interesting from the perspective of just how much is being exported that in theory shouldn't be. I imagine the ideal solution here is to explicitly declare which functions are expected to be exported. Something akin to the typical FOO_API macro business that resolves to __declspec(dllexport) or __declspec(dllimport) on Windows. Or maybe only exporting symbols from specific files.
Back for round 3 (#60109 #56109)
The included
PrintFunctionNames
example can't be built because clang exports 82789 symbols, which exceeds the linkers limit.clang.symbols.zip
error message
cmake invocation
Clang version 18.1.3
VS version 17.10.0
The text was updated successfully, but these errors were encountered: