summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-08-02 13:50:28 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-08-02 13:52:46 -0400
commit1384b663414d5380e25b21457e71458078ded8d5 (patch)
tree64dae603e54cfc86726b95015ae8ffd3d75da8f9 /translate.cxx
parent67e704a6b1aa140d00d8fe4040fc6e76e7cac2fb (diff)
downloadsystemtap-steved-1384b663414d5380e25b21457e71458078ded8d5.tar.gz
systemtap-steved-1384b663414d5380e25b21457e71458078ded8d5.tar.xz
systemtap-steved-1384b663414d5380e25b21457e71458078ded8d5.zip
c code generation: assert C indentation/nesting cancels out at appropriate points
Diffstat (limited to 'translate.cxx')
-rw-r--r--translate.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/translate.cxx b/translate.cxx
index 5956cba7..03ac0941 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -4714,6 +4714,7 @@ translate_pass (systemtap_session& s)
s.up->emit_global_init (s.globals[i]);
}
s.op->newline(-1) << "};";
+ s.op->assert_0_indent();
for (unsigned i=0; i<s.functions.size(); i++)
{
@@ -4721,6 +4722,7 @@ translate_pass (systemtap_session& s)
s.op->newline();
s.up->emit_functionsig (s.functions[i]);
}
+ s.op->assert_0_indent();
for (unsigned i=0; i<s.functions.size(); i++)
{
@@ -4728,6 +4730,7 @@ translate_pass (systemtap_session& s)
s.op->newline();
s.up->emit_function (s.functions[i]);
}
+ s.op->assert_0_indent();
// Run a varuse_collecting_visitor over probes that need global
// variable locks. We'll use this information later in
@@ -4738,18 +4741,21 @@ translate_pass (systemtap_session& s)
if (s.probes[i]->needs_global_locks())
s.probes[i]->body->visit (&cup.vcv_needs_global_locks);
}
+ s.op->assert_0_indent();
for (unsigned i=0; i<s.probes.size(); i++)
{
if (pending_interrupts) return 1;
s.up->emit_probe (s.probes[i]);
}
+ s.op->assert_0_indent();
s.op->newline();
s.up->emit_module_init ();
+ s.op->assert_0_indent();
s.op->newline();
s.up->emit_module_exit ();
-
+ s.op->assert_0_indent();
s.op->newline();
// XXX impedance mismatch
@@ -4760,17 +4766,20 @@ translate_pass (systemtap_session& s)
s.op->newline() << "void probe_exit () {";
s.op->newline(1) << "systemtap_module_exit ();";
s.op->newline(-1) << "}";
+ s.op->assert_0_indent();
for (unsigned i=0; i<s.globals.size(); i++)
{
s.op->newline();
s.up->emit_global_param (s.globals[i]);
}
+ s.op->assert_0_indent();
emit_symbol_data (s);
s.op->newline() << "MODULE_DESCRIPTION(\"systemtap-generated probe\");";
s.op->newline() << "MODULE_LICENSE(\"GPL\");";
+ s.op->assert_0_indent();
}
catch (const semantic_error& e)
{