Skip to content

Builds as C, or without a dependency on the C++ STL #17

Description

@rcombs

Currently, as far as I can tell, the only actual use of C++-specific behavior in the library is static _sclModuleHandle module = _sclOpenICDLoader();, which is allowed (and is thread-safe) in C++ but not in C. This introduces dependencies on a few symbols from the C++ library, which aren't available when linking to this package with gcc or clang (as opposed to g++ or clang++). This could be solved by explicitly doing platform-specific locking around the initialization, or via some atomics trickery (with potential risk of leaking a dlopen handle, but it's not like the library's going to get unloaded anyway).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions