ClangSharp icon indicating copy to clipboard operation
ClangSharp copied to clipboard

Incorrect enum generation when using "strip-enum-member-type-name"

Open izicoder opened this issue 1 year ago • 0 comments

Original code C code

typedef enum WGPUInstanceBackend {
    WGPUInstanceBackend_All = 0x00000000,
    WGPUInstanceBackend_Vulkan = 1 << 0,
    WGPUInstanceBackend_GL = 1 << 1,
    WGPUInstanceBackend_Metal = 1 << 2,
    WGPUInstanceBackend_DX12 = 1 << 3,
    WGPUInstanceBackend_DX11 = 1 << 4,
    WGPUInstanceBackend_BrowserWebGPU = 1 << 5,
    WGPUInstanceBackend_Primary = WGPUInstanceBackend_Vulkan | WGPUInstanceBackend_Metal |
        WGPUInstanceBackend_DX12 |
        WGPUInstanceBackend_BrowserWebGPU,
    WGPUInstanceBackend_Secondary = WGPUInstanceBackend_GL | WGPUInstanceBackend_DX11,
    WGPUInstanceBackend_Force32 = 0x7FFFFFFF
} WGPUInstanceBackend;

Generated code

public enum WGPUInstanceBackend
{
    All = 0x00000000,
    Vulkan = 1 << 0,
    GL = 1 << 1,
    Metal = 1 << 2,
    DX12 = 1 << 3,
    DX11 = 1 << 4,
    BrowserWebGPU = 1 << 5,
    Primary =
        WGPUInstanceBackend_Vulkan
        | WGPUInstanceBackend_Metal
        | WGPUInstanceBackend_DX12
        | WGPUInstanceBackend_BrowserWebGPU,
    Secondary = WGPUInstanceBackend_GL | WGPUInstanceBackend_DX11,
    Force32 = 0x7FFFFFFF,
}

I mean it is not such critical issue, but still...

izicoder avatar Oct 07 '24 21:10 izicoder