ClangSharp icon indicating copy to clipboard operation
ClangSharp copied to clipboard

Clang bindings for .NET written in C#

Results 118 ClangSharp issues
Sort by recently updated
recently updated
newest added

Void pointer artihmetic throws an error: ```cpp void *cpy(void *dest, const void *src, size_t n); static bool exec(void *buf, size_t size, void *info, size_t size2) { memcpy(buf + size *...

bug
help wanted

I'm trying to generate pinvoke wrappers for poppler cpp header files on ubuntu. You can see the code for those those headers here https://gitlab.freedesktop.org/poppler/poppler/-/blob/master/cpp/poppler-font.h Poppler is installed on my system...

C code: ```c extFloat80_t extF80_add( extFloat80_t a, extFloat80_t b ) { union { struct extFloat80M s; extFloat80_t f; } uA; ... ``` The generated C# code: ```cs [return: NativeTypeName("extFloat80_t")] public...

bug

I'm traversing Include\10.0.19041.0\um\minidumpapiset.h, and in it I see: ````C #include ```` Some emitted structs have Pack = 4 and some don't like the two below. ````C# [StructLayout(LayoutKind.Sequential, Pack = 4)]...

This PR adds remapped operator names for the copy, move and dereference operators. Previously this would have produced invalid C# code (e.g. `public unsafe void operator=(`. Unfortunately I could not...

Constructors were supported when they had bodies and were generated as actual C# constructors, but trying to import them produced invalid C#, e.g: ```csharp public partial struct MyStruct { [DllImport("",...

Right now, a full path to each header file is used for NativeTypeName in generated files. This makes it so generating in CI or across different dev systems has different...

enhancement
help wanted

Clang supports Objective-C and having the ability to generate code for it would be useful for many Apple-centric interop scenarios. ## __Work items__ - [ ] Support `@protocol`s [current] -...

Repro header: ```cpp struct TestInterface_; struct MyStruct_; #ifdef __cplusplus typedef MyStruct_ MyStruct; #endif struct TestInterface_ { int (__stdcall *TestMethod)(MyStruct *vm); }; struct MyStruct_ { const struct TestInterface_ *functions; #ifdef __cplusplus...

bug