diff options
Diffstat (limited to 'lldb/source')
| -rw-r--r-- | lldb/source/Symbol/ClangASTContext.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index 70f4af17749..6a77c3fc729 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -379,7 +379,7 @@ ClangASTContext::ClangASTContext (const char *target_triple) : m_language_options_ap(), m_source_manager_ap(), m_diagnostics_engine_ap(), - m_target_options_ap(), + m_target_options_rp(), m_target_info_ap(), m_identifier_table_ap(), m_selector_table_ap(), @@ -402,7 +402,7 @@ ClangASTContext::~ClangASTContext() m_selector_table_ap.reset(); m_identifier_table_ap.reset(); m_target_info_ap.reset(); - m_target_options_ap.reset(); + m_target_options_rp.reset(); m_diagnostics_engine_ap.reset(); m_source_manager_ap.reset(); m_language_options_ap.reset(); @@ -417,7 +417,7 @@ ClangASTContext::Clear() m_language_options_ap.reset(); m_source_manager_ap.reset(); m_diagnostics_engine_ap.reset(); - m_target_options_ap.reset(); + m_target_options_rp.reset(); m_target_info_ap.reset(); m_identifier_table_ap.reset(); m_selector_table_ap.reset(); @@ -609,13 +609,14 @@ ClangASTContext::getDiagnosticConsumer() TargetOptions * ClangASTContext::getTargetOptions() { - if (m_target_options_ap.get() == NULL && !m_target_triple.empty()) + if (m_target_options_rp.getPtr() == NULL && !m_target_triple.empty()) { - m_target_options_ap.reset (new TargetOptions()); - if (m_target_options_ap.get()) - m_target_options_ap->Triple = m_target_triple; + m_target_options_rp.reset (); + m_target_options_rp = new TargetOptions(); + if (m_target_options_rp.getPtr() != NULL) + m_target_options_rp->Triple = m_target_triple; } - return m_target_options_ap.get(); + return m_target_options_rp.getPtr(); } |

