e6bc007e
by David Eichmann at 2026-07-01T09:35:53+01:00
rts/include: annotate all public symbols with RTS_EXPORT
Add RTS_EXPORT macro (expands to __attribute__((dllexport)) on mingw32,
empty elsewhere) to all public function and global data declarations
across every header under rts/include/.
The macro is defined in Stg.h. Each header that uses it also carries a
fallback #ifndef RTS_EXPORT guard so it can be analysed in isolation.
Declarations inside #if IN_STG_CODE blocks (raw StgWord/W_ types for
Cmm/STG code), INLINE_HEADER/EXTERN_INLINE inline definitions, and
RTS_PRIVATE symbols are intentionally left unannotated.
AI-generated by Claude Sonnet 4.6 per prompt:
"annotate all global data/functions under rts/include with
__attribute__((dllexport)) unless explicitly marked as private"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>