Browse Source

Clean all C++ warnings in the parser

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1344/head
Dimitar Dobrev 5 years ago
parent
commit
78ed7c72a1
  1. 45
      src/CppParser/Parser.cpp

45
src/CppParser/Parser.cpp

@ -342,18 +342,10 @@ void Parser::Setup()
clang::driver::ToolChain *TC = nullptr; clang::driver::ToolChain *TC = nullptr;
llvm::Triple Target(TO->Triple); llvm::Triple Target(TO->Triple);
switch (Target.getOS()) { if (Target.getOS() == llvm::Triple::Linux)
case llvm::Triple::Linux: TC = new clang::driver::toolchains::Linux(D, Target, Args);
TC = new clang::driver::toolchains::Linux(D, Target, Args); else if (Target.getEnvironment() == llvm::Triple::EnvironmentType::MSVC)
break; TC = new clang::driver::toolchains::MSVCToolChain(D, Target, Args);
case llvm::Triple::Win32:
switch (Target.getEnvironment()) {
case llvm::Triple::MSVC:
TC = new clang::driver::toolchains::MSVCToolChain(D, Target, Args);
break;
}
break;
}
if (TC && !opts->noStandardIncludes) { if (TC && !opts->noStandardIncludes) {
llvm::opt::ArgStringList Includes; llvm::opt::ArgStringList Includes;
@ -927,12 +919,12 @@ static RecordArgABI GetRecordArgABI(
using namespace clang::CodeGen; using namespace clang::CodeGen;
switch (argAbi) switch (argAbi)
{ {
case CGCXXABI::RecordArgABI::RAA_Default:
return RecordArgABI::Default;
case CGCXXABI::RecordArgABI::RAA_DirectInMemory: case CGCXXABI::RecordArgABI::RAA_DirectInMemory:
return RecordArgABI::DirectInMemory; return RecordArgABI::DirectInMemory;
case CGCXXABI::RecordArgABI::RAA_Indirect: case CGCXXABI::RecordArgABI::RAA_Indirect:
return RecordArgABI::Indirect; return RecordArgABI::Indirect;
default:
return RecordArgABI::Default;
} }
} }
@ -1007,6 +999,8 @@ void Parser::WalkRecord(const clang::RecordDecl* Record, Class* RC)
WalkDeclaration(MD); WalkDeclaration(MD);
break; break;
} }
default:
break;
} }
} }
} }
@ -3093,6 +3087,8 @@ static bool IsInvalid(clang::Stmt* Body, std::unordered_set<clang::Stmt*>& Bodie
case clang::Stmt::StmtClass::MemberExprClass: case clang::Stmt::StmtClass::MemberExprClass:
D = cast<clang::MemberExpr>(Body)->getMemberDecl(); D = cast<clang::MemberExpr>(Body)->getMemberDecl();
break; break;
default:
break;
} }
if (D) if (D)
{ {
@ -3286,8 +3282,8 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F,
const CXXMethodDecl* MD; const CXXMethodDecl* MD;
if (FD->isDependentContext() || if (FD->isDependentContext() ||
(MD = dyn_cast<CXXMethodDecl>(FD)) && !MD->isStatic() && ((MD = dyn_cast<CXXMethodDecl>(FD)) && !MD->isStatic() &&
!HasLayout(cast<CXXRecordDecl>(MD->getDeclContext())) || !HasLayout(cast<CXXRecordDecl>(MD->getDeclContext()))) ||
!CanCheckCodeGenInfo(c->getSema(), FD->getReturnType().getTypePtr()) || !CanCheckCodeGenInfo(c->getSema(), FD->getReturnType().getTypePtr()) ||
std::any_of(FD->parameters().begin(), FD->parameters().end(), std::any_of(FD->parameters().begin(), FD->parameters().end(),
[this](auto* P) { return !CanCheckCodeGenInfo(c->getSema(), P->getType().getTypePtr()); })) [this](auto* P) { return !CanCheckCodeGenInfo(c->getSema(), P->getType().getTypePtr()); }))
@ -4103,6 +4099,8 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D)
Decl->isDeprecated = true; Decl->isDeprecated = true;
break; break;
} }
default:
break;
} }
} }
} }
@ -4412,17 +4410,12 @@ ParserResultKind Parser::ParseSharedLib(llvm::StringRef File,
// see https://bugs.llvm.org/show_bug.cgi?id=44433 // see https://bugs.llvm.org/show_bug.cgi?id=44433
for (const auto& Symbol : MachOObjectFile->symbols()) for (const auto& Symbol : MachOObjectFile->symbols())
{ {
if (Symbol.getName()) if (Symbol.getName().takeError())
{
if ((Symbol.getFlags() & llvm::object::BasicSymbolRef::Flags::SF_Exported) &&
!(Symbol.getFlags() & llvm::object::BasicSymbolRef::Flags::SF_Undefined))
NativeLib->Symbols.push_back(Symbol.getName().get().str());
}
else
{
Symbol.getName().takeError();
return ParserResultKind::Error; return ParserResultKind::Error;
}
if ((Symbol.getFlags() & llvm::object::BasicSymbolRef::Flags::SF_Exported) &&
!(Symbol.getFlags() & llvm::object::BasicSymbolRef::Flags::SF_Undefined))
NativeLib->Symbols.push_back(Symbol.getName().get().str());
} }
return ParserResultKind::Success; return ParserResultKind::Success;
} }

Loading…
Cancel
Save