{"push_id":806531829,"size":23,"distinct_size":23,"ref":"refs/heads/master","head":"448f475660c6994d19532caa070d88cae22d1ea6","before":"d4fb11b952bdcf8844ab3898f82d2a4f0bff3724","commits":[{"sha":"6dae7c9b1802ba553ce93d2ad7b9d36bab38c007","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"More lenient about multiple semicolons.\n\nWhen there are multiple semicolons at the end of a line, we can\njust pretend there's one semicolon.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/6dae7c9b1802ba553ce93d2ad7b9d36bab38c007"},{"sha":"a9614d266d3d6cf8ef1cb55bfb282a03cd965392","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Output message in verbose mode for invalid #define value.\n\n* melange-core/c-decl.dylan\n  (add-cpp-declaration): Output an error message in verbose mode\n  when trying to get the value for a preprocessor definition.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/a9614d266d3d6cf8ef1cb55bfb282a03cd965392"},{"sha":"5842402fa23b8c7ea92c93994e70b99113567531","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Add basic tests of #define constants.\n\nThis doesn't check for floating point constants yet as that doesn't\nwork.\n\n* tests/test.constants: New test.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/5842402fa23b8c7ea92c93994e70b99113567531"},{"sha":"d0ee26b84e369a935f24692db37e40c4bf63afbe","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Rename literal token classes.\n\n<integer-token> is now <integer-literal-token> and <character-token>\nis now <character-literal-token>. This lays the groundwork for\nintroducing a <float-literal-token> since there is already a\n<float-token> and <double-token> for the type names.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/d0ee26b84e369a935f24692db37e40c4bf63afbe"},{"sha":"bc9e0f49b99fc56f416ca14947b78ad5b9f9d77d","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Handle #define constants for character literals.\n\n* melange-core/c-decl-write-c-ffi.dylan\n  (write-declaration on <macro-declaration>): Maintain the\n  value of a character literal rather than replacing it with \"1\".\n\n* tests/test.constants: Update with new test case for a character\n  literal as well as ensuring that empty definitions still work\n  correctly.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/bc9e0f49b99fc56f416ca14947b78ad5b9f9d77d"},{"sha":"ec70cd5c65a983c7fa8f4cbefc448cc6efd73ad8","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Handle __extension__.\n\nThis is a GCC extension that lets gcc work around using GNU\nextensions in code compiled with -pedantic. This can safely\nbe removed.\n\n* melange-core/portability-helpers.dylan\n  ($gcc-or-clang-defines): Define away __extension__.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/ec70cd5c65a983c7fa8f4cbefc448cc6efd73ad8"},{"sha":"ea090838fe281dc8cb175bb6bf5494e241e61db5","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Avoid unnecessary warnings about multiple definitions.\n\nWhen we have a struct definition that references itself and has\na typedef, if we then we used a pointer to that typedef declaration\nlater, it would result in a second pointer type being created\nas one was created for the actual struct declaration and the\nsecond was created for the typedef declaration. By having\npointer-to on a typedef instead work with the underlying\ntype, this can be avoided.\n\n* melange-core/c-decl\n  (pointer-to on <typedef-declaration>): New method.\n\n* tests/test.misc: New test.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/ea090838fe281dc8cb175bb6bf5494e241e61db5"},{"sha":"7090fc76b6965d2f42a827de54fa71f48e7332ff","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Add rough support for <float-literal-token>.\n\nThis isn't perfect support by any means. It doesn't support float\nliterals that use exponents. It also doesn't actually parse the\nvalue, so preprocessor math with it won't work.\n\n* melange-core/c-lexer.dylan\n  (<float-literal-token>): New class.\n  (match-literal): Add floating point regular expression.\n  (get-token): Create a <float-literal-token> when a float value\n    is lexed.\n  (as-dylan-float): Convert from the C format for the float to\n    the Dylan format.\n\n* melange-core/c-parse.input\n  (<float-literal-token>): Add new token.\n  (NON-CURLY): Note that <float-literal-token> is not curly.\n  (primary-expr on <float-literal-token): Return the token itself.\n\n* melange-core/library.dylan\n  (module c-lexer): Export <float-literal-token> and as-dylan-float.\n\n* melange-core/c-decl-write-c-ffi.dylan\n  (write-declaration on <macro-declaration>): Handle printing\n    the Dylan float string from the <float-literal-token>.\n\n* tests/test.constants: Update with a float and double check.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/7090fc76b6965d2f42a827de54fa71f48e7332ff"},{"sha":"e94fb42bdbb4c9e94ab3cbaa66365136d6019639","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Use integer/float-to-string rather than format with %=.\n\n* melange-core/c-decl-write-c-ffi.dylan\n  (write-declaration on <macro-declaration>): Use integer-to-string\n    and float-to-string rather than format-to-string with %=.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/e94fb42bdbb4c9e94ab3cbaa66365136d6019639"},{"sha":"9d941bb42314e8b1b19f49faaa2447b8a43a8ad2","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"[docs] Stop documenting excluding struct slots.\n\nWe don't support excluding struct slots as the C-FFI definition\nmust list all struct members.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/9d941bb42314e8b1b19f49faaa2447b8a43a8ad2"},{"sha":"957053f06103cc4a4b2af3eb71c68e2faeb6c61c","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Let excluding enumeration values work.\n\n* melange-core/c-decl.dylan\n  (exclude-decl): Turn into a method so that we can specialize it.\n  (<enum-slot-declaration>): Add an excluded? slot.\n  (exclude-decl on <enum-slot-declaration>): Set excluded? as well as\n    declared?.\n\n* melange-core/c-decl-write-c-ffi.dylan\n  (write-declaration on <enum-declaration>): Track whether or not\n    any values have been written out to avoid printing an extra\n    newline if no values were printed. Check whether or not the\n    <enum-slot-declaration> has been excluded and if so, don't\n    print it.\n\n* tests/test.enum: Update with tests of excluding enum values.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/957053f06103cc4a4b2af3eb71c68e2faeb6c61c"},{"sha":"f446c53dd32a375094768cf7ced7514c2bf7d552","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Remove d2c/mindy stub support for callback/callout.\n\n* melange-core/c-decl.dylan\n  (<function-type-declaration>): No longer need callback-maker-name\n   or callout-function-name slots.\n\n* melange-core/library.dylan\n  (module c-declarations): No longer export names for the callback-maker-name\n   and callout-function-name slots.\n\n* melange/int-lexer.dylan\n  (<callback-maker-token>, <callout-function-token>): Remove.\n  (reserved-words): Remove \"callback-maker:\" and \"callout-function:\".\n\n* melange/int-parse.input\n  (<callback-maker-token>, <callout-function-token>): Remove.\n  (function-type-option): Remove callback-maker and callout-function parsing.\n\n* melange/interface.dylan\n  (process-clause on <function-type-clause>): Remove support for callback-maker\n   and callout-function. Leave some code there for when we add more options\n   in the future.\n\n* melange/library.dylan\n  (module int-lexer): No longer export <callback-maker-token> and\n   <callout-function-token>.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/f446c53dd32a375094768cf7ced7514c2bf7d552"},{"sha":"5b3ec3a1fe0cfa78064637ed2d55454af1f00ad8","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"[docs] Clean up whitespace.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/5b3ec3a1fe0cfa78064637ed2d55454af1f00ad8"},{"sha":"0bc666fbf3edec1a861b1180f4543f64fb7d38ae","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Remove old gtk-hello-world and gobject-tool.\n\nThese haven't been used or maintained in ages and we have a new\napproach using gobject-introspection with newer bindings in the\nOpen Dylan repository.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/0bc666fbf3edec1a861b1180f4543f64fb7d38ae"},{"sha":"67f9a527ffadfbb36ecce2d71ce31bbd3a194503","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Clean up LID files.\n\nThis removes some Gwydion-specific options. It also removes some tabs\nfrom parsergen/parsergen.lid.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/67f9a527ffadfbb36ecce2d71ce31bbd3a194503"},{"sha":"548db99e92d2dc42c0f39a1df64f85de95a15a61","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Improve pointer-to poking through typedefs.\n\nIn ea090838, pointer-to on <typedef-declaration> was introduced\nwhich would directly poke through the typedef declaration to\nhave the pointer pointing at the underlying type.\n\nInstead, we can have pointer-to call true-type to poke through\nwithout needing a new method specialization.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/548db99e92d2dc42c0f39a1df64f85de95a15a61"},{"sha":"0d19be26e213db3c241791e6927a265fa9f8ae83","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Emit the types actually used for struct members.\n\nWe emit the \"true type\" of struct members, getting rid of typedefs.\nBut when computing closure, we use the full chain of types, leading\nto unused definitions being emitted.\n\n* melange-core/c-decl.dylan\n  (compute-closure): Use the true type of the struct member just as\n   we do when writing the C-FFI definition.\n\n* tests/test.struct: Update.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/0d19be26e213db3c241791e6927a265fa9f8ae83"},{"sha":"c0196955bc34dee81053019a50a70fc00b831fb0","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Emit types actually used for struct array slot members.\n\nWhen computing closure, do so for the types actually used when\nwriting the C-FFI definition.\n\n* melange-core/c-decl.dylan\n  (compute-closure): Use same type as used when writing the C-FFI\n   definition.\n\n* tests/test.struct: Update.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/c0196955bc34dee81053019a50a70fc00b831fb0"},{"sha":"60d8a29cee74153ce670691bf585c0300f372d83","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Don't emit C-pointer-type when the referent has a pointer-type-name.\n\n* melange/interface.dylan\n  (process-clause on <struct-clause>): Pass the C parse state\n   to apply-container-options.\n  (process-clause on <union-clause>): Likewise.\n\n* melange-core/c-decl.dylan\n  (generic apply-container-options): Add new parse state parameter.\n  (apply-container-options): Add new parse state parameter and use it\n   to look up whether or not there is a pointer to this structured\n   type declaration. If there is, rename it to use the pointer-type-name.\n  (compute-closure on <pointer-declaration>): If the referent is a structured\n   type declaration and has a pointer-type-name, then don't emit this\n   type as it will be handled by C-FFI.\n\n* tests/test.struct.pointer-type-name: Update.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/60d8a29cee74153ce670691bf585c0300f372d83"},{"sha":"f0bb9063fa24a775884f3d1b3dc7a110acca1cc0","author":{"email":"ccac2bfac288d9a152e61e5cc31e0235e83ee810@gmail.com","name":"Bruce Mitchener"},"message":"Support binary integer literals.\n\nThese have been a gcc extension, but are now valid in C++14 so\nmight be more common in the wild.\n\n* melange-core/c-lexer\n  (value on <integer-literal-token>): Update to handle 0b.\n  (match-literal): Update to handle binary literals.\n\n* tests/test.constants: Update.","distinct":true,"url":"https://api.github.com/repos/wvdschel/melange/commits/f0bb9063fa24a775884f3d1b3dc7a110acca1cc0"}]}