You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes, those are good example of similar fixes. I'll explain whats going on.
c2go calls clang to do the preprocessing, parsing and output a (rather unfriendly) text based representation of the AST of the source code. Having clang parse the source means that c2go doesn't have to have its own extremely complicated C parser and the clang output provides some extra insights (such as typing information) as well.
On the flip side, the text-based clang AST output is not designed to be machine ingested, it's (normally) just for debugging. So the format changes all the time. c2go relies on regexps to parse this back into a structure in memory before transpiling.
I decided to make c2go very strict about what it would accept so that nuanced cases would be caught rather than leading to bugs down the line. Of course, this also means that c2go can be very brittle as clang make changes to their parser.
The solution you see in those PRs is to copy the line that is failing (0x3228d60 <<invalid sloc>>) and add it as a unit test here. Then modify the regexp to match that input line that's currently failing.
The text was updated successfully, but these errors were encountered: