else
n->body = new block (alias->body, use->body);
+ unsigned old_num_results = finished_results.size();
derive_probes (sess, n, finished_results, location->optional);
+
+ // Check whether we resolved something. If so, put the
+ // whole library into the queue if not already there.
+ if (finished_results.size() > old_num_results)
+ {
+ stapfile *f = alias->tok->location.file;
+ if (find (sess.files.begin(), sess.files.end(), f)
+ == sess.files.end())
+ sess.files.push_back (f);
+ }
}
bool checkForRecursiveExpansion (probe *use)
--- /dev/null
+probe test_alias = end {
+ alias_local = 1
+}
+probe begin {
+ println("included alias")
+}
--- /dev/null
+function test_function:long() {
+ return 1
+}
+probe begin {
+ println("included function")
+}
--- /dev/null
+global test_global = 1
+probe begin {
+ println("included global")
+}
--- /dev/null
+# Check that globals, functions, and aliases will pull in probes from the
+# tapset file in which they are defined.
+
+if {![installtest_p]} { untested "tapset includes"; return }
+
+set tapset "$srcdir/$subdir/tapset"
+
+# global
+set script "probe end { if (test_global) println(\"end\") }"
+set ::result_string "included global\nend"
+stap_run_exact "tapset include global" -I$tapset -e $script -c true
+
+# function
+set script "probe end { if (test_function()) println(\"end\") }"
+set ::result_string "included function\nend"
+stap_run_exact "tapset include function" -I$tapset -e $script -c true
+
+# alias
+set script "probe test_alias { if (alias_local) println(\"end\") }"
+set ::result_string "included alias\nend"
+stap_run_exact "tapset include alias" -I$tapset -e $script -c true