diff options
author | guanglei <guanglei> | 2006-05-08 04:23:14 +0000 |
---|---|---|
committer | guanglei <guanglei> | 2006-05-08 04:23:14 +0000 |
commit | 972662787b66d69b199c5e52488c55491e9880f3 (patch) | |
tree | 5496c30d16fc70aa63d6bc82122b4ba764956dcd /elaborate.cxx | |
parent | b56337bc0b2696c549af2b9ce7df63e8832adb07 (diff) | |
download | systemtap-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.cxx | 36 |
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); } |