diff options
author | Wenji Huang <wenji.huang@oracle.com> | 2009-02-24 21:36:32 -0500 |
---|---|---|
committer | Wenji Huang <wenji.huang@oracle.com> | 2009-02-24 21:36:32 -0500 |
commit | 0e4c80225fc77cfa5b830ddac3f60a28d47ce7bb (patch) | |
tree | e54025ffd44d1cd653d3eb63c96a6e025215bf00 /translate.cxx | |
parent | cfba34fccd99924a47622c5082706867f0a34b12 (diff) | |
download | systemtap-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.cxx | 32 |
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++) { |