[Lldb-commits] [PATCH] D17957: Expression evaluation for overloaded C functions

2016-11-29 Thread Ewan Crawford via Phabricator via lldb-commits
EwanCrawford abandoned this revision.
EwanCrawford added a subscriber: ldrumm.
EwanCrawford added a comment.

Abandoning this patch since it's out of date, and @ldrumm has an alternative 
fix he's about to post


Repository:
  rL LLVM

https://reviews.llvm.org/D17957



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D17719: Track expression language from one place in ClangExpressionParser

2019-10-07 Thread Ewan Crawford via Phabricator via lldb-commits
This revision was not accepted when it landed; it landed in state "Needs 
Review".
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6dc9db524492: Track expression language from one place in 
ClangExpressionParser (authored by EwanCrawford).
Herald added a project: LLDB.

Changed prior to commit:
  https://reviews.llvm.org/D17719?vs=82251&id=223584#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D17719/new/

https://reviews.llvm.org/D17719

Files:
  lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
  lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h


Index: lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
===
--- lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
+++ lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
@@ -129,6 +129,8 @@
 class LLDBPreprocessorCallbacks;
 LLDBPreprocessorCallbacks   *m_pp_callbacks; ///< 
Called when the preprocessor encounters module imports
 std::unique_ptr m_ast_context;
+lldb::LanguageType   m_language;///< The 
the source language of the expression
+/// which 
may be explicitly set or inferred.
 };
 
 }
Index: lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
===
--- lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+++ lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
@@ -157,7 +157,7 @@
 
 // 1. Create a new compiler instance.
 m_compiler.reset(new CompilerInstance());
-lldb::LanguageType frame_lang = expr.Language(); // defaults to 
lldb::eLanguageTypeUnknown
+m_language = expr.Language(); // defaults to lldb::eLanguageTypeUnknown
 bool overridden_target_opts = false;
 lldb_private::LanguageRuntime *lang_rt = nullptr;
 lldb::TargetSP target_sp;
@@ -176,14 +176,14 @@
 
 // Make sure the user hasn't provided a preferred execution language
 // with `expression --language X -- ...`
-if (frame && frame_lang == lldb::eLanguageTypeUnknown)
-frame_lang = frame->GetLanguage();
+if (frame && m_language == lldb::eLanguageTypeUnknown)
+m_language = frame->GetLanguage();
 
-if (frame_lang != lldb::eLanguageTypeUnknown)
+if (m_language != lldb::eLanguageTypeUnknown)
 {
-lang_rt = 
exe_scope->CalculateProcess()->GetLanguageRuntime(frame_lang);
+lang_rt = 
exe_scope->CalculateProcess()->GetLanguageRuntime(m_language);
 if (log)
-log->Printf("Frame has language of type %s", 
Language::GetNameForLanguageType(frame_lang));
+log->Printf("Frame has language of type %s", 
Language::GetNameForLanguageType(m_language));
 }
 
 // 2. Configure the compiler with a set of default options that are 
appropriate
@@ -263,9 +263,7 @@
 assert (m_compiler->hasTarget());
 
 // 5. Set language options.
-lldb::LanguageType language = expr.Language();
-
-switch (language)
+switch (m_language)
 {
 case lldb::eLanguageTypeC:
 case lldb::eLanguageTypeC89:


Index: lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
===
--- lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
+++ lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
@@ -129,6 +129,8 @@
 class LLDBPreprocessorCallbacks;
 LLDBPreprocessorCallbacks   *m_pp_callbacks; ///< Called when the preprocessor encounters module imports
 std::unique_ptr m_ast_context;
+lldb::LanguageType   m_language;///< The the source language of the expression
+/// which may be explicitly set or inferred.
 };
 
 }
Index: lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
===
--- lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+++ lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
@@ -157,7 +157,7 @@
 
 // 1. Create a new compiler instance.
 m_compiler.reset(new CompilerInstance());
-lldb::LanguageType frame_lang = expr.Language(); // defaults to lldb::eLanguageTypeUnknown
+m_language = expr.Language(); // defaults to lldb::eLanguageTypeUnknown
 bool overridden_target_opts = false;
 lldb_private::LanguageRuntime *lang_rt = nullptr;
 lldb::TargetSP target_sp;
@@ -176,14 +176,14 @@
 
 // Make sure the user hasn't provided a preferred execution language
 // with `expression --language X -- ...`
-if (frame &