diff options
author | Dave Brolley <brolley@redhat.com> | 2009-07-16 11:29:59 -0400 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-07-16 11:29:59 -0400 |
commit | 451535e8b0b1018a51206283d89d233d37ea8621 (patch) | |
tree | 766a67ed307a252e20b0fe077cb7f52505b54571 /parse.cxx | |
parent | aa3ed413744f9830c272dbcedc3fffd1974b53ea (diff) | |
parent | f190c8d7aab46fbd15e33493cec7933c93d3c912 (diff) | |
download | systemtap-steved-451535e8b0b1018a51206283d89d233d37ea8621.tar.gz systemtap-steved-451535e8b0b1018a51206283d89d233d37ea8621.tar.xz systemtap-steved-451535e8b0b1018a51206283d89d233d37ea8621.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'parse.cxx')
-rw-r--r-- | parse.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -2239,6 +2239,18 @@ parser::parse_value () throw parse_error ("expected ')'"); return e; } + else if (t->type == tok_operator && t->content == "&") + { + next (); + t = peek (); + if (t->type != tok_identifier || + (t->content != "@cast" && t->content[0] != '$')) + throw parse_error ("expected @cast or $var"); + + target_symbol *ts = static_cast<target_symbol*>(parse_symbol()); + ts->addressof = true; + return ts; + } else if (t->type == tok_identifier) return parse_symbol (); else |