diff options
author | Josh Stone <jistone@redhat.com> | 2009-02-11 14:34:32 -0800 |
---|---|---|
committer | Josh Stone <jistone@redhat.com> | 2009-02-18 12:47:25 -0800 |
commit | 9b5af2958a35174a67076c0f27cff0ed5950736d (patch) | |
tree | edd1da26e8e47d033c6ad29fc2e797243b7ba1d0 /loc2c.c | |
parent | bbc46bf643491173b9086907cf0820b3fd2c1fe3 (diff) | |
download | systemtap-steved-9b5af2958a35174a67076c0f27cff0ed5950736d.tar.gz systemtap-steved-9b5af2958a35174a67076c0f27cff0ed5950736d.tar.xz systemtap-steved-9b5af2958a35174a67076c0f27cff0ed5950736d.zip |
Add high-level support for @cast()ing
This handles all of the parsing, traversal, and optimization. It
doesn't actually resolve the cast yet though.
* staptree.h (struct cast_op, visitor::visit_cast_op): New.
* staptree.cxx (cast_op::print/visit, various visitor::visit_cast_op's):
Incorporate cast_op into the basic tree operations.
* parse.cxx (parser::parse_symbol): Parse @cast operator with an
expression operand, type string, and optional module string.
* translate.cxx (c_unparser::visit_cast_op): Error out if a @cast
survives to translation.
* elaborate.cxx (typeresolution_info::visit_cast_op): Error out if a
@cast survives to type resolution.
(symbol_fetcher::visit_cast_op): treat @casts as a symbol target
(void_statement_reducer::visit_cast_op): unused @casts can be discarded,
but the operand should still be evaluated.
Diffstat (limited to 'loc2c.c')
0 files changed, 0 insertions, 0 deletions