- Setup for ubuntu_x64.
- Clone and Compile of Llvm.
- Separate settings file to configure vm locations (min recomended memory 8gb).
Removed old Vagrantfile no longer relevant.
Add linux premake binary for 32 and 64 bit Linuxes. premake5-linux
script does a naive 32/64 bit test, and runs the appropriate binary.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
We again have code that does not compile with gcc:
../../../src/CppParser/AST.h:770:19: error: declaration of
‘CppSharp::CppParser::AST::MacroLocation
CppSharp::CppParser::AST::PreprocessedEntity::MacroLocation’
[-fpermissive]
MacroLocation MacroLocation;
^
../../../src/CppParser/AST.h:756:12: error: changes meaning of
‘MacroLocation’ from ‘enum class
CppSharp::CppParser::AST::MacroLocation’ [-fpermissive]
enum class MacroLocation
Instead of trying to figure out a good name for the property, and to
avoid the same issues in the future, let's just add the -fpermissive
flag back.
Maybe it can be removed in the future if and when Linux support works
well and is supported by the build test bot.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
At least on linux with gcc the linking order of the libraries is
important. Fix linking llvm and clang libraries by changing the link
order: clang libs first, llvm libraries second.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
At least on linux with gcc the linking order of the libraries is
important. Fix linking llvm libraries by changing the link order.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
At least on linux with gcc the linking order of the libraries is
important. Fix linking clang libraries by changing the link order.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Now that the warnings have been fixed, we no longer need -fpermissive to
compile CppParser with gcc.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
DriverOptions.Is32Bit is used to decide whether to use 4 or 8 byte
pointer size in VTable calculations.
Instead of having a settable Is32Bit property, use
TargetInfo.PointerWidth for this. This allows us to remove the whole
Is32Bit property, and the IS_64_BIT define.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
"libdirs { libdir }" in the main premake4.lua file causes Debug_x32
directory to be added for the libdirs for all builds. I think that's a
bug in premake, as at the same place setting, say, "targetdir" works
fine.
However, setting "libdir" to "libdirs" is not needed at all, so let's remove it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Linux is case-sensitive with filenames, and as the NUnit library files
are lowercase, we need to use lowercase in the build files also.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
* Use clangIndex to identify declarations across translation units.
* Added new Find*ByUSR methods and removed unused Find*(IntPtr) methods.
* Added Depth/Index and IsParameterPack fields to TemplateParameterType.
* Fixed member initialization issues in C++ Method class.
* Added AST tests for function and class templates.
* All tests pass with new and old parser.