-
Notifications
You must be signed in to change notification settings - Fork 628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SystemVerilog: let tagNameList() skip paren on RHS #2644
SystemVerilog: let tagNameList() skip paren on RHS #2644
Conversation
I will arrange the commits and push the result to your branch with "git push --force". |
I did "git push --force" before sending pull-request. I did now again but same result.
I probably I made a mistake. Any clue? |
28e8e1f
to
85348d9
Compare
Codecov Report
@@ Coverage Diff @@
## master #2644 +/- ##
=======================================
Coverage 86.82% 86.82%
=======================================
Files 183 183
Lines 38971 38973 +2
=======================================
+ Hits 33837 33839 +2
Misses 5134 5134
Continue to review full report at Codecov.
|
After verifying, you can go to the following steps for pulling the rearranging I made here to your local PC (your workspace):
Here
I guess
After improving the commits, you can reflect the result to this pull request with following command:
|
BTW, don't you should not put your local change to your master branch. |
If your side is ready, let me know. I will start my review. However, taking time for understanding git operations is not a bad idea. |
This fixes one of issues on universal-ctags#2618 // src/tlm2/uvm_tlm2_generic_payload.svh:494 string msg = $sformatf("GP miscompare between '%s' and '%s':\nlhs = %s\nrhs = %s", bar(), 1, 2, 3); // register:bar => not defined verilog.c: L1275 } while (c != EOF && c != ',' && c != ';' && c != ')'); tagNameList() looks for ,, ;, or ) as the end of an expression of the right-hand-side (RHS) of an assignment. ) of bar() is detected as the end of an expression. This confuses the parser. It is fixed by calling skipPastMatch ("()").
85348d9
to
522d56e
Compare
My Master, I've update the commit log. It works great! |
struct { int x; int y; } s4 = '{x:2, y:3+k}; | ||
|
||
st s5 = '{default:2}; | ||
ab abkey[1:0] = '{'{a:1, b:1.0}, '{int:2, shortreal:2.0}}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ab
is not typedef'ed. It this o.k.?
If possible, make a test input valid as SystemVerilog input.
Sorry I made mistake on the definition of y. 2c49261 |
This comment may be helpful for people who does 'git log parsers/verilog.c'.
You can put this to Units/parser-verilog.r/systemverilog-assignment.d/README (or anywhere in the commits.) IF you have the original source of input.sv, write it to input.sv as a comment.
As you wrote, please squash the commits into 1, 2 or 3 commits when ready for merging.
Will you try to fix #2413? I expect your answer is yes:-) |
It's already on the head of input.sv. // user defined types are ignored.
// https://github.com/universal-ctags/ctags/issues/2413
// Update expected.tags when #2413 is fixed.
It's already in comments in input.sv.
I did it now.
It is a next topic. I am studying it now. Let's discuss on #2413. |
As you wrote, three commits for a test case can be squashed into one. |
2c49261
to
3b8b5bd
Compare
Sorry, this morning I typed wrong password on |
Thank you. |
This fixes one of issues on #2618
verilog.c: L1275
tagNameList() looks for
,
,;
, or)
as the end of an expression of the right-hand-side (RHS) of an assignment.)
ofbar()
is detected as the end of an expression. This confuses the parser.It is fixed by calling
skipPastMatch ("()")
.I also added testcases for assignment pattern.
User defined type variables are not emitted due to #2413 issue. When #2413 is fixed, they will be emitted. expected.tags must be updated at that time.
(I tried
rebase -i
but failed. Commit logs for merged commits remains. Sorry.)