Skip to content

Consider the Clang 'ABI breaking' style for the Vulkan-Hpp module #2379

@sharadhr

Description

@sharadhr

I've been reading the Clang documentation for migrating header libraries to modules, and I took note of the so-called 'ABI-breaking' style.

We already use a similar 'is in module' macro (VULKAN_HPP_CXX_MODULE) to enable import std instead of standard library headers. I would like to extend that to have #define EXPORT export (naturally guarded behind #if defined(...) etc) as detailed in the above documentation. I then hope to simplify the module interface file, as well as completely simplify the generation of the module interface file itself, which currently takes quite a different path to the header generation. This will also probably remove spurious using statements for operator<=> etc.

Naturally this means the generation of the module interface file, as well as its actual contents would change by a lot, and hence I would like some input on this. I don't expect the consumer-facing experience to change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions