Changelog for c2hs-0.28.7

0.28.7.* - Support for InterruptibleFFI (Alex Wied) - Support for equality in C macros (Vanessa McHale) - Make c2hs source comments more Haddock friendly (George Thomas) - (Un)Marshal a C bool into a CUChar instead of CInt - The lowest GHC version supported is now 8.0.1, this is due to upgrading Shelly to 1.9.0 for tests but generally the medium-to-long term plan is to update app code to use 8.0.1 features as well. 0.28.6 - Support for binding to anonymous nested structs and unions. 0.28.6 - Update for GHC 8.6.* 0.28.3 - Switch to language-c 0.7.1 [#192] 0.28.2 - Switch to language-c 0.6 [#176] 0.28.1 - Switch to language-c 0.5 [#157] - Fix class hook problem with imports [#155] 0.27.1 - Alternate specification for sizes in "+" parameters [#140] - Fix regression to do with incomplete structure types [#152] - Fix pattern match error [PR #153] (deech) 0.26.2 - Missing import bug [#151] - Parameter count checking for {#fun ...#} [#149] - Error message for "incomplete types" [#141] 0.26.1 - Better error messages [PR #139] (Noam Lewis) - Fix for OS X block syntax [#138] (Anthony Cowley) - Minimal support for va_list [PR #137] (Andy Adams-Moran) - Reorganise treatment of standard library imports used by C2HS [#136] (https://github.com/haskell/c2hs/blob/master/import-handling.md) - C structure tag/typedef confusion bug (caused problems for flock on OS X) [#134] - C typedefs to void pointers [#133] - Bool wrappers for unnamed parameters in C function definitions [#131] - Incorrect wrapping of some pure C functions [#130] 0.25.2 - Test fixes to work with GHC 7.10.1 0.25.1 - Marshalling for C bool values [#128] 0.24.1 - Revert bad fix for bool handling [#127] - Wrapper generation for bare structure arguments [#117] plus custom setup script to support Cabal builds on versions of Cabal without explicit support for extra C sources generated by preprocessors (@RyanGIScott) - Arrays in structuress bug [#123] - Test fixes for Windows 0.23.1 - Typedef and default marshalling hooks [#20, #25, #48] - Test fixes for 32-bit platforms (Jürgen Keck: @j-keck) - Multi-character constants for OS X [#15] - Better support for binding to variadic functions [#102] 0.22.1 - First (not very good) implementation of support for variadic functions [#102] - Default marshallers for Char types [#98] - Improve sizeof computations [#9, #10] 0.21.1 - Parametrized pointer types in pointer hooks [#36] - Special "+" parameters for efficient foreign pointer marshalling [#46] - Add default marshallers for C types [#83] - Fix treatment of arrays within structs [#115] - Add ability to omit given enum values [#116] - Regression suite tidy-ups 0.20.1 - Get CUDA Travis tests working again (hopefully...) - Modify approach for defining C2HS_MIN_VERSION macro to work with NVIDIA's nvcc CUDA compiler [#111] - Fix problem with parser for {#enum ...#} renamings [#113] 0.19.1 - Add {#const ...#} hook for accessing #defined constants [#65] - Persist enumeration definitions across modules [#103] - Add nocode keyword for enumeration definitions [#70] - Bump version for language-c to fix OS X problems [#82, #85] (thanks to Anthony Cowley and Benedikt Huber for help with this) - Add finalizer support to foreign pointer definitions [#73] - Comment parsing cleanups (Sivert Berg: @sivertb) 0.18.2 - Add C2HS_MIN_VERSION(major,minor,revision) preprocessor macro - Suppress regression suite build (and associated dependency installation) for non-Travis cases - Fix Cabal file to include previously missing tests 0.18.1 - Numerous improvements to Enum handling [#78] (Philipp Balzarek: @Philonous) - Handle Haddock comments within C2HS hook definitions [#62] (@tangboyun) - Better error messages for missing files (Zejun Wu: @watashi) - Write CHS dump files to output directory (Zejun Wu: @watashi) - Handle C calling conventions within function pointer declarations [#88] (Michael Steele: @mikesteele81) - Fix FreeBSD libssh2 problem [#87] (Cindy Wang: @CindyLinz) - Better error messages for hook syntax errors (Ryan Scott: @RyanGIScott) - Fixes for GHC 7.9 [#100] (@int-index) - Fix test suite to use C2HS from dist directory [#81] - Allow free intermixing of command line options and input files [#86] - Treat CLang "block" syntax and other "non-GNU" issues differently: always undefine __BLOCKS__ CPP symbol to avoid problems with blocks; add nonGNU directive to trigger undefine of GNU-specific pre-processor symbols [#77] - Handle indented CPP directives correctly [#80] - Handle #sizeof and #alignof on non-typedef's structures [#95] - Fix #get and #set hooks to access newtyped pointers [#96] - Fix round-trip problem for interface files caused by changes in language-c [#87] - Treat "with" specially so that it can appear both as a marshaller identifier in an input parameter definition and as a keyword in enum definitions [#93] - Temporarily disable CUDA regression suite examples (CUDA install problems on Travis) 0.17.2 - Fix more regressions from 0.16.6 (affected packages included gnome-keyring, hsndfile and cuda) - Add regression suite tests to reduce chances of future regressions 0.17.1 - Fix regressions from 0.16.6 (caused by fix for issue #45) - Version number bump (should have been done in the last release) 0.16.6 - Trivial integer casts in enum defines supporting typedefs [Anton Dessiatov] - Allow forward definition of enums (issue #23) - Binding of C enums with aliases (issue #38) - Default marshallers for enum and pointer hooks (issue #31) - Remove dependencies on C2HS module from marshalling code (issue #37) - Problem with MacOS blocks notation (issue #29) - Include directive on first line produces invalid Haskell (issue #16) - Add command-line switch to suppress GNU preprocessor symbols (issue #60) - Fix size and alignment computation of bitfields [Facundo Dominguez] - Allow prefixes to be replaced, not just removed (issue #19) - Allow reference to structure tags from accessors (issue #54) For access paths for {#get#}, {#set#}, etc., one can now specify that structure tags are to be searched preferentially by saying, for example, {#get struct _point->y#} instead of {#get _point->y#}. The latter case will search for typedef names first and only then structure tags. - Support for anonymous enums (issue #43) - with... unwrapper type declarations for pointer hooks (issue #44) - {#fun...#} indentation for use in where clauses (issue #45) - incorrect method names from terminal class in superclass instances (issue #21) - "offsetof" directive (issue #22) - --include flag cannot handle windows paths (issue #30) Now uses System.FilePath splitSearchPath function, which should be platform-agnostic. - Void functions produce "defined but not used" warning (issue #47) Handle fun hooks with a void result using ">>" instead of ">>=". - Add CPP undefine flags for Gnu compiler defines (issue #51) - Cabal test suite 0.16.5 - Migration to GitHub; documentation changes. CHANGES ABOVE THIS POINT ARE FOR VERSIONS AFTER THE MOVE OF THE REPOSITORY TO GITHUB. FOR EARLIER CHANGES SEE ChangeLog.old.