Browse Source

Use our own version of Clang's TargetInfo when looking up target info.

pull/553/head
triton 10 years ago
parent
commit
9449e915b3
  1. 6
      src/CppParser/Parser.cpp
  2. 6
      src/CppParser/Targets.cpp

6
src/CppParser/Parser.cpp

@ -125,6 +125,10 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi) @@ -125,6 +125,10 @@ ConvertToClangTargetCXXABI(CppSharp::CppParser::AST::CppAbi abi)
llvm_unreachable("Unsupported C++ ABI.");
}
// Defined in Targets.cpp
clang::TargetInfo * CreateTargetInfo(clang::DiagnosticsEngine &Diags,
const std::shared_ptr<clang::TargetOptions> &Opts);
void Parser::SetupHeader()
{
using namespace clang;
@ -184,7 +188,7 @@ void Parser::SetupHeader() @@ -184,7 +188,7 @@ void Parser::SetupHeader()
if (!Opts->TargetTriple.empty())
TO->Triple = llvm::Triple::normalize(Opts->TargetTriple);
TargetInfo* TI = TargetInfo::CreateTargetInfo(C->getDiagnostics(), TO);
TargetInfo* TI = CreateTargetInfo(C->getDiagnostics(), TO);
if (!TI)
{
// We might have no target info due to an invalid user-provided triple.

6
src/CppParser/Targets.cpp

@ -7637,3 +7637,9 @@ const std::shared_ptr<TargetOptions> &Opts) { @@ -7637,3 +7637,9 @@ const std::shared_ptr<TargetOptions> &Opts) {
return Target.release();
}
TargetInfo * CreateTargetInfo(DiagnosticsEngine &Diags,
const std::shared_ptr<TargetOptions> &Opts)
{
return TargetInfo::CreateTargetInfo(Diags, Opts);
}
Loading…
Cancel
Save