summaryrefslogtreecommitdiffstats
path: root/parse.cxx
diff options
context:
space:
mode:
authorWenji Huang <wenji.huang@oracle.com>2009-10-14 10:26:03 +0800
committerWenji Huang <wenji.huang@oracle.com>2009-10-14 10:26:03 +0800
commit8c41e846e74026844d4b3e43778e53160f7dc27c (patch)
treeba2daa7a5fef99d3275b1f47047fc5935fda32d5 /parse.cxx
parent6928ee0a21a1832c9845c125b0998d45b801af81 (diff)
parent1c1f1a255cd969934bb7ce1678f4a411337be6f9 (diff)
downloadsystemtap-steved-8c41e846e74026844d4b3e43778e53160f7dc27c.tar.gz
systemtap-steved-8c41e846e74026844d4b3e43778e53160f7dc27c.tar.xz
systemtap-steved-8c41e846e74026844d4b3e43778e53160f7dc27c.zip
Merge branch 'master' of ssh://wenji@sources.redhat.com/git/systemtap
Diffstat (limited to 'parse.cxx')
-rw-r--r--parse.cxx16
1 files changed, 3 insertions, 13 deletions
diff --git a/parse.cxx b/parse.cxx
index 5b3506f8..cfefa12d 100644
--- a/parse.cxx
+++ b/parse.cxx
@@ -2352,8 +2352,6 @@ parser::parse_symbol ()
// now scrutinize this identifier for the various magic forms of identifier
// (printf, @stat_op, and $var...)
- bool pf_stream, pf_format, pf_delim, pf_newline, pf_char;
-
if (name == "@cast")
{
// type-punning time
@@ -2410,19 +2408,11 @@ parser::parse_symbol ()
return sop;
}
- else if (print_format::parse_print(name,
- pf_stream, pf_format, pf_delim, pf_newline, pf_char))
+ else if (print_format *fmt = print_format::create(t))
{
- print_format *fmt = new print_format;
- fmt->tok = t;
- fmt->print_to_stream = pf_stream;
- fmt->print_with_format = pf_format;
- fmt->print_with_delim = pf_delim;
- fmt->print_with_newline = pf_newline;
- fmt->print_char = pf_char;
-
expect_op("(");
- if ((name == "print" || name == "println") &&
+ if ((name == "print" || name == "println" ||
+ name == "sprint" || name == "sprintln") &&
(peek_kw("@hist_linear") || peek_kw("@hist_log")))
{
// We have a special case where we recognize