{"push_id":557933663,"size":64,"distinct_size":64,"ref":"refs/heads/master","head":"7fd4fe5a6128b01907d8c8b797b436b43be94141","before":"1ce613582e039a4976297f2a420b1a2c7590a658","commits":[{"sha":"f204a5d846395fb19e66a7af88cacd08cee59a7a","author":{"email":"6194323c7d9896f44988ca3ac6eb917ae10c4ca1@nicta.com.au","name":"Siwei Zhuang"},"message":"Re-link a component when the library changes.\n\nMatt: Cherry-picked from development. Hopefully this should close JIRA\n  CAMKES-330 in the process.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/f204a5d846395fb19e66a7af88cacd08cee59a7a"},{"sha":"3930b47b2b6b61e77ccc78d19b1a6ca9797fd89b","author":{"email":"6194323c7d9896f44988ca3ac6eb917ae10c4ca1@nicta.com.au","name":"Siwei Zhuang"},"message":"Add trywait to semaphore.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/3930b47b2b6b61e77ccc78d19b1a6ca9797fd89b"},{"sha":"a017ff03ddad2bdab4857c35cce99a8b43b002b2","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"templates: Fix some _Static_asserts that were not static.\n\nI think I must have just been on autopilot while writing these. They are not\ncompile-time constants and GCC happily did not complain.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/a017ff03ddad2bdab4857c35cce99a8b43b002b2"},{"sha":"e82d632c0139386320aeb78c74e0fe91225aaca7","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Fix: More static asserts that were not static.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/e82d632c0139386320aeb78c74e0fe91225aaca7"},{"sha":"a5549d979e3035bf264a4b4250bd47d0c37a6044","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"AST: Check for duplicate connection/instance names when constructing a composition.\n\nCloses CAMKES-287","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/a5549d979e3035bf264a4b4250bd47d0c37a6044"},{"sha":"ff9379bd4d13d97e8e7c7fbe98dc7bed652e802f","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Templates: Remove some unused macro functions.\n\nConflicts:\n\tcamkes/templates/macros.jinja","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/ff9379bd4d13d97e8e7c7fbe98dc7bed652e802f"},{"sha":"2187a5165e85165fbba67ea0cf823647609af917","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Move Jinja macros into Python.\n\nJinja macros have unexpected, and often unpleasant, behaviour. A non-exhaustive\nlist of issues with them is:\n - They are not first class Python functions so cannot be passed within the\n   template context to, e.g., `map`;\n - They can mask and inadvertently overwrite your local variables;\n - Certain types of references have unexpected expansions within the context of\n   a macro;\n - Calling a macro within a macro is dangerous; and\n - You cannot call certain Python functions from within a macro.\n\nThis commit transliterates the existing macros into Python, attempting to\npreserve all current functionality. This has involved essentially inverting\ntheir implementation such that they become C hosted within Python, rather than\nPython hosted within C. The macros are now unconditionally available to all\ntemplates (see Context.py).\n\nThis change is intended to be transparent to template authors and CAmkES users.\n\nConflicts:\n\tcamkes/templates/echronos/eChronosAsynch-from.template.c\n\tcamkes/templates/echronos/eChronosAsynch-to.template.c\n\tcamkes/templates/linux/component.template.h\n\tcamkes/templates/linux/linuxMQ-from.template.c\n\tcamkes/templates/linux/linuxMQ-to.template.c\n\tcamkes/templates/linux/linuxMQEmpty-from.template.c\n\tcamkes/templates/linux/linuxMQEmpty-to.template.c\n\tcamkes/templates/linux/linuxMmap-from.template.c\n\tcamkes/templates/linux/linuxMmap-to.template.c\n\tcamkes/templates/macros.jinja","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/2187a5165e85165fbba67ea0cf823647609af917"},{"sha":"6865a7771ecd14f5c2a35a98086fbc0ae05493e7","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Add another errant variable to the pruner blacklist.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/6865a7771ecd14f5c2a35a98086fbc0ae05493e7"},{"sha":"40e80e765d3ac66e79f92750881a91cd6eeb6d06","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Expose the camkes.ast module to template authors.\n\nThis allows the template context to perform `isinstance` testing on variables\nagainst AST types.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/40e80e765d3ac66e79f92750881a91cd6eeb6d06"},{"sha":"271d64f412aab6e46df2d76ac1665bbc73a99ad8","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"tools: Add a tool for basic checking of Jinja templates.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/271d64f412aab6e46df2d76ac1665bbc73a99ad8"},{"sha":"575b7a1d53cc72cae0d07a7d6dc229c1795eecf2","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"libsel4camkes: Make a static assert a runtime assert.\n\nThis assertion comes out as an extern declaration in input to the verification\nprocess which causes issues during parsing. This commit changes this assertion\nto a runtime check that is not seen by verification.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/575b7a1d53cc72cae0d07a7d6dc229c1795eecf2"},{"sha":"42264fe86e1efe3fa5a1d5ec09e1f0d4178d8b79","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Add a standalone RPC stub generator.\n\nThis generator can be called from the usual CAmkES entry point\n(`camkes.sh stubgen ...`), but is expected to be used outside the context of a\nCAmkES system. The purpose of this is to allow CAmkES IDL to be used in\nspecifying non-CAmkES systems. The examples given are fairly primitive, but\nshould be enough to guide template authors in implementing their own RPC stub\ncode.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/42264fe86e1efe3fa5a1d5ec09e1f0d4178d8b79"},{"sha":"9259d82839f09b8f040e929345381f116feb5162","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Add some missing licence headers.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/9259d82839f09b8f040e929345381f116feb5162"},{"sha":"fea4732691071e7f1b24dcd203d4aa9792508cd1","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"jinja-lint: Add missing directive 'import'","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/fea4732691071e7f1b24dcd203d4aa9792508cd1"},{"sha":"7b655c06efb38965a4338ab544364642623c23b7","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Template context: Add a function for asserting the current Isabelle subgoal.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/7b655c06efb38965a4338ab544364642623c23b7"},{"sha":"8740077c15f36e6034b30d824645f8fd5b48dda7","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"camkes.mk: Blacklist another troublesome symbol.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/8740077c15f36e6034b30d824645f8fd5b48dda7"},{"sha":"1fa529a8008da3984c7703324063c245d22db82a","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Template context: Expose `chr` and `ord`.\n\nNeeded in order to work around some idiocy in Isabelle.\n\nConflicts:\n\tcamkes/runner/Context.py","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/1fa529a8008da3984c7703324063c245d22db82a"},{"sha":"2a8ccab0ac213cc4bc14276e13b4028e7d3256a8","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"tests: Re-enable execute on a shell script.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/2a8ccab0ac213cc4bc14276e13b4028e7d3256a8"},{"sha":"c790ae7da7cb967eedf80df068fc2c4844ba6b40","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"tests: Remove deprecated pylint argument.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/c790ae7da7cb967eedf80df068fc2c4844ba6b40"},{"sha":"6441a73a2e752ac3c417209368911255c2ac4ccf","author":{"email":"52ca3cfc019d67b4091be27d7e8177782162dee2@nicta.com.au","name":"Matthew Fernandez"},"message":"Kconfg: Add descriptions to the profiling options.","distinct":true,"url":"https://api.github.com/repos/seL4/camkes-tool/commits/6441a73a2e752ac3c417209368911255c2ac4ccf"}]}