João Matos
4ac2427afc
Refactoring fixes in ParamTypeToInterfacePass.
5 years ago
João Matos
a7824abb02
Formatting fixes on MultipleInheritancePass.
5 years ago
Dimitar Dobrev
6fe81fddcc
Remove needless pointer offsets from generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
d3a3484c35
Fix a crash for secondary bases with secondary bases
...
The test has also uncovered a bug where the call to a primary base isn't always adjusted so the fix is extended accordingly.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
40ca6f281a
Fix bug related to processing of potential property methods.
...
Fixes https://github.com/mono/CppSharp/issues/1291 .
5 years ago
Dimitar Dobrev
37d391bdac
Ensure generated symbols can use placement new
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
João Matos
d110a2f045
Fix Mono not being found on the PATH on recent macOS versions.
5 years ago
Dimitar Dobrev
8b0aecef9b
Instantiate exception specifications before reading
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
5 years ago
Dimitar Dobrev
299cb912cc
Update LLVM to the latest version
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9337004bb6
Simplify and optimize the printing of pointers in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
e4ac492560
Fix printing of function pointers in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ed2e45f609
Don't export symbols for explicit specializations
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9b1cad799b
Update the printing of comments to the new Clang
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
709fcb6f7e
Work around MSVC 32 crashing reading of exported symbols in Mach-O
...
See https://bugs.llvm.org/show_bug.cgi?id=44433 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
fa5dbb9010
Improve Xcode toolchain lookup to be more robust.
...
Fixes https://github.com/mono/CppSharp/issues/1259 .
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
be73e994bc
Implement logic for -fgnuc-version= argument required by LLVM.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
eab2620c18
Update LLVM to the latest version.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
ac7bdb2585
Refactor Clang builtins directory logic and move it to the managed side.
...
This now matches systems Clang includes order on macOS which fixes a bug.
Signed-off-by: Joao Matos <joao@tritao.eu>
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
899e8d2caa
Improve CS_INTERNAL so it now applies to all declarations.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
29c0b8593a
Print the parser target triple in verbose mode.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
6 years ago
Joao Matos
7df1623e6d
Cleanup Clang resource directory lookup logic.
...
Now the logic is more standard across platforms, we always re-use the builtin bundled headers.
Fixes https://github.com/mono/CppSharp/issues/1259 .
6 years ago
Joao Matos
1802dfa8fe
Update bootstrap tool to run against latest LLVM.
...
It generates to the end however the generated code is not fully compilable yet.
6 years ago
Joao Matos
80ae66428c
Update bootstrap tool to find LLVM build directory.
6 years ago
Dimitar Dobrev
24d2e4ca08
Improve the ignoring of dependent name types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
c5bcb48cc2
Implement UnresolvedUsingType and UnresolvedUsingTypename.
...
Fixes https://github.com/mono/CppSharp/issues/1235 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
58cc7c8ae8
Fix the tests for exception types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
4a4c919fb3
Extend printing and reading of exception types
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
16bfc67a9a
Fix the check to ignore dependent name types
...
The bug used to break the parser bindings for macOS since std::string uses a dependent name type for its necessary methods.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
dd9070fccd
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
403440dac2
Ignore unused destructors when generating symbols
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
8fd6ea1863
Fix the printing of "noexcept" in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
b15ca8827e
Avoid generating abstract implementations for template classes.
...
Fixes https://github.com/mono/CppSharp/issues/1268 .
6 years ago
Joao Matos
3409498738
Fix template type checking in CovariantTypeComparer.
...
Fixes https://github.com/mono/CppSharp/issues/1266 .
6 years ago
Joao Matos
abf219b019
Fix compile warning for unused variable.
6 years ago
Joao Matos
fb1f637ec3
Workaround System.TypeLoad exception when running test-suite on macOS.
...
It was reproducible while running Compile.sh on macOS:
mono64 --debug "../lib/Release_x64/Encodings.Gen.exe"
Generating bindings for Encodings (CSharp)
Looking for tests in: /Users/joao/Dev/CppSharp/tests/Encodings
Parsed 'Encodings.h'
Unhandled Exception:
System.TypeLoadException: Could not load type of field 'CppSharp.MSVCToolchain:<>f__am$cache7' (8) due to: Could not load file or assembly 'Microsoft.VisualStudio.Setup.Configuration.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
6 years ago
Ghasan Al-Sakkaf
0b9b10d2f5
Fix enum with zeros for hex literals
6 years ago
Dimitar Dobrev
74eab9f6cc
Fix the moving of free functions to classes to match by module too
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
05c70ea515
Generate valid C# when an external module has an unsupported operator
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
67b3058d39
Fix a possible overflown stack when ignoring
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
07b9e4ca10
Force compilation of all functions of specializations
...
Functions of template specializations can have their symbols compiled by having their addresses taken just like regular functions. This way we take just the necessary symbols compared to exporting entire templates which both compile useless symbols and skip actually needed ones.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
4bab0fc265
Fill in missed values when cloning functions
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
a00f34c4c9
Optimize the moving of functions to classes
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
c62f85bfa8
Delete a custom pass added as standard
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
f737ad6c00
Fix the C++ printing of function pointers in parameters
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
ba315702ea
Eliminate generated symbols for ignored functions
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
8459cabce9
Fix printing of type defs in C++
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
9aa8ad3f55
Remove the internal C# functions for virtual destructors
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b94a89b3ec
Give unique names to exported inlined functions
...
This way a precise exception is thrown when the birdge tries calling into a wrong version of the library with exported symbols.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
7d784d2af6
Generate symbols for methods of specializations
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
95a8cf9d5d
Prevent possible duplication of properties
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago