This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/19510] the "private" keyword support has made -p1 output less useful
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 22 Jan 2016 14:51:11 +0000
- Subject: [Bug translator/19510] the "private" keyword support has made -p1 output less useful
- Auto-submitted: auto-generated
- References: <bug-19510-6586 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19510
David Smith <dsmith at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from David Smith <dsmith at redhat dot com> ---
(In reply to Josh Stone from comment #3)
> Both of these are due to not using semicolons. Whitespace is not
> significant, including newlines, so write it on one line to get an idea what
> the parser sees.
>
> > delete a b = "b"
> > delete a (b) = ("b")
>
> The latter looks like it's calling a(b).
>
> > foo["hello"] = 0 ; ++ foo["hello"]
> > (foo["hello"]) = (0) ++ (foo["hello"])
>
> Note the former required a semicolon to parse as desired!
> The latter is parsed like (0)++, then side-effect-free foo["hello"].
>
>
> We probably should output semicolons after all statements to disambiguate
> things, similar to how we wrap all expressions in parentheses.
Yep, it looks like that was the problem.
I solved this by cherry-picking commit 3070a37 from the dsmith/interactive
branch (where I had already fixed this problem). This commit adds a semi-colon
to the end of statements in '-p1' mode. On the master branch, this is commit
d89c429. I also added commit 62ac4ea, which fixes a few places missed by commit
9fef07f when adding the unmangled name global variable output support.
The new parse-semok.exp test now passes completely on f23
(4.3.3-300.fc23.x86_64).
--
You are receiving this mail because:
You are the assignee for the bug.