Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2014-09-16 18:15:04 +0000
committerEugene Tarassov2014-09-16 18:15:04 +0000
commit8d9cf2e59a423187d07bdd9f6f0879b7c973df24 (patch)
tree950a5d3524526f5bab44001b80193d1d512f2767
parentc03015b2709712224b928fa1355dd35a44a3080e (diff)
downloadorg.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.c12
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);
}

Back to the top