summaryrefslogtreecommitdiffstats
path: root/elaborate.cxx
diff options
context:
space:
mode:
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);
}