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>
Fix the following warning by removing the new keyword:
src/AST/Type.cs(230,25): warning CS0109: The member `CppSharp.AST.PointerType.IsReference' does not hide an inherited member. The new keyword is not required
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Fix the following warning:
ParserGen.cs(208,26): warning CS0618: `CppSharp.AST.Declaration.Ignore' is obsolete: `Replace set by ExplicitlyIgnore(). Replace get by GenerationKind == GenerationKind.None.'
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>
Move windows bindings to i686-pc-win32, the same way as osx bindings are
(and linux bindings will be).
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>
For an example of what can trigger it:
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_string;
extern template class basic_string<char>;
Signed-off-by: Elias Holzer <elias@vvvv.org>
* 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.
Normalized all the line endings with:
git rm --cached -r .
git reset --hard
git add .
git commit -m "Normalize all the line endings"
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Fix the following warnings:
../../../src/CppParser/CppParser.cpp: In destructor ‘CppSharp::CppParser::ParserResult::~ParserResul
t()’:
../../../src/CppParser/CppParser.cpp:49:12: warning: possible problem detected in invocation of dele
te operator: [enabled by default]
delete Parser;
^
../../../src/CppParser/CppParser.cpp:49:12: warning: invalid use of incomplete type ‘struct CppSharp::CppParser::Parser’ [enabled by default]
In file included from ../../../src/CppParser/CppParser.cpp:8:0:
../../../src/CppParser/CppParser.h:73:8: warning: forward declaration of ‘struct CppSharp::CppParser::Parser’ [enabled by default]
struct Parser;
^
../../../src/CppParser/CppParser.cpp:49:12: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete Parser;
^
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
Fix the compilation warnings with gcc:
../../../src/CppParser/Parser.cpp: In member function ‘CppSharp::CppParser::AST::DeclarationContext*
CppSharp::CppParser::Parser::GetNamespace(clang::Decl*, clang::DeclContext*)’:
../../../src/CppParser/Parser.cpp:1119:68: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘llvm::StringRef’ [-Wformat=]
printf("Unhandled declaration context kind: %s\n", Kind);
^
../../../src/CppParser/Parser.cpp: In member function ‘CppSharp::CppParser::AST::Declaration* CppSharp::CppParser::Parser::WalkDeclaration(clang::Decl*, bool, bool)’:
../../../src/CppParser/Parser.cpp:2430:51: warning: format ‘%s’ expects argument of type ‘char*’, but argument 2 has type ‘llvm::StringRef’ [-Wformat=]
Debug(" %s (line %u)\n", FileName, LineNo);
^
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
* Implemented missing parts in regards to class templates.
* Fixed couple of class member initialization issues in C++ AST classes.
* Make code more look alike so it's easier to compare them.
* All tests pass now with old and new parser. Especially the nasty STL one with the ostream typedef.