C: Doesn't deal with macro nonsense #612
Labels
No labels
Compat/Breaking
Kind
Bad merge
Kind
Bug
Kind
Documentation
Kind
Enhancement
Kind
Feature
Kind
New language
Kind
Security
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: mergiraf/mergiraf#612
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Most nontrivial C projects have some macros that don't look like normal C syntax, e.g. here is some LInux kernel code:
It appears that mergiraf isn't able to take this into account:
(The actual code I'm compiling here isn't public right now, sorry).
Is this expected? I assume Mergiraf is fundamentally unable to deal with [ab]use of the preprocessor in this style? Maybe this isn't surprising but it should probably be mentioned up-front on the language support docs page.
Yes, that's a known limitation of the tree-sitter parser, see #102.
That's a good idea, a PR would be very welcome:)
Also, the warning message is not ideal: I would expect a single warning message mentioning the parse failure, not one per attempt (although they are indeed different, and it's legitimate for the first one to fail when the second suceeds… not easy).