diff options
author | Eugene Tarassov | 2014-09-16 18:15:04 +0000 |
---|---|---|
committer | Eugene Tarassov | 2014-09-16 18:15:04 +0000 |
commit | 8d9cf2e59a423187d07bdd9f6f0879b7c973df24 (patch) | |
tree | 950a5d3524526f5bab44001b80193d1d512f2767 | |
parent | c03015b2709712224b928fa1355dd35a44a3080e (diff) | |
download | org.eclipse.tcf.agent-8d9cf2e59a423187d07bdd9f6f0879b7c973df24.tar.gz org.eclipse.tcf.agent-8d9cf2e59a423187d07bdd9f6f0879b7c973df24.tar.xz org.eclipse.tcf.agent-8d9cf2e59a423187d07bdd9f6f0879b7c973df24.zip |
Bug 444058 - Resolving the expression "myfile.c"::myfunc does not work
-rw-r--r-- | agent/tcf/services/expressions.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/agent/tcf/services/expressions.c b/agent/tcf/services/expressions.c index e7fbbbcd..e20d8af6 100644 --- a/agent/tcf/services/expressions.c +++ b/agent/tcf/services/expressions.c @@ -1050,11 +1050,13 @@ static int identifier(int mode, Value * scope, char * name, SYM_FLAGS flags, Val if (scope != NULL) { int scope_class = 0; Symbol * scope_sym = scope->sym; - if (scope_sym != NULL && get_symbol_class(scope_sym, &scope_class) < 0) { - error(errno, "Cannot retrieve symbol class"); - } - if (scope_class != SYM_CLASS_FUNCTION) { - scope_sym = scope->type; + if (scope->type != NULL) { + if (scope_sym != NULL && get_symbol_class(scope_sym, &scope_class) < 0) { + error(errno, "Cannot retrieve symbol class"); + } + if (scope_class != SYM_CLASS_FUNCTION) { + scope_sym = scope->type; + } } n = find_symbol_in_scope(expression_context, expression_frame, expression_addr, scope_sym, name, &sym); } |