Browse Source

Update to latest LLVM

pull/157/head
Øystein Krog 12 years ago
parent
commit
c71b29aeb9
  1. 24
      src/CppParser/Parser.cpp
  2. 26
      src/Parser/Parser.cpp

24
src/CppParser/Parser.cpp

@ -938,7 +938,7 @@ Method* Parser::WalkMethodCXX(clang::CXXMethodDecl* MD)
else if (const CXXConversionDecl* CD = dyn_cast<CXXConversionDecl>(MD)) else if (const CXXConversionDecl* CD = dyn_cast<CXXConversionDecl>(MD))
{ {
auto TL = MD->getTypeSourceInfo()->getTypeLoc().castAs<FunctionTypeLoc>(); auto TL = MD->getTypeSourceInfo()->getTypeLoc().castAs<FunctionTypeLoc>();
auto RTL = TL.getResultLoc(); auto RTL = TL.getReturnLoc();
auto ConvTy = WalkType(CD->getConversionType(), &RTL); auto ConvTy = WalkType(CD->getConversionType(), &RTL);
Method->ConversionType = GetQualifiedType(CD->getConversionType(), ConvTy); Method->ConversionType = GetQualifiedType(CD->getConversionType(), ConvTy);
} }
@ -1397,12 +1397,12 @@ Type* Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL,
if (TL && !TL->isNull()) if (TL && !TL->isNull())
{ {
FTL = TL->getAs<FunctionProtoTypeLoc>(); FTL = TL->getAs<FunctionProtoTypeLoc>();
RL = FTL.getResultLoc(); RL = FTL.getReturnLoc();
} }
auto F = new FunctionType(); auto F = new FunctionType();
F->ReturnType = GetQualifiedType(FP->getResultType(), F->ReturnType = GetQualifiedType(FP->getReturnType(),
WalkType(FP->getResultType(), &RL)); WalkType(FP->getReturnType(), &RL));
F->CallingConvention = ConvertCallConv(FP->getCallConv()); F->CallingConvention = ConvertCallConv(FP->getCallConv());
for (unsigned i = 0; i < FP->getNumParams(); ++i) for (unsigned i = 0; i < FP->getNumParams(); ++i)
@ -1753,7 +1753,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, Function* F,
FunctionTypeLoc FTL = TSI->getTypeLoc().getAs<FunctionTypeLoc>(); FunctionTypeLoc FTL = TSI->getTypeLoc().getAs<FunctionTypeLoc>();
if (FTL) if (FTL)
{ {
RTL = FTL.getResultLoc(); RTL = FTL.getReturnLoc();
auto &SM = C->getSourceManager(); auto &SM = C->getSourceManager();
auto headStartLoc = GetDeclStartLocation(C.get(), FD); auto headStartLoc = GetDeclStartLocation(C.get(), FD);
@ -1767,8 +1767,8 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, Function* F,
} }
} }
F->ReturnType = GetQualifiedType(FD->getResultType(), F->ReturnType = GetQualifiedType(FD->getReturnType(),
WalkType(FD->getResultType(), &RTL)); WalkType(FD->getReturnType(), &RTL));
String Mangled = GetDeclMangledName(FD, TargetABI, IsDependent); String Mangled = GetDeclMangledName(FD, TargetABI, IsDependent);
F->Mangled = Mangled; F->Mangled = Mangled;
@ -1789,7 +1789,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, Function* F,
assert (!FTInfo.isNull()); assert (!FTInfo.isNull());
ParamStartLoc = FTInfo.getRParenLoc(); ParamStartLoc = FTInfo.getRParenLoc();
ResultLoc = FTInfo.getResultLoc().getLocStart(); ResultLoc = FTInfo.getReturnLoc().getLocStart();
} }
} }
@ -1828,7 +1828,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, Function* F,
} }
bool CheckCodeGenInfo = !FD->isDependentContext() && !FD->isInvalidDecl(); bool CheckCodeGenInfo = !FD->isDependentContext() && !FD->isInvalidDecl();
CheckCodeGenInfo &= CanCheckCodeGenInfo(FD->getResultType().getTypePtr()); CheckCodeGenInfo &= CanCheckCodeGenInfo(FD->getReturnType().getTypePtr());
for (auto I = FD->param_begin(), E = FD->param_end(); I != E; ++I) for (auto I = FD->param_begin(), E = FD->param_end(); I != E; ++I)
CheckCodeGenInfo &= CanCheckCodeGenInfo((*I)->getType().getTypePtr()); CheckCodeGenInfo &= CanCheckCodeGenInfo((*I)->getType().getTypePtr());
@ -2555,7 +2555,7 @@ ParserResultKind Parser::ParseArchive(llvm::StringRef File,
NativeLib = new NativeLibrary(); NativeLib = new NativeLibrary();
NativeLib->FileName = LibName; NativeLib->FileName = LibName;
for(auto it = Archive.begin_symbols(); it != Archive.end_symbols(); ++it) for(auto it = Archive.symbol_begin(); it != Archive.symbol_end(); ++it)
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;
@ -2582,7 +2582,7 @@ ParserResultKind Parser::ParseSharedLib(llvm::StringRef File,
NativeLib->FileName = LibName; NativeLib->FileName = LibName;
llvm::error_code ec; llvm::error_code ec;
for(auto it = Object->begin_symbols(); it != Object->end_symbols(); it.increment(ec)) for(auto it = Object.get()->begin_symbols(); it != Object.get()->end_symbols(); it.increment(ec))
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;
@ -2592,7 +2592,7 @@ ParserResultKind Parser::ParseSharedLib(llvm::StringRef File,
NativeLib->Symbols.push_back(SymRef); NativeLib->Symbols.push_back(SymRef);
} }
for(auto it = Object->begin_dynamic_symbols(); it != Object->end_dynamic_symbols(); for (auto it = Object.get()->begin_dynamic_symbols(); it != Object.get()->end_dynamic_symbols();
it.increment(ec)) it.increment(ec))
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;

26
src/Parser/Parser.cpp

@ -951,7 +951,7 @@ CppSharp::AST::Method^ Parser::WalkMethodCXX(clang::CXXMethodDecl* MD)
else if (const CXXConversionDecl* CD = dyn_cast<CXXConversionDecl>(MD)) else if (const CXXConversionDecl* CD = dyn_cast<CXXConversionDecl>(MD))
{ {
auto TL = MD->getTypeSourceInfo()->getTypeLoc().castAs<FunctionTypeLoc>(); auto TL = MD->getTypeSourceInfo()->getTypeLoc().castAs<FunctionTypeLoc>();
auto RTL = TL.getResultLoc(); auto RTL = TL.getReturnLoc();
auto ConvTy = WalkType(CD->getConversionType(), &RTL); auto ConvTy = WalkType(CD->getConversionType(), &RTL);
Method->ConversionType = GetQualifiedType(CD->getConversionType(), ConvTy); Method->ConversionType = GetQualifiedType(CD->getConversionType(), ConvTy);
} }
@ -1420,15 +1420,15 @@ CppSharp::AST::Type^ Parser::WalkType(clang::QualType QualType, clang::TypeLoc*
if (TL && !TL->isNull()) if (TL && !TL->isNull())
{ {
FTL = TL->getAs<FunctionProtoTypeLoc>(); FTL = TL->getAs<FunctionProtoTypeLoc>();
RL = FTL.getResultLoc(); RL = FTL.getReturnLoc();
} }
auto F = gcnew CppSharp::AST::FunctionType(); auto F = gcnew CppSharp::AST::FunctionType();
F->ReturnType = GetQualifiedType(FP->getResultType(), F->ReturnType = GetQualifiedType(FP->getReturnType(),
WalkType(FP->getResultType(), &RL)); WalkType(FP->getReturnType(), &RL));
F->CallingConvention = ConvertCallConv(FP->getCallConv()); F->CallingConvention = ConvertCallConv(FP->getCallConv());
for (unsigned i = 0; i < FP->getNumParams(); ++i) for (unsigned i = 0; i < FP->getNumParams(); ++i)
{ {
auto FA = gcnew CppSharp::AST::Parameter(); auto FA = gcnew CppSharp::AST::Parameter();
if (FTL) if (FTL)
@ -1774,7 +1774,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, CppSharp::AST::Function^ F,
FunctionTypeLoc FTL = TSI->getTypeLoc().getAs<FunctionTypeLoc>(); FunctionTypeLoc FTL = TSI->getTypeLoc().getAs<FunctionTypeLoc>();
if (FTL) if (FTL)
{ {
RTL = FTL.getResultLoc(); RTL = FTL.getReturnLoc();
auto &SM = C->getSourceManager(); auto &SM = C->getSourceManager();
auto headStartLoc = GetDeclStartLocation(C.get(), FD); auto headStartLoc = GetDeclStartLocation(C.get(), FD);
@ -1788,8 +1788,8 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, CppSharp::AST::Function^ F,
} }
} }
F->ReturnType = GetQualifiedType(FD->getResultType(), F->ReturnType = GetQualifiedType(FD->getReturnType(),
WalkType(FD->getResultType(), &RTL)); WalkType(FD->getReturnType(), &RTL));
String Mangled = GetDeclMangledName(FD, TargetABI, IsDependent); String Mangled = GetDeclMangledName(FD, TargetABI, IsDependent);
F->Mangled = marshalString<E_UTF8>(Mangled); F->Mangled = marshalString<E_UTF8>(Mangled);
@ -1810,7 +1810,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, CppSharp::AST::Function^ F,
assert (!FTInfo.isNull()); assert (!FTInfo.isNull());
ParamStartLoc = FTInfo.getRParenLoc(); ParamStartLoc = FTInfo.getRParenLoc();
ResultLoc = FTInfo.getResultLoc().getLocStart(); ResultLoc = FTInfo.getReturnLoc().getLocStart();
} }
} }
@ -1849,7 +1849,7 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, CppSharp::AST::Function^ F,
} }
bool CheckCodeGenInfo = !FD->isDependentContext() && !FD->isInvalidDecl(); bool CheckCodeGenInfo = !FD->isDependentContext() && !FD->isInvalidDecl();
CheckCodeGenInfo &= CanCheckCodeGenInfo(FD->getResultType().getTypePtr()); CheckCodeGenInfo &= CanCheckCodeGenInfo(FD->getReturnType().getTypePtr());
for (auto I = FD->param_begin(), E = FD->param_end(); I != E; ++I) for (auto I = FD->param_begin(), E = FD->param_end(); I != E; ++I)
CheckCodeGenInfo &= CanCheckCodeGenInfo((*I)->getType().getTypePtr()); CheckCodeGenInfo &= CanCheckCodeGenInfo((*I)->getType().getTypePtr());
@ -2569,7 +2569,7 @@ ParserResultKind Parser::ParseArchive(llvm::StringRef File,
auto LibName = clix::marshalString<clix::E_UTF8>(File); auto LibName = clix::marshalString<clix::E_UTF8>(File);
NativeLib->FileName = LibName; NativeLib->FileName = LibName;
for(auto it = Archive.begin_symbols(); it != Archive.end_symbols(); ++it) for(auto it = Archive.symbol_begin(); it != Archive.symbol_end(); ++it)
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;
@ -2596,7 +2596,7 @@ ParserResultKind Parser::ParseSharedLib(llvm::StringRef File,
NativeLib->FileName = LibName; NativeLib->FileName = LibName;
llvm::error_code ec; llvm::error_code ec;
for(auto it = Object->begin_symbols(); it != Object->end_symbols(); it.increment(ec)) for(auto it = Object.get()->begin_symbols(); it != Object.get()->end_symbols(); it.increment(ec))
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;
@ -2607,7 +2607,7 @@ ParserResultKind Parser::ParseSharedLib(llvm::StringRef File,
NativeLib->Symbols->Add(SymName); NativeLib->Symbols->Add(SymName);
} }
for(auto it = Object->begin_dynamic_symbols(); it != Object->end_dynamic_symbols(); for(auto it = Object.get()->begin_dynamic_symbols(); it != Object.get()->end_dynamic_symbols();
it.increment(ec)) it.increment(ec))
{ {
llvm::StringRef SymRef; llvm::StringRef SymRef;

Loading…
Cancel
Save