{"shas":[["7e883d1982fffc71384d06b7d4b0aacd282de042","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","cleanup: use start condition block for <cpp_dir>\n\nNo code change, just formatting.","Petr Tesarik"],["718bf62e31fe40ad7dd424c3b2c90c1b14fb67e3","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Fix incremental parsing\n\nThe trouble with the second pass (macro parsing) is that the resulting\ntree overrides the original one. Let's add to the existing tree instead.","Petr Tesarik"],["08fb637cccde438ed87380a09e330093530054a4","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Make a per-file parse tree\n\nPrepare for parsing multiple files.","Petr Tesarik"],["b59a4d980c5f1db8205ef852087e268c2509e868","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Fix use after free in parser\n\nThe loop in newdecl() will free all declarators, so using the\nsecond argument after the call is wrong.","Petr Tesarik"],["f7c194161f6a745d5327d4dd57b5fff505083a49","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Allow function-like macros with empty argument list\n\nThis is a special case that needs its own rule.","Petr Tesarik"],["0284520bbcd00f26342d40914c61dbc212367b66","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Use list_for_each_entry_safe to walk the macros\n\nSince the current list entry may be replaced while walking the list,\nwe must use the safe version.","Petr Tesarik"],["f40a8b3e3d6fbee50df3bfed715bdd2e4b9ec58c","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Fix parsing of multiline block comments in macros\n\nThe <cpp_ign> rule happily matched the opening \"/*\", so these\ncomments were misparsed. Unfortunately, the macro definition must be\ncontained in one dynstr, so I had to implement dynamic resizing\nat the same time.","Petr Tesarik"],["1327118f1e14bcad2e28593a1d0c24a1c0466ed0","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Fix use-after-free in replace_text_list\n\nWe must save the pointer to the next item before we free the current\none.","Petr Tesarik"],["941856a4adb7a888831bb2a0a07c1f47a767c4ed","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Fix nasty use-after-free bugs\n\nThe way additional raw content was broken if a CPP token was at the\nvery end of a file.","Petr Tesarik"],["75cf4277f715d69711a40185dc0bff9517cfe4f6","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Store basic types as a bitmask\n\nSo we get a cannonical representation of each basic type.","Petr Tesarik"],["5624cd1b502c719af15482afc74e38efe20d77cf","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Extend last_text for basic types\n\nBasic types should include all the identifiers they consist of.","Petr Tesarik"],["92ad867b9b508ceb1c41e12149c5ca38fb9eab09","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Prepare for putting tree transformations into a separate file\n\nThis includes a few minor changes:\n\n- include <stdio.h> from parser.h\n- make replace_text_list a global function","Petr Tesarik"],["5e1c45f24c1e30ae98cf138ecc8b14142b7ceab0","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Move tree transformations into xform.c\n\nAll transformations are now contained in a separate file to ease\nmaintenance.","Petr Tesarik"],["ba366501efb4f2b19bb6304cd2565fadc414990e","c327e92ea10f7773037429ba850de356a617881c@tesarici.cz","Avoid walking the same node twice\n\nBecause of the way declarations are handled, the same type node can be\nattached to multiple variables, e.g.\n\nint a, b;\n\nwill link the same 'int' type to both 'a' and 'b', so you get:\n\n  decl +-> a --v\n       |      int\n       +-> b --^\n\nSo, you'll see the 'int' object twice -- once when from 'a' and\na second time from 'b'. Currently, it doesn't make any difference,\nbut the seen field may become important when 'a' and 'b' should\nbe of different types, because then the declaration would have\nto be broken up into two.","Petr Tesarik"]],"repo":"ptesarik/xcrash-scripts","actor":"ptesarik","ref":"refs/heads/master","size":14,"head":"ba366501efb4f2b19bb6304cd2565fadc414990e","actor_gravatar":"b9ce213f9b726da8d23e679eaf4adf83","push_id":25449777}