diff options
author | graydon <graydon> | 2005-11-24 05:55:52 +0000 |
---|---|---|
committer | graydon <graydon> | 2005-11-24 05:55:52 +0000 |
commit | 07c17d677a8080492b4a67b664f4cc9557f5dda3 (patch) | |
tree | ddff61760db8a9d3067f3e559ce36eca9e642811 /elaborate.h | |
parent | 5bb3c2a0266268e63d373de4df3fed2bb7d3be67 (diff) | |
download | systemtap-steved-07c17d677a8080492b4a67b664f4cc9557f5dda3.tar.gz systemtap-steved-07c17d677a8080492b4a67b664f4cc9557f5dda3.tar.xz systemtap-steved-07c17d677a8080492b4a67b664f4cc9557f5dda3.zip |
2005-11-23 Graydon Hoare <graydon@redhat.com>
* elaborate.h (get_symbol_within_expression): Make visible.
* elaborate.cxx (get_symbol_within_expression): Make non-static.
(stat_decl_collector): New struct.
(semantic_pass_stats): New semantic pass.
(semantic_pass): Call it.
(semantic_pass_symbols): Remove collection of statistic_decls from files.
(visit_stat_op): Only fail if inferred type is not pe_long.
* parse.cxx (parser::parse): Don't pass per-file statistic_decl
into parse_global.
(parser::parse_global): Don't parse global statistic_decls,
they're obsolete.
* parse.hh (parser::parse_global): Adjust signature to match.
* session.h (statistic_decl::operator==): New method.
* staptree.h (print_format::is_empty): New method.
(stapfile::stat_decls): Remove field.
* staptree.cxx (string_to_components): Fix bugs in format-string
parser.
* translate.cxx (var): Make private fields protected.
(var::init): Support HIST_NONE stats.
(aggvar): New struct.
(mapvar::is_parallel): New method.
(mapvar::call_prefix): Use it.
(mapvar::calculate_aggregate): New method.
(mapvar::fetch_existing_aggregate): New method.
(mapvar::get): Support pe_stats.
(mapvar::init): Use is_parallel(), and support HIST_NONE.
(itervar::itervar): Only fault on pe_unknown.
(itervar::start): Use mapvar::is_parallel and
mapvar::fetch_existing_aggregate.
(emit_map_type_instantiations): Include alloc.c before pmap-gen.c.
Include pmap-gen.c for pe_stats maps.
(c_unparser::gensym_aggregate): New method.
(c_unparser::visit_foreach_loop): Handle mapvar::is_parallel case.
(arrayindex_downcaster): New struct.
(expression_is_arrayindex): New function.
(c_tmpcounter::visit_stat_op): New method.
(c_unparser::visit_stat_op): Implement.
(c_unparser::visit_hist_op): Add commentary, still not implemented.
* testsuite/buildok/stat_{insert,extract}.stp: New tests.
* testsuite/semok/ten.stp: Correct for changes to global declarations.
* testsuite/semko/*.stp: Likewise.
Diffstat (limited to 'elaborate.h')
-rw-r--r-- | elaborate.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/elaborate.h b/elaborate.h index 0d2da63b..f2a4bd56 100644 --- a/elaborate.h +++ b/elaborate.h @@ -201,5 +201,9 @@ void derive_probes (systemtap_session& s, probe *p, std::vector<derived_probe*>& dps, bool exc_outermost = true); +// A helper we use here and in translate, for pulling symbols out of lvalue +// expressions. +symbol * get_symbol_within_expression (expression *e); + #endif // ELABORATE_H |