summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorWenji Huang <wenji.huang@oracle.com>2009-02-24 21:36:32 -0500
committerWenji Huang <wenji.huang@oracle.com>2009-02-24 21:36:32 -0500
commit0e4c80225fc77cfa5b830ddac3f60a28d47ce7bb (patch)
treee54025ffd44d1cd653d3eb63c96a6e025215bf00 /translate.cxx
parentcfba34fccd99924a47622c5082706867f0a34b12 (diff)
downloadsystemtap-steved-0e4c80225fc77cfa5b830ddac3f60a28d47ce7bb.tar.gz
systemtap-steved-0e4c80225fc77cfa5b830ddac3f60a28d47ce7bb.tar.xz
systemtap-steved-0e4c80225fc77cfa5b830ddac3f60a28d47ce7bb.zip
Skip generating empty struct global
Impact: trivial cleanup. Avoid emitting empty struct global code that is harmless. Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
Diffstat (limited to 'translate.cxx')
-rw-r--r--translate.cxx32
1 files changed, 17 insertions, 15 deletions
diff --git a/translate.cxx b/translate.cxx
index 135830df..655937d7 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -4954,21 +4954,23 @@ translate_pass (systemtap_session& s)
s.op->newline() << s.embeds[i]->code << "\n";
}
- s.op->newline() << "static struct {";
- s.op->indent(1);
- for (unsigned i=0; i<s.globals.size(); i++)
- {
- s.up->emit_global (s.globals[i]);
- }
- s.op->newline(-1) << "} global = {";
- s.op->newline(1);
- for (unsigned i=0; i<s.globals.size(); i++)
- {
- if (pending_interrupts) return 1;
- s.up->emit_global_init (s.globals[i]);
- }
- s.op->newline(-1) << "};";
- s.op->assert_0_indent();
+ if (s.globals.size()>0) {
+ s.op->newline() << "static struct {";
+ s.op->indent(1);
+ for (unsigned i=0; i<s.globals.size(); i++)
+ {
+ s.up->emit_global (s.globals[i]);
+ }
+ s.op->newline(-1) << "} global = {";
+ s.op->newline(1);
+ for (unsigned i=0; i<s.globals.size(); i++)
+ {
+ if (pending_interrupts) return 1;
+ s.up->emit_global_init (s.globals[i]);
+ }
+ s.op->newline(-1) << "};";
+ s.op->assert_0_indent();
+ }
for (map<string,functiondecl*>::iterator it = s.functions.begin(); it != s.functions.end(); it++)
{