llvm needs the OS to be set to either iOS or Mac OS X
to work properly; when doing bare-boards rom debugging force the OS to be one of those when initializing llvm. <rdar://problem/12504138> llvm-svn: 166057
This commit is contained in:
parent
596d2cacc7
commit
981d4dfa0f
|
@ -314,6 +314,22 @@ Module::GetClangASTContext ()
|
||||||
if (objfile && objfile->GetArchitecture(object_arch))
|
if (objfile && objfile->GetArchitecture(object_arch))
|
||||||
{
|
{
|
||||||
m_did_init_ast = true;
|
m_did_init_ast = true;
|
||||||
|
|
||||||
|
// LLVM wants this to be set to iOS or MacOSX; if we're working on
|
||||||
|
// a bare-boards type image, change the triple for llvm's benefit.
|
||||||
|
if (object_arch.GetTriple().getVendor() == llvm::Triple::Apple
|
||||||
|
&& object_arch.GetTriple().getOS() == llvm::Triple::UnknownOS)
|
||||||
|
{
|
||||||
|
if (object_arch.GetTriple().getArch() == llvm::Triple::arm ||
|
||||||
|
object_arch.GetTriple().getArch() == llvm::Triple::thumb)
|
||||||
|
{
|
||||||
|
object_arch.GetTriple().setOS(llvm::Triple::IOS);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
object_arch.GetTriple().setOS(llvm::Triple::MacOSX);
|
||||||
|
}
|
||||||
|
}
|
||||||
m_ast.SetArchitecture (object_arch);
|
m_ast.SetArchitecture (object_arch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue