Dimitar Dobrev
d3135664ca
Expose if a variable is a constant expression
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
75bca17907
Update LLVM to obtain working lld ( #1462 )
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
josetr
6496bf8dae
Basic support for static constexpr variables ( #1435 )
...
Basic support for static constexpr variables
6 years ago
Dimitar Dobrev
cf29d26b8e
Revert "Add information about linkage to the AST"
...
This reverts commit e061edde76 .
We don't need it after all so let's keep the AST as simple as possible.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
b5ca0635be
Check symbols in tests
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
e061edde76
Add information about linkage to the AST
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Dimitar Dobrev
0a15871751
Add an option for building with Visual Studio 2019
...
Fixes https://github.com/mono/CppSharp/issues/1390 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
af01c86f7b
Fix GCC path detection for Ubuntu 20.
...
The path scheme changed in recent Ubuntu versions.
Previously, C++ includes would be found under `/usr/include/c++/9.0`,
but now they are found in `/usr/include/c++/9`.
Change our path detection logic to look for this.
Fixes https://github.com/mono/CppSharp/issues/1392 .
6 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
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
5ceedc167a
Set the render kind of inline command comments
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
João Matos
c21ddcca1e
Implement parsing and AST processing of C++ deprecated attributes.
7 years ago
Dimitar Dobrev
6fe81fddcc
Remove needless pointer offsets from generated C#
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
be73e994bc
Implement logic for -fgnuc-version= argument required by LLVM.
...
Signed-off-by: Joao Matos <joao@tritao.eu>
7 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>
7 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>
7 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 .
7 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>
7 years ago
Dimitar Dobrev
8fca42afe5
Enable Clang-based look-up for system includes by default
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
3eee343554
Add parsing and AST support for RecordArgABI information in class records.
8 years ago
Joao Matos
c6afb4d1a0
Cleaned up code formatting in ParserOptions.SetupLinux().
8 years ago
Joao Matos
ea7023dfad
Remove ParserOptions.Abi since its misleading as it serves no purpose.
8 years ago
Joao Matos
3ea7e97241
Re-generated the parser bindings and bootstrap code.
8 years ago
Dimitar Dobrev
926e8ab343
Regenerate the parser bindings
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
be0d9494fd
Exposed many more properties of expressions.
...
They were previously hidden by a bug in the pass for properties fixed since.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
9840d8a267
Added the new default values based on expressions, to parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
5559ef47c7
Added support for values in more literal expressions.
8 years ago
Joao Matos
9a23f51d91
Fixed missing options copy in ParserOptions copy constructor.
8 years ago
Joao Matos
06ddf85b4f
Added managed AST conversion code for statements and expressions.
8 years ago
Joao Matos
aa73692543
Obsolete managed expression class machinery.
8 years ago
Dimitar Dobrev
2fe157d51a
Obsoleted all hand-written types for expressions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
e9005f6eb2
Implemented Clang's MSVC toolchain lookup mode with `ForceClangToolchainLookup`.
8 years ago
Joao Matos
794b276cfb
Added `ForceClangToolchainLookup` option to force to use Clang's toolchain lookup code.
8 years ago
Joao Matos
bd4dec1586
Extract `ParserOptions` cloning code into a copy constructor.
8 years ago
Joao Matos
4fcfe4e4eb
Build changes.
...
- Added support for building with Clang and LLD
- Switched to use csc.exe Roslyn compiler under Mono
- Disable most of the support for explicit pre-C++11 ABI since we do not
need it anymore
8 years ago
Joao Matos
c3629a2aad
Initial support for building under .NET Core.
8 years ago
Dimitar Dobrev
8427ff8e92
Optimized the walking of the managed AST.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
c8536b4141
Updated to LLVM/Clang revisions 339502/339494 respectively.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Rokas Kupstys
c41a2dd2af
Add one more include path which linux usually expects.
9 years ago
Dimitar Dobrev
3dba1eb594
Exported entire specialisations when they only have valid functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
fceb204a98
Fixed the generated C# for members of types nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
573818f33e
Fixed a regression, a crash, when generating the parser bindings.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Rokas Kupstys
b90fb52525
Re-added linux include path that was removed by mistake.
9 years ago
Rokas Kupstys
86f2c59ec5
Tweak linux include dirs, previous change broke GCC7 include dirs on archlinux.
9 years ago
Rokas Kupstys
7a3adcd401
Some linux distributions use `major.minor.patch` and some use `major.minor` for versioning include dirs. Add them all.
9 years ago
Rokas Kupstys
aa33609d45
Clean up linux includes setup.
...
Includes setup was moved to ParserOptions.cs and is used just like `SetupMSVC()` and `SetupXcode()`. Native compiler is queried for it's type and version. Correct include paths are set up in cases where system has multiple compilers installed as well.
9 years ago
Rokas Kupstys
05445f3028
Linux fixes, Bootstrap.cs build errors, warnings ( #1010 )
...
* Fix warnings about unused variables
* Fix linux include paths in ParserGen and CLI generator.
Remove parsing of `CppSharp.CppParser.lib` as it is not used.
* Fix build errors in CppSharp.Parser.Bootstrap target.
9 years ago
Dimitar Dobrev
e53b25346e
Prevented C++ generation for invalid specialised functions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
33bc64ad9a
Reused the parsing of headers to get the target info as well.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago