From 1b07c728305a32a8d1fa1bb5da9d428e34dddf4e Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 25 Apr 2006 17:40:53 +0000 Subject: 2006-04-25 Frank Ch. Eigler PR 2427. * staptree.cxx (varuse_collecting_visitor::visit_embeddedcode): Support /* pure */ declaration. Stop using __tvar_ naming hack. (v_c_u::visit_print_format): Mark sprint and sprintf as side-effect-free. (deep_copy_visitor::visit_print_format): Propagate raw_components. * stap.1.in: Document declaration. * elaborate.cxx (semantic_pass_opt2): Verbose message tweak. (dead_stmtexpr_remover): Extend for more aggressive optimization. * tapsets.cxx (dwarf,mark_var_expanding_copy_visotor): Add /* pure */ declaration to rvalue expansions. * tapset/*.stp: Added /* pure */ declarations to many functions. * testsuite/parseok/unparsers.stp: Propagate guru mode flag. * testsuite/buildok/twentyfour.stp: New test. --- testsuite/buildok/twentyfour.stp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100755 testsuite/buildok/twentyfour.stp (limited to 'testsuite/buildok') diff --git a/testsuite/buildok/twentyfour.stp b/testsuite/buildok/twentyfour.stp new file mode 100755 index 00000000..a889fe56 --- /dev/null +++ b/testsuite/buildok/twentyfour.stp @@ -0,0 +1,14 @@ +#! stap -gp4 + +# If the optimizer is working, this function will get elided, +# and thus will compile successfully. + +function pure() %{ /* pure */ +#error "should have been elided" +%} + + +probe begin +{ + pure () +} -- cgit