Remove non const version of GetArchitecture from Target.h

The architecture of a target should be updated only by the
SetArchitecture method so the target can correctly manage its modules.

llvm-svn: 232152
This commit is contained in:
Tamas Berghammer 2015-03-13 10:32:37 +00:00
parent a73d657e36
commit e724af10b6
2 changed files with 12 additions and 15 deletions

View File

@ -1044,12 +1044,6 @@ public:
bool
ModuleIsExcludedForUnconstrainedSearches (const lldb::ModuleSP &module_sp);
ArchSpec &
GetArchitecture ()
{
return m_arch;
}
const ArchSpec &
GetArchitecture () const
{

View File

@ -1091,7 +1091,7 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch)
if (process_arch.IsValid())
{
ArchSpec &target_arch = GetTarget().GetArchitecture();
const ArchSpec &target_arch = GetTarget().GetArchitecture();
if (target_arch.IsValid())
{
if (log)
@ -1121,20 +1121,23 @@ ProcessGDBRemote::DidLaunchOrAttach (ArchSpec& process_arch)
{
// Fill in what is missing in the triple
const llvm::Triple &remote_triple = process_arch.GetTriple();
llvm::Triple &target_triple = target_arch.GetTriple();
if (target_triple.getVendorName().size() == 0)
llvm::Triple new_target_triple = target_arch.GetTriple();
if (new_target_triple.getVendorName().size() == 0)
{
target_triple.setVendor (remote_triple.getVendor());
new_target_triple.setVendor (remote_triple.getVendor());
if (target_triple.getOSName().size() == 0)
if (new_target_triple.getOSName().size() == 0)
{
target_triple.setOS (remote_triple.getOS());
new_target_triple.setOS (remote_triple.getOS());
if (target_triple.getEnvironmentName().size() == 0)
target_triple.setEnvironment (remote_triple.getEnvironment());
if (new_target_triple.getEnvironmentName().size() == 0)
new_target_triple.setEnvironment (remote_triple.getEnvironment());
}
}
ArchSpec new_target_arch = target_arch;
new_target_arch.SetTriple(new_target_triple);
GetTarget().SetArchitecture(new_target_arch);
}
}
if (log)