From 16ccc38221c28db98d3a9bc2540b37824171f9cb Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 8 May 2014 22:36:49 +0300 Subject: [PATCH 1/2] CppParser: fix compilation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/CppParser/Parser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 69e38686..239b55a9 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -1126,7 +1126,7 @@ DeclarationContext* Parser::GetNamespace(clang::Decl* D, default: { StringRef Kind = Ctx->getDeclKindName(); - printf("Unhandled declaration context kind: %s\n", Kind); + printf("Unhandled declaration context kind: %s\n", Kind.str().c_str()); assert(0 && "Unhandled declaration context kind"); } } } @@ -2456,7 +2456,7 @@ Declaration* Parser::WalkDeclaration(clang::Decl* D, auto FileName = SM.getFilename(Loc); auto Offset = SM.getFileOffset(Loc); auto LineNo = SM.getLineNumber(SM.getFileID(Loc), Offset); - Debug(" %s (line %u)\n", FileName, LineNo); + Debug(" %s (line %u)\n", FileName.str().c_str(), LineNo); break; } }; From c5bf0b0199dc190ab6a7994b36d2ec3e3e0a6eac Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Thu, 8 May 2014 22:32:14 +0300 Subject: [PATCH 2/2] CppParser: fix compilation warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/CppParser/CppParser.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/CppParser/CppParser.cpp b/src/CppParser/CppParser.cpp index 91008bfe..68038973 100644 --- a/src/CppParser/CppParser.cpp +++ b/src/CppParser/CppParser.cpp @@ -6,6 +6,7 @@ ************************************************************************/ #include "CppParser.h" +#include "Parser.h" namespace CppSharp { namespace CppParser {