On Mon, Mar 12, 2012 at 9:34 AM, Kevin Wolf <kw...@redhat.com> wrote: > It has happened more than once that patches that look perfectly sane > and work with simpletrace broke systemtap because they use 'next' as an > argument name for a tracing function. However, 'next' is a keyword for > systemtap, so we shouldn't use it. > > Signed-off-by: Kevin Wolf <kw...@redhat.com> > --- > scripts/tracetool | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/scripts/tracetool b/scripts/tracetool > index 4c9951d..f892af4 100755 > --- a/scripts/tracetool > +++ b/scripts/tracetool > @@ -81,6 +81,10 @@ get_args() > args=${1#*\(} > args=${args%%\)*} > echo "$args" > + > + if (echo "$args" | grep "[ *]next\($\|[, ]\)" > /dev/null 2>&1); then > + echo -e "\n#error 'next' is a bad argument name (clash with > systemtap keyword)\n " > + fi
Good idea, let's prevent it from being used. I don't think this is the way to do it because callers will parse stdout and we're not guaranteed to be generating C code where #error works. Instead, we can echo to stderr and do exit 1. Stefan