• Ralf W. Grosse-Kunstleve's avatar
    fix: define (non-empty) `PYBIND11_EXPORT_EXCEPTION` only under macOS. (#4298) · b1bd7f26
    Ralf W. Grosse-Kunstleve authored
    Background: #2999, #4105, #4283, #4284
    
    In a nutshell:
    
    * Only macOS actually needs `PYBIND11_EXPORT_EXCEPTION` (#4284).
    
    * Evidently (#4283), under macOS `PYBIND11_EXPORT_EXCEPTION` does not run the risk of introducing ODR violations,
    
    * but evidently (#4283) under Linux it does, in the presumably rare/unusual situation that `RTLD_GLOBAL` is used.
    
    * Windows does no have the equivalent of `RTLD_GLOBAL`, therefore `PYBIND11_EXPORT_EXCEPTION` has no practical benefit, on the contrary, noisy warning suppression pragmas are needed, therefore it is best left empty.
    b1bd7f26
exceptions.rst 17.4 KB