summaryrefslogtreecommitdiffstats
path: root/elaborate.cxx
diff options
context:
space:
mode:
authorguanglei <guanglei>2006-05-08 04:23:14 +0000
committerguanglei <guanglei>2006-05-08 04:23:14 +0000
commit972662787b66d69b199c5e52488c55491e9880f3 (patch)
tree5496c30d16fc70aa63d6bc82122b4ba764956dcd /elaborate.cxx
parentb56337bc0b2696c549af2b9ce7df63e8832adb07 (diff)
downloadsystemtap-steved-972662787b66d69b199c5e52488c55491e9880f3.tar.gz
systemtap-steved-972662787b66d69b199c5e52488c55491e9880f3.tar.xz
systemtap-steved-972662787b66d69b199c5e52488c55491e9880f3.zip
epilogue mode probe aliases support
Diffstat (limited to 'elaborate.cxx')
-rw-r--r--elaborate.cxx36
1 files changed, 26 insertions, 10 deletions
diff --git a/elaborate.cxx b/elaborate.cxx
index f5b0496b..abb91540 100644
--- a/elaborate.cxx
+++ b/elaborate.cxx
@@ -344,17 +344,33 @@ alias_expansion_builder
// there's concatenated code here and we only want one vardecl per
// resulting variable.
- for (unsigned i = 0; i < alias->body->statements.size(); ++i)
- {
- statement *s = deep_copy_visitor::deep_copy(alias->body->statements[i]);
- n->body->statements.push_back(s);
- }
+ if(alias->epilogue_style == true) {
+ for (unsigned i = 0; i < use->body->statements.size(); ++i)
+ {
+ statement *s = deep_copy_visitor::deep_copy(use->body->statements[i]);
+ n->body->statements.push_back(s);
+ }
- for (unsigned i = 0; i < use->body->statements.size(); ++i)
- {
- statement *s = deep_copy_visitor::deep_copy(use->body->statements[i]);
- n->body->statements.push_back(s);
- }
+ for (unsigned i = 0; i < alias->body->statements.size(); ++i)
+ {
+ statement *s = deep_copy_visitor::deep_copy(alias->body->statements[i]);
+ n->body->statements.push_back(s);
+ }
+
+ } else {
+
+ for (unsigned i = 0; i < alias->body->statements.size(); ++i)
+ {
+ statement *s = deep_copy_visitor::deep_copy(alias->body->statements[i]);
+ n->body->statements.push_back(s);
+ }
+
+ for (unsigned i = 0; i < use->body->statements.size(); ++i)
+ {
+ statement *s = deep_copy_visitor::deep_copy(use->body->statements[i]);
+ n->body->statements.push_back(s);
+ }
+ }
derive_probes (sess, n, finished_results, false);
}