Dimitar Dobrev
b6811060ab
Make the CPP ABI visible only to the STD symbols
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
257b347fbd
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
68146058f3
Generate valid C++ for destructors of nested types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
341fadc655
Always use the mangled names as reported by Clang
...
The names in the binaries themselves are sometimes different than those Clang reports. However, it seems that the reported ones are the actually correct for invocation. For example, the name passed to dlsym() (for variables) must not be prepended with an underscore (https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dlsym.3.html ). Another example, again on macOS, is with extern C functions which sometimes also receive an _ at the front.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
60474c922c
Call the destructor instead of deleting the object in the generated symbols
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
bd69624a7d
Remove dummy variable and use discards instead available since C# 7.0 ( #1478 )
5 years ago
josetr
7791cf6996
Fallback to LayoutKind.Explicit when a custom alignment is specified. ( #1476 )
5 years ago
josetr
051ebb82b3
Remove `Layout.GetSize()` method as it's no longer relevant ( #1474 )
5 years ago
josetr
3e742c3219
Fix `String.CSharpSignatureType` returning incorrect type when the given type is a pointer or a reference. ( #1473 )
5 years ago
josetr
0d32121eee
Fix the generation of sequential layouts
5 years ago
josetr
75c0fbcbdf
Simplify the marshalling of returned pointers ( #1470 )
5 years ago
josetr
5912c236ec
VTable: improve codegen & make it thread safe ( #1469 )
5 years ago
josetr
52140cb78b
Create VTables class to cache delegates pointing to native virtual methods ( #1468 )
5 years ago
josetr
eac78c6caf
Improve generation of C# ( #1466 )
5 years ago
josetr
b9cf8f160a
Reduce calls to ConcurrentDictionary to improve performance ( #1464 )
5 years ago
josetr
9b8275cca9
Ensure expression is a valid float constant before trying to append `f` suffix ( #1465 )
5 years ago
Dimitar Dobrev
75bca17907
Update LLVM to obtain working lld ( #1462 )
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
e61e9201ec
Fix ambiguous conversion functions ( #1458 )
5 years ago
josetr
c32ac59988
Prevent string destructor from being called twice when its passed by value ( #1455 )
5 years ago
josetr
8c4465bb11
Fix PInvokeStackImbalance when calling C++ methods ( #1453 )
...
* Fix PInvokeStackImbalance when calling C++ methods
5 years ago
josetr
69a501b91c
Load symbols at startup to avoid very expensive ResolveSymbol calls everywhere ( #1447 )
...
* Load symbols at startup to avoid very expensive ResolveSymbol calls everywhere
5 years ago
josetr
832e4e9eb0
Fix IntPtr array marshalling bug and move hard to read code to CppSharp.Runtime ( #1446 )
5 years ago
josetr
0cfc060018
Fix string marshalling bug and move hard to read code to CppSharp.Runtime ( #1445 )
5 years ago
Dimitar Dobrev
be227c2c18
Revert "Simplify the code for encodings when marshalling"
...
This reverts commit 3a93f8f575 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
3a93f8f575
Simplify the code for encodings when marshalling
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
josetr
37c0164072
Add support for const char32_t* and fix const wchar_t* in linux / osx ( #1444 )
...
* Add support for const char32_t* and fix const wchar_t* in linux / osx
5 years ago
josetr
133a1882df
Copy arrays of primitive values using System.Buffers.MemoryCopy ( #1440 )
5 years ago
josetr
41f0e9f72b
Fix marshalling for bool arrays ( #1439 )
...
* Fix marshalling for bool arrays
5 years ago
josetr
c3ca3c241b
Fix wrong [MarshalAs(UnmanagedType)] for strings ( #1438 )
5 years ago
josetr
6496bf8dae
Basic support for static constexpr variables ( #1435 )
...
Basic support for static constexpr variables
5 years ago
josetr
df98fc460a
Use C# 'default literal' to avoid using a type's name that may be renamed ( #1432 )
...
* Use C# 'default literal' to avoid using a type's name that may be renamed
5 years ago
josetr
3ffa42aa2f
Fix generated constructor cant use `placement new` when class overloads `operator new` ( #1431 )
5 years ago
josetr
397811dc3c
Fix wrong marshalling for static member arrays ( #1428 )
...
* Fix wrong marshalling for static member arrays
5 years ago
josetr
9a39493cac
Fix wrong generated destructor
5 years ago
Franco Sinisi
495eb3a907
RemovePass is now generic.
5 years ago
Franco Sinisi
096cf3d9b8
Added the ability to remove a built-in pass.
5 years ago
josetr
73670debbc
Fix anonymous member name colliding with enclosing type name ( #1425 )
...
* Fix anonymous member name colliding with enclosing type name
5 years ago
Franco Sinisi
669596fc51
Allow the users to overwrite CppSharp type maps.
5 years ago
Dimitar Dobrev
9f3fc25889
Improve the name of a generating method
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
b5ca0635be
Check symbols in tests
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
07763331e2
Move libraries to a new class for linking options
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
1d9a07b693
Fix memory leaks when using the driver
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
926fca6087
Simplify ClangParser by making it static
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
fbbda2020f
Remove the direct usages of the parsing options
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b4726fd48e
Don't add ABI-specific parameters when wrapping C
...
Fixes https://github.com/mono/CppSharp/issues/1008 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
28a5c5d76c
Prioritize public non-field properties when resolving naming conflicts
...
Fixes https://github.com/mono/CppSharp/issues/1175 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
4d8ab83328
Fix patching of virtual tables for MSVC with RTTI
...
Fixes https://github.com/mono/CppSharp/issues/1151 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
076318be29
Free the memory of the patched v-tables
...
Fixes https://github.com/mono/CppSharp/issues/586 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b7fa720ee1
Generate valid C# for constructors taking const&
...
Fixes https://github.com/mono/CppSharp/issues/1119 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
6dcb2ac31a
Generate valid C# for returned function pointers
...
Fixes https://github.com/mono/CppSharp/issues/1226 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago