summaryrefslogtreecommitdiffstats
path: root/translate.cxx
diff options
context:
space:
mode:
authorgraydon <graydon>2005-07-27 18:08:45 +0000
committergraydon <graydon>2005-07-27 18:08:45 +0000
commit8a43522c150e94623ee90857c62d3fb7f5b58521 (patch)
tree51353794991fe3df73166a4716fc7519644e0eb5 /translate.cxx
parent21ba501044c5436c80cd2f4f0abc8aa6bb135bcb (diff)
downloadsystemtap-steved-8a43522c150e94623ee90857c62d3fb7f5b58521.tar.gz
systemtap-steved-8a43522c150e94623ee90857c62d3fb7f5b58521.tar.xz
systemtap-steved-8a43522c150e94623ee90857c62d3fb7f5b58521.zip
2005-07-26 Graydon Hoare <graydon@redhat.com>
* elaborate.cxx: Revert builtin-function code. * translate.cxx: Likewise. * tapsets.{h,cxx}: Likewise.
Diffstat (limited to 'translate.cxx')
-rw-r--r--translate.cxx69
1 files changed, 9 insertions, 60 deletions
diff --git a/translate.cxx b/translate.cxx
index e4bf28b9..3623799c 100644
--- a/translate.cxx
+++ b/translate.cxx
@@ -52,7 +52,6 @@ struct c_unparser: public unparser, public visitor
~c_unparser () {}
void emit_map_type_instantiations ();
- void emit_builtin_function_symbols ();
void emit_common_header ();
void emit_global (vardecl* v);
void emit_functionsig (functiondecl* v);
@@ -204,12 +203,6 @@ struct c_tmpcounter_assignment:
};
-struct builtin_collector: public traversing_visitor
-{
- set<string> called_builtins;
- void visit_functioncall (functioncall* e);
-};
-
ostream & operator<<(ostream & o, var const & v);
class var
@@ -491,14 +484,6 @@ translator_output::line ()
return o;
}
-// ------------------------------------------------------------------------
-
-void
-builtin_collector::visit_functioncall(functioncall* e)
-{
- if (e->referent && !e->referent->body)
- called_builtins.insert(e->referent->name);
-}
// ------------------------------------------------------------------------
@@ -567,8 +552,7 @@ c_unparser::emit_common_header ()
<< c_varname (v->name) << ";";
}
c_tmpcounter ct (this);
- if (fd->body)
- fd->body->visit (& ct);
+ fd->body->visit (& ct);
if (fd->type == pe_unknown)
o->newline() << "/* no return value */";
else
@@ -580,8 +564,6 @@ c_unparser::emit_common_header ()
o->newline(-1) << "} locals [MAXNESTING];";
o->newline(-1) << "} contexts [MAXCONCURRENCY];" << endl;
- emit_builtin_function_symbols ();
-
emit_map_type_instantiations ();
}
@@ -817,37 +799,6 @@ c_unparser::emit_probe (derived_probe* v, unsigned i)
}
-void
-c_unparser::emit_builtin_function_symbols ()
-{
- builtin_collector bc;
- for (unsigned i=0; i<session->functions.size(); i++)
- {
- functiondecl* fd = session->functions[i];
- if (fd->body)
- fd->body->visit(&bc);
- }
- for (unsigned i=0; i<session->probes.size(); i++)
- {
- derived_probe* dp = session->probes[i];
- dp->body->visit(&bc);
- }
-
- for (set<string>::const_iterator i = bc.called_builtins.begin();
- i != bc.called_builtins.end(); ++i)
- {
- o->newline() << "#define _BUILTIN_FUNCTION_" << *i << "_";
- }
-
- o->newline() << "#include \"builtin_functions.h\"";
-
- for (set<string>::const_iterator i = bc.called_builtins.begin();
- i != bc.called_builtins.end(); ++i)
- {
- o->newline() << "#undef _BUILTIN_FUNCTION_" << *i << "_";
- }
-}
-
void
c_unparser::collect_map_index_types(vector<vardecl *> const & vars,
set< exp_type > & value_types,
@@ -2103,18 +2054,16 @@ translate_pass (systemtap_session& s)
}
for (unsigned i=0; i<s.functions.size(); i++)
- if (s.functions[i]->body)
- {
- s.op->newline();
- s.up->emit_functionsig (s.functions[i]);
- }
+ {
+ s.op->newline();
+ s.up->emit_functionsig (s.functions[i]);
+ }
for (unsigned i=0; i<s.functions.size(); i++)
- if (s.functions[i]->body)
- {
- s.op->newline();
- s.up->emit_function (s.functions[i]);
- }
+ {
+ s.op->newline();
+ s.up->emit_function (s.functions[i]);
+ }
for (unsigned i=0; i<s.probes.size(); i++)
{