# Changelog

## WIP

## 0.9.2

- Add support for 128 bit builtin integer types

## 0.9.1

  - Support parsing an empty list of clobbers after a colon in `asm` statements

## 0.9.0.2

	- Correct lower bound on GHC

## 0.9.0.1

	- Scrap dependency on syb

Thanks to @vmchale

## 0.9
	- Make `Trav` a monad transformer
	- Add `runTravTWithTravState`
	- Tests now use Cabal-3
	- Implement alignment calculation and correct size calculation
	- Add `Show` instance for `Type`
	- Add machine descriptions for x86_64 and armv7l
	- Small correction in output of prettyprinter
	- Allow zeros as line numbers in preprocessed directives

Thanks to @aweinstock314, @ersran9, @expipiplus1, @jkoppel, @trofi and @visq

Changes since 0.7.0
==========================================================================

Wed May 23 07:08:02 2018 +0200
    Support IEC 60559 types and literals. Closes #52.

Wed May 16 07:08:15 2018 +0200
    introduce flag for optional IEC 60559 type support (see #43)

Wed May 16 06:36:04 2018 +0200
    WIP: towards a complete Export (#51)

Thu Feb 22 13:22:50 2018 -0500
    [syntax] GHC.Generics.Generic and Control.DeepSeq.NFData instances (#49)
    (.cabal) drop splitBase flag

Tue Feb 20 08:34:39 2018 +0300
    Selectively hide Prelude.<>:  GHC 8.4 compat (#45)

Tue Feb 20 00:09:16 2018 -0500
    (Analysis) Minimal support for __float128 (#47)

Sat Nov 25 08:59:59 2017 +0100
    Consider builtin_convertvector from #34 for pretty printing

Sat Nov 25 00:46:33 2017 -0600
    add support for _Float128 (#41)

Changes since 0.6.0
==========================================================================
Mon Jul 31 2017
    Improve TypeCheck output (#31)

Sun Jul 30 2017
    * Add `__float128` (fixes #33)

Mon Maz 22 2017
    * Support clang’s __builtin_convertvector (Fixes #34)

Wed Mar 8 2017
    * Move file and parent information to new datatype FilePosition for performance reasons

Changes since 0.5.0
==========================================================================
Thu Feb 23 2017
  * Make gccParseCPPArgs grab the arg to -MF -MT and -MQ
Wed Feb 15 2017
  * In enums, allow multiple attribute specifiers per enumerator
Tue Feb 21 2017
  * Allow typedef redefinition if it denotes the same type
Tue Feb 21 2017
  * Change TypeDefRef to store Type, not Maybe Type
Tue Feb 14 2017
  * Parse (and ignore) Clang __attribute__((availability(id=major.minor.rev)))
Sun Sep 11 2016
  * Add __builtin_bswap32/64.
Wed Jun 22 2016
  * Add '_Alignof' to Lexer.x (fixes #7)
Mon Jun 27 2016
  * Updates for C11 (part 1)
  * _Nullable and _Nonnull support as well as Warnings/lint fixes provided by Anthony Cowley (https://github.com/acowley)
Wed Mar 16 2016
  * Consider storage specifier "ThreadSpec" for global and local declarations
Tue Mar 15 2016
  * Support C11 _NoReturn, genearlize is_inline to FunSpecs (Syntax) / FunAttrs (SemRep)

Changes since 0.4.3
==========================================================================
Wed Mar 2 2016
  * Add direct base type BaseInt128 (complements previous __int128 patch)
    ryan.gl.scott@gmail.com
Sun Feb 28 2016
  * Parse gcc-specific __int128 type
Thu Dec 4 2014
  * Scott Kovach <dskovach@gmail.com>: added derived Eq,Ord instances to NodeInfo

Changes since 0.4.2
==========================================================================
Sat Jan 11 2014
  * Allow unicode characters in string/char literals and filenames
Mon Oct 27 2014
  * macos-attributes
Tue Aug 13 2013
  * Do not derive Error instances for newtypes (type parameter has non-parametric role)
Mon Aug 12 2013
  * Fix bug caused by applying posFile to nopos (reported by Mikhail Sosonkin)

Changes since 0.4.1
==========================================================================
Tue Mar 19 2013
  * TypeCheck: Return Left str instead of fail str (do not rely on MonadError instance of Either)
  * Improve printing of SUERefs and Ident
Thu Feb 28 2013
  * Fix parsing and printing of octal character escapes.
Tue Jun 12 2012
  * Export Annotated type class from AST module
Wed Aug 24 2012
  * Patch for alex-3.0

Changes 0.3.1 - 0.4.1
==========================================================================
Tue Aug 16 2011:
  * Port to ghc-7.2
Fr April 15 2011: Alexander Bernauer <bernauer@inf.ethz.ch>
  * Show instances (popular request) for AST types, DumpAst demo

Changes 0.3 - 0.3.1
==========================================================================
Thu Aug 21 benedikt.huber@gmail.com
  * add aliases for exposed parsers, in order to document them

Fri Aug 15 benedikt.huber@gmail.com
  * Remove NameMap from Data.Name. We will do this right when neccessary.
  * Parser public API: expose parsers and the Parser Monad
  * ParserMonad: Return updated name supply when executing parser
  * Parser: Expose expression, statement, declaration and file parsers
  * Data: Add newNameSupply ~ (namesStartingFrom 0)

Thu Aug 14 17:13:29 CEST 2008  iavor.diatchki@gmail.com
  * Add a utility function to create a "blank" set of cpp arguments.
  * Make that analysis traversal monad abstract.
  * Export the type synonym "Register" (and bump version)

Wed Aug 13 12:00:57 CEST 2008  benedikt.huber@gmail.com
  * add Data.Position: internalIdentAt


Old Changes
==========================================================================

Mon Jun  9 23:12:46 CEST 2008  benedikt.huber@gmail.com
  * License switched to 3-clause BSD
  $
-  In accordance with the original authors, Language.C is now licensed as BSD-3.
   See:
   http://haskell.org/pipermail/c2hs/2008-June/000833.html
   http://haskell.org/pipermail/c2hs/2008-June/000834.html
   http://haskell.org/pipermail/c2hs/2008-June/000835.html

