Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-language-c for openSUSE:Factory 
checked in at 2024-02-01 18:05:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-language-c (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-language-c.new.1815 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-language-c"

Thu Feb  1 18:05:11 2024 rev:10 rq:1143197 version:0.9.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-language-c/ghc-language-c.changes    
2023-11-23 21:43:08.268993343 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-language-c.new.1815/ghc-language-c.changes  
2024-02-01 18:05:51.220102227 +0100
@@ -1,0 +2,8 @@
+Sat Jan 20 15:44:41 UTC 2024 - Peter Simons <[email protected]>
+
+- Update language-c to version 0.9.3.
+  Upstream has renamed and modified the change log file(s) in this
+  release. Unfortunately, the automatic updater cannot reliable
+  determine relevant entries for this release.
+
+-------------------------------------------------------------------

Old:
----
  language-c-0.9.2.tar.gz
  language-c.cabal

New:
----
  language-c-0.9.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-language-c.spec ++++++
--- /var/tmp/diff_new_pack.VsmnUC/_old  2024-02-01 18:05:51.828124253 +0100
+++ /var/tmp/diff_new_pack.VsmnUC/_new  2024-02-01 18:05:51.828124253 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-language-c
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,12 @@
 %global pkgver %{pkg_name}-%{version}
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.9.2
+Version:        0.9.3
 Release:        0
 Summary:        Analysis and generation of C code
 License:        BSD-3-Clause
 URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
 BuildRequires:  alex
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-array-devel
@@ -86,7 +85,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build
@@ -107,7 +105,7 @@
 %license LICENSE
 
 %files devel -f %{name}-devel.files
-%doc AUTHORS AUTHORS.c2hs ChangeLog README
+%doc AUTHORS AUTHORS.c2hs ChangeLog.md README.md
 
 %files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
 %license LICENSE

++++++ language-c-0.9.2.tar.gz -> language-c-0.9.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/ChangeLog 
new/language-c-0.9.3/ChangeLog
--- old/language-c-0.9.2/ChangeLog      2023-01-10 14:47:01.000000000 +0100
+++ new/language-c-0.9.3/ChangeLog      1970-01-01 01:00:00.000000000 +0100
@@ -1,173 +0,0 @@
-# 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)
-    [email protected]
-Sun Feb 28 2016
-  * Parse gcc-specific __int128 type
-Thu Dec 4 2014
-  * Scott Kovach <[email protected]>: 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 <[email protected]>
-  * Show instances (popular request) for AST types, DumpAst demo
-
-Changes 0.3 - 0.3.1
-==========================================================================
-Thu Aug 21 [email protected]
-  * add aliases for exposed parsers, in order to document them
-
-Fri Aug 15 [email protected]
-  * 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  [email protected]
-  * 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  [email protected]
-  * add Data.Position: internalIdentAt
-
-
-Old Changes
-==========================================================================
-
-Mon Jun  9 23:12:46 CEST 2008  [email protected]
-  * 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
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/ChangeLog.md 
new/language-c-0.9.3/ChangeLog.md
--- old/language-c-0.9.2/ChangeLog.md   1970-01-01 01:00:00.000000000 +0100
+++ new/language-c-0.9.3/ChangeLog.md   2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,192 @@
+# Changelog
+
+## 0.9.3
+
+- Add support for `__builtin_bit_cast` to support clang toolchain,
+  enabling builds with GHC 9.4+ on Windows.
+
+## 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)
+    [email protected]
+
+Sun Feb 28 2016
+  * Parse gcc-specific `__int128` type
+
+Thu Dec 4 2014
+  * Scott Kovach <[email protected]>: 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
+
+Fri Apr 15 2011: Alexander Bernauer <[email protected]>
+  * Show instances (popular request) for AST types, DumpAst demo
+
+## Changes 0.3 - 0.3.1
+
+Thu Aug 21 [email protected]
+  * add aliases for exposed parsers, in order to document them
+
+Fri Aug 15 [email protected]
+  * 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  [email protected]
+  * 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  [email protected]
+  * add Data.Position: internalIdentAt
+
+## Old Changes
+
+Mon Jun  9 23:12:46 CEST 2008  [email protected]
+  * 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
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/README new/language-c-0.9.3/README
--- old/language-c-0.9.2/README 2023-01-10 14:47:01.000000000 +0100
+++ new/language-c-0.9.3/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,66 +0,0 @@
-= Language.C =
-
-Language.C is a parser and pretty-printer framework for C11 and the extensions 
of gcc.
-
-See http://visq.github.io/language-c/
-
-== Build and Install ==
-
-cabal install
-
--- or --
-
-runhaskell Setup.hs configure FLAGS
-runhaskell Setup.hs build
-runhaskell Setup.hs install
-
-Provide the set of flags passing
- --flags="<flags-seperated-by-space>"
-to configure.
-
-== Compatibility ==
-
-Tested with GHC 8.0, 8.2, 8.4, 8.6, 8.8 and 8.10
-
-It is recommended to use the most recent platform release: 
http://hackage.haskell.org/platform/.
-
-== C Language Compatibility ==
-
-Currently unsupported C11 constructs:
- - static assertion 6.7.10 (_Static_assert)
- - generic selection 6.5.1.1 (_Generic)
- - _Atomic, _Alignas, _Thread_local
- - Universal character names
-
-Currently unsupported GNU C extensions:
- - __auto_type
- - __builtin_offsetof
-   char a[__builtin_offsetof (struct S, sa->f)
- - _Decimal32
- - Extended assembler
-   __asm__ __volatile__ ("" : : : );
-   __asm__ goto ("" : : : : label);
- - __attribute__((packed)): types featuring this attribute may have an
-   incorrect size or alignment calculated.
-
-IEC 60559:
-  Since language-c-0.8, extended floating point types are supported (gcc 7 
feature). Package maintainers may decide to disable these types (flag 
iecFpExtension) to work around the fact that the _Float128 type is redefined by 
glibc >= 2.26 if gcc < 7 is used for preprocessing:
-  /* The type _Float128 exists only since GCC 7.0.  */
-  # if !__GNUC_PREREQ (7, 0) || defined __cplusplus
-  typedef __float128 _Float128;
-  # endif
-
-== Sources ==
-
-see src/README
-
-== Examples ==
-
-A couple of small examples are available in /examples
-
-== Testing ==
-
-A couple of regression tests can be run via
-> cd test/harness; make
-
-For more tests, see test/README.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/README.md 
new/language-c-0.9.3/README.md
--- old/language-c-0.9.2/README.md      1970-01-01 01:00:00.000000000 +0100
+++ new/language-c-0.9.3/README.md      2001-09-09 03:46:40.000000000 +0200
@@ -0,0 +1,43 @@
+# Language.C
+
+Language.C is a parser and pretty-printer framework for C11 and the extensions 
of gcc.
+
+See http://visq.github.io/language-c/
+
+## C Language Compatibility
+
+Currently unsupported C11 constructs:
+ - static assertion 6.7.10 (`_Static_assert`)
+ - generic selection 6.5.1.1 (`_Generic`)
+ - `_Atomic`, `_Alignas`, `_Thread_local`
+ - Universal character names
+
+Currently unsupported GNU C extensions:
+ - `__auto_type`
+ - `__builtin_offsetof`
+   `char a[__builtin_offsetof (struct S, sa->f)`
+ - `_Decimal32`
+ - Extended assembler
+   `__asm__ __volatile__ ("" : : : )`;
+   `__asm__ goto ("" : : : : label)`;
+ - `__attribute__((packed))`: types featuring this attribute may have an
+   incorrect size or alignment calculated.
+
+### IEC 60559:
+
+Since `language-c-0.8`, extended floating point types are supported (gcc 7 
feature). Package maintainers may decide to disable these types (flag 
`iecFpExtension`) to work around the fact that the `_Float128` type is 
redefined by glibc >= 2.26 if gcc < 7 is used for preprocessing:
+
+```
+  /* The type _Float128 exists only since GCC 7.0.  */
+  # if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+  typedef __float128 _Float128;
+  # endif
+```
+
+## Examples
+
+A couple of small examples are available in `examples`.
+
+## Testing
+
+See `test/README`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/language-c.cabal 
new/language-c-0.9.3/language-c.cabal
--- old/language-c-0.9.2/language-c.cabal       2023-01-10 14:47:01.000000000 
+0100
+++ new/language-c-0.9.3/language-c.cabal       2001-09-09 03:46:40.000000000 
+0200
@@ -1,123 +1,132 @@
-Name:           language-c
-Version:        0.9.2
-Cabal-Version:  >= 1.10
-Build-Type:     Simple
-License:        BSD3
-License-File:   LICENSE
-Copyright:      LICENSE
-Author:         AUTHORS
-Maintainer:     [email protected]
-Stability:      experimental
-Homepage:       http://visq.github.io/language-c/
-Bug-reports:    https://github.com/visq/language-c/issues/
-
-Synopsis:       Analysis and generation of C code
-Description:    Language C is a haskell library for the analysis and 
generation of C code.
-                It features a complete, well tested parser and pretty printer 
for all of C99 and a large
-                set of C11 and clang/GNU extensions.
-Category:       Language
-Tested-With:    GHC == 8.4.*, GHC == 8.6.*, GHC == 8.8.*, GHC == 8.10.*, GHC 
== 9.0.*, GHC == 9.2.*
-
-Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
-                    src/Language/C/Parser/Lexer.x
-                    src/Language/C/Parser/Parser.y
-
-Source-Repository head
-  type:     git
-  location: https://github.com/visq/language-c.git
-
-Flag useByteStrings
-    Description: Use ByteString as InputStream datatype
-    Default: True
-Flag allWarnings
-    Description: Turn on all warnings for building (development)
-    Default: False
-Flag iecFpExtension
-    Description: Support IEC 60559 floating point extension (defines _Float128)
-    Default: True
-Library
-    default-extensions: CPP, DeriveDataTypeable, DeriveGeneric, PatternGuards, 
BangPatterns, ExistentialQuantification, GeneralizedNewtypeDeriving, 
ScopedTypeVariables
-    Build-Depends: base >= 4.8 && < 5,
-                   array,
-                   containers >= 0.3,
-                   deepseq >= 1.4.0.0 && < 1.5,
-                   directory,
-                   filepath,
-                   mtl,
-                   pretty < 1.2.0,
-                   process
-    if flag(allWarnings)
-        if impl(ghc >= 8.0)
-          ghc-options:     -Wall -Wno-redundant-constraints
+cabal-version:   2.2
+name:            language-c
+version:         0.9.3
+license:         BSD-3-Clause
+license-file:    LICENSE
+copyright:       LICENSE
+maintainer:      [email protected]
+author:          AUTHORS
+tested-with:
+    ghc ==9.8.1 ghc ==9.6.4 ghc ==9.4.8 ghc ==9.2.8 ghc ==9.0.2
+    ghc ==8.10.7 ghc ==8.8.4 ghc ==8.6.5 ghc ==8.4.4 ghc ==8.2.2
+    ghc ==8.0.2 ghc ==7.10.3
+
+homepage:        https://visq.github.io/language-c/
+bug-reports:     https://github.com/visq/language-c/issues/
+synopsis:        Analysis and generation of C code
+description:
+    Language C is a haskell library for the analysis and generation of C code.
+    It features a complete, well tested parser and pretty printer for all of 
C99 and a large
+    set of C11 and clang/GNU extensions.
+
+category:        Language
+build-type:      Simple
+extra-doc-files:
+    ChangeLog.md
+    README.md
+    AUTHORS
+    AUTHORS.c2hs
+
+source-repository head
+    type:     git
+    location: https://github.com/visq/language-c.git
+
+flag usebytestrings
+    description: Use ByteString as InputStream datatype
+
+flag allwarnings
+    description: Turn on all warnings for building (development)
+    default:     False
+
+flag iecfpextension
+    description:
+        Support IEC 60559 floating point extension (defines _Float128)
+
+library
+    exposed-modules:
+        Language.C
+        Language.C.Data
+        Language.C.Data.Position
+        Language.C.Data.Ident
+        Language.C.Data.Error
+        Language.C.Data.Name
+        Language.C.Data.Node
+        Language.C.Data.InputStream
+        Language.C.Syntax
+        Language.C.Syntax.AST
+        Language.C.Syntax.Constants
+        Language.C.Syntax.Ops
+        Language.C.Syntax.Utils
+        Language.C.Parser
+        Language.C.Pretty
+        Language.C.System.Preprocess
+        Language.C.System.GCC
+        Language.C.Analysis
+        Language.C.Analysis.ConstEval
+        Language.C.Analysis.Builtins
+        Language.C.Analysis.SemError
+        Language.C.Analysis.SemRep
+        Language.C.Analysis.DefTable
+        Language.C.Analysis.TravMonad
+        Language.C.Analysis.AstAnalysis
+        Language.C.Analysis.DeclAnalysis
+        Language.C.Analysis.Debug
+        Language.C.Analysis.TypeCheck
+        Language.C.Analysis.TypeConversions
+        Language.C.Analysis.TypeUtils
+        Language.C.Analysis.NameSpaceMap
+        Language.C.Analysis.MachineDescs
+        Language.C.Analysis.Export
+
+    build-tool-depends: happy:happy, alex:alex
+    hs-source-dirs:     src
+    other-modules:
+        Language.C.Data.RList
+        Language.C.Parser.Builtin
+        Language.C.Parser.Lexer
+        Language.C.Parser.ParserMonad
+        Language.C.Parser.Tokens
+        Language.C.Parser.Parser
+
+    default-language:   Haskell2010
+    default-extensions:
+        CPP DeriveDataTypeable DeriveGeneric PatternGuards BangPatterns
+        ExistentialQuantification GeneralizedNewtypeDeriving
+        ScopedTypeVariables
+
+    build-depends:
+        base >=4.8 && <5,
+        array <0.6,
+        containers >=0.3 && <0.8,
+        deepseq >=1.4.0.0 && <1.6,
+        directory <1.4,
+        filepath <1.6,
+        mtl <2.4,
+        pretty <1.2.0,
+        process <1.7
+
+    if flag(allwarnings)
+        if impl(ghc >=8.0)
+            ghc-options: -Wall -Wno-redundant-constraints
+
         else
-          ghc-options:     -Wall
+            ghc-options: -Wall
+
+    if flag(usebytestrings)
+        build-depends: bytestring >=0.9.0 && <0.13
 
-    if flag(useByteStrings)
-        Build-Depends: bytestring >= 0.9.0
     else
         cpp-options: -DNO_BYTESTRING
 
-    if flag(iecFpExtension)
+    if flag(iecfpextension)
         cpp-options: -DIEC_60559_TYPES_EXT
 
-    Build-Tools:    happy, alex
-
-    Hs-Source-Dirs: src
-    Exposed-Modules:
-                      -- top-level
-                      Language.C
-                      -- data
-                      Language.C.Data
-                      Language.C.Data.Position
-                      Language.C.Data.Ident
-                      Language.C.Data.Error
-                      Language.C.Data.Name
-                      Language.C.Data.Node
-                      Language.C.Data.InputStream
-                      -- syntax
-                      Language.C.Syntax
-                      Language.C.Syntax.AST
-                      Language.C.Syntax.Constants
-                      Language.C.Syntax.Ops
-                      Language.C.Syntax.Utils
-                      -- parser
-                      Language.C.Parser
-                      -- pretty printer
-                      Language.C.Pretty
-                      -- system
-                      Language.C.System.Preprocess
-                      Language.C.System.GCC
-                      -- analysis [experimental]
-                      Language.C.Analysis
-                      Language.C.Analysis.ConstEval
-                      Language.C.Analysis.Builtins
-                      Language.C.Analysis.SemError
-                      Language.C.Analysis.SemRep
-                      Language.C.Analysis.DefTable
-                      Language.C.Analysis.TravMonad
-                      Language.C.Analysis.AstAnalysis
-                      Language.C.Analysis.DeclAnalysis
-                      Language.C.Analysis.Debug
-                      Language.C.Analysis.TypeCheck
-                      Language.C.Analysis.TypeConversions
-                      Language.C.Analysis.TypeUtils
-                      Language.C.Analysis.NameSpaceMap
-                      Language.C.Analysis.MachineDescs
-                      -- semrep -> code [alpha]
-                      Language.C.Analysis.Export
-    Other-Modules:
-                      Language.C.Data.RList
-                      -- parser implementation
-                      Language.C.Parser.Builtin
-                      Language.C.Parser.Lexer
-                      Language.C.Parser.ParserMonad
-                      Language.C.Parser.Tokens
-                      Language.C.Parser.Parser
-  default-language: Haskell2010
-
--- test description
-Test-Suite language-c-harness
-    type:       exitcode-stdio-1.0
-    main-is:    test/harness/run-harness.hs
-    build-depends: base, directory, process, filepath
+test-suite language-c-harness
+    type:             exitcode-stdio-1.0
+    main-is:          test/harness/run-harness.hs
     default-language: Haskell2010
+    build-depends:
+        base <5,
+        directory,
+        process,
+        filepath
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/language-c-0.9.2/src/Language/C/Analysis/AstAnalysis.hs 
new/language-c-0.9.3/src/Language/C/Analysis/AstAnalysis.hs
--- old/language-c-0.9.2/src/Language/C/Analysis/AstAnalysis.hs 2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Analysis/AstAnalysis.hs 2001-09-09 
03:46:40.000000000 +0200
@@ -766,6 +766,7 @@
 builtinType (CBuiltinOffsetOf _ _ _)        = return size_tType
 builtinType (CBuiltinTypesCompatible _ _ _) = return boolType
 builtinType (CBuiltinConvertVector _expr ty _) = analyseTypeDecl ty
+builtinType (CBuiltinBitCast ty _expr _)    = analyseTypeDecl ty
 
 -- return @Just declspecs@ without @CTypedef@ if the declaration specifier 
contain @typedef@
 hasTypeDef :: [CDeclSpec] -> Maybe [CDeclSpec]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/src/Language/C/Parser/Lexer.x 
new/language-c-0.9.3/src/Language/C/Parser/Lexer.x
--- old/language-c-0.9.2/src/Language/C/Parser/Lexer.x  2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Parser/Lexer.x  2001-09-09 
03:46:40.000000000 +0200
@@ -323,10 +323,11 @@
 (CTokGnuC GnuCVaArg) __builtin_va_arg
 (CTokGnuC GnuCOffsetof) __builtin_offsetof
 (CTokGnuC GnuCTyCompat) __builtin_types_compatible_p
+(CTokGnuC GnuBitCast) __builtin_bit_cast
 (flip CTokClangC ClangBuiltinConvertVector) __builtin_convertvector
 -}
 
--- Tokens: _Alignas _Alignof __alignof alignof __alignof__ __asm asm __asm__ 
_Atomic auto break _Bool case char __const const __const__ continue _Complex 
__complex__ default do double else enum extern float for _Generic goto if 
__inline inline __inline__ int __int128 __int128_t long _Noreturn _Nullable 
__nullable _Nonnull __nonnull register __restrict restrict __restrict__ return 
short __signed signed __signed__ sizeof static _Static_assert struct switch 
typedef __typeof typeof __typeof__ __thread _Thread_local __uint128 __uint128_t 
union unsigned void __volatile volatile __volatile__ while __label__ _Float32 
_Float32x _Float64 _Float64x _Float128 __float128 _Float128x __attribute 
__attribute__ __extension__ __real __real__ __imag __imag__ __builtin_va_arg 
__builtin_offsetof __builtin_types_compatible_p __builtin_convertvector
+-- Tokens: _Alignas _Alignof __alignof alignof __alignof__ __asm asm __asm__ 
_Atomic auto break _Bool case char __const const __const__ continue _Complex 
__complex__ default do double else enum extern float for _Generic goto if 
__inline inline __inline__ int __int128_t long _Noreturn _Nullable __nullable 
_Nonnull __nonnull register __restrict restrict __restrict__ return short 
__signed signed __signed__ sizeof static _Static_assert struct switch typedef 
__typeof typeof __typeof__ __thread _Thread_local __uint128 __uint128_t union 
unsigned void __volatile volatile __volatile__ while __label__ _Float32 
_Float32x _Float64 _Float64x _Float128 __float128 _Float128x __attribute 
__attribute__ __extension__ __real __real__ __imag __imag__ __builtin_va_arg 
__builtin_offsetof __builtin_types_compatible_p __builtin_bit_cast 
__builtin_convertvector
 idkwtok ('_' : 'A' : 'l' : 'i' : 'g' : 'n' : 'a' : 's' : []) = tok 8 
CTokAlignas
 idkwtok ('_' : 'A' : 'l' : 'i' : 'g' : 'n' : 'o' : 'f' : []) = tok 8 
CTokAlignof
 idkwtok ('_' : 'A' : 't' : 'o' : 'm' : 'i' : 'c' : []) = tok 7 CTokAtomic
@@ -356,6 +357,7 @@
 idkwtok ('_' : '_' : 'a' : 't' : 't' : 'r' : 'i' : 'b' : 'u' : 't' : 'e' : '_' 
: '_' : []) = tok 13 (CTokGnuC GnuCAttrTok)
 idkwtok ('a' : 'u' : 't' : 'o' : []) = tok 4 CTokAuto
 idkwtok ('b' : 'r' : 'e' : 'a' : 'k' : []) = tok 5 CTokBreak
+idkwtok ('_' : '_' : 'b' : 'u' : 'i' : 'l' : 't' : 'i' : 'n' : '_' : 'b' : 'i' 
: 't' : '_' : 'c' : 'a' : 's' : 't' : []) = tok 18 (flip CTokClangC 
ClangCBitCast)
 idkwtok ('_' : '_' : 'b' : 'u' : 'i' : 'l' : 't' : 'i' : 'n' : '_' : 'c' : 'o' 
: 'n' : 'v' : 'e' : 'r' : 't' : 'v' : 'e' : 'c' : 't' : 'o' : 'r' : []) = tok 
23 (flip CTokClangC ClangBuiltinConvertVector)
 idkwtok ('_' : '_' : 'b' : 'u' : 'i' : 'l' : 't' : 'i' : 'n' : '_' : 'o' : 'f' 
: 'f' : 's' : 'e' : 't' : 'o' : 'f' : []) = tok 18 (CTokGnuC GnuCOffsetof)
 idkwtok ('_' : '_' : 'b' : 'u' : 'i' : 'l' : 't' : 'i' : 'n' : '_' : 't' : 'y' 
: 'p' : 'e' : 's' : '_' : 'c' : 'o' : 'm' : 'p' : 'a' : 't' : 'i' : 'b' : 'l' : 
'e' : '_' : 'p' : []) = tok 28 (CTokGnuC GnuCTyCompat)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/src/Language/C/Parser/Parser.y 
new/language-c-0.9.3/src/Language/C/Parser/Parser.y
--- old/language-c-0.9.2/src/Language/C/Parser/Parser.y 2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Parser/Parser.y 2001-09-09 
03:46:40.000000000 +0200
@@ -257,6 +257,7 @@
 "__builtin_types_compatible_p" { CTokGnuC GnuCTyCompat _ }
 "__builtin_convertvector"      { CTokClangC _ ClangBuiltinConvertVector }
 clangcversion   { CTokClangC _ (ClangCVersionTok $$) } -- Clang version literal
+"__builtin_bit_cast" { CTokClangC _ ClangCBitCast }
 "__kernel"     { CTokClKernel  _ }             -- OpenCL kernel function
 "__read_only"  { CTokClRdOnly  _ }             -- OpenCL read only qualifier
 "__write_only" { CTokClWrOnly  _ }             -- OpenCL write only qualifier
@@ -1770,7 +1771,10 @@
        {% withNodeInfo $1 $ CBuiltinExpr . CBuiltinTypesCompatible $3 $5 }
 
   | "__builtin_convertvector" '(' assignment_expression ',' type_name ')'
-        {% withNodeInfo $1 $ CBuiltinExpr . CBuiltinConvertVector $3 $5 }
+    {% withNodeInfo $1 $ CBuiltinExpr . CBuiltinConvertVector $3 $5 }
+
+  | "__builtin_bit_cast" '(' type_name ',' assignment_expression ')'
+    {% withNodeInfo $1 $ CBuiltinExpr . CBuiltinBitCast $3 $5 }
 
 -- Generic Selection association list (C11 6.5.1.1)
 --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/src/Language/C/Parser/Tokens.hs 
new/language-c-0.9.3/src/Language/C/Parser/Tokens.hs
--- old/language-c-0.9.2/src/Language/C/Parser/Tokens.hs        2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Parser/Tokens.hs        2001-09-09 
03:46:40.000000000 +0200
@@ -163,6 +163,7 @@
 
 data ClangCTok = ClangCVersionTok !ClangCVersion -- version constant from 
'availability' attribute
                | ClangBuiltinConvertVector
+               | ClangCBitCast                   -- `__builtin_bit_cast`
 
 instance Pos CToken where
   posOf = fst . posLenOfTok
@@ -395,6 +396,7 @@
   showsPrec _ (CTokGnuC GnuCTyCompat _) = showString 
"__builtin_types_compatible_p"
   showsPrec _ (CTokClangC _ (ClangCVersionTok v)) = shows v
   showsPrec _ (CTokClangC _ ClangBuiltinConvertVector) = showString 
"__builtin_convertvector"
+  showsPrec _ (CTokClangC _ ClangCBitCast) = showString "__builtin_bit_cast"
   showsPrec _ (CTokClKernel _  ) = showString "__kernel"
   showsPrec _ (CTokClRdOnly _  ) = showString "__read_only"
   showsPrec _ (CTokClWrOnly _  ) = showString "__write_only"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/src/Language/C/Pretty.hs 
new/language-c-0.9.3/src/Language/C/Pretty.hs
--- old/language-c-0.9.2/src/Language/C/Pretty.hs       2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Pretty.hs       2001-09-09 
03:46:40.000000000 +0200
@@ -473,6 +473,9 @@
     pretty (CBuiltinConvertVector expr ty _)  =
         text "__builtin_convertvector" <+>
         parens (pretty expr <> comma <+> pretty ty)
+    pretty (CBuiltinBitCast ty expr _)  =
+        text "__builtin_bit_cast" <+>
+        parens (pretty ty <> comma <+> pretty expr)
 
 instance Pretty CAssignOp where
   pretty op = text $ case op of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/language-c-0.9.2/src/Language/C/Syntax/AST.hs 
new/language-c-0.9.3/src/Language/C/Syntax/AST.hs
--- old/language-c-0.9.2/src/Language/C/Syntax/AST.hs   2023-01-10 
14:47:01.000000000 +0100
+++ new/language-c-0.9.3/src/Language/C/Syntax/AST.hs   2001-09-09 
03:46:40.000000000 +0200
@@ -763,6 +763,7 @@
   | CBuiltinOffsetOf (CDeclaration a) [CPartDesignator a] a -- ^ @(type, 
designator-list)@
   | CBuiltinTypesCompatible (CDeclaration a) (CDeclaration a) a  -- ^ 
@(type,type)@
   | CBuiltinConvertVector (CExpression a) (CDeclaration a) a -- ^ @(expr, 
type)@
+  | CBuiltinBitCast (CDeclaration a) (CExpression a) a -- ^ @(type, expr)@
     deriving (Show, Data,Typeable, Generic {-! ,CNode ,Functor ,Annotated !-})
 
 instance NFData a => NFData (CBuiltinThing a)
@@ -1397,6 +1398,7 @@
         nodeInfo (CBuiltinOffsetOf _ _ n) = nodeInfo n
         nodeInfo (CBuiltinTypesCompatible _ _ n) = nodeInfo n
         nodeInfo (CBuiltinConvertVector _ _ n) = nodeInfo n
+        nodeInfo (CBuiltinBitCast _ _ n) = nodeInfo n
 instance CNode t1 => Pos (CBuiltinThing t1) where
         posOf x = posOf (nodeInfo x)
 
@@ -1409,12 +1411,15 @@
           = CBuiltinTypesCompatible (fmap _f a1) (fmap _f a2) (_f a3)
         fmap _f (CBuiltinConvertVector a1 a2 a3)
           = CBuiltinConvertVector (fmap _f a1) (fmap _f a2) (_f a3)
+        fmap _f (CBuiltinBitCast a1 a2 a3)
+          = CBuiltinBitCast (fmap _f a1) (fmap _f a2) (_f a3)
 
 instance Annotated CBuiltinThing where
         annotation (CBuiltinVaArg _ _ n) = n
         annotation (CBuiltinOffsetOf _ _ n) = n
         annotation (CBuiltinTypesCompatible _ _ n) = n
         annotation (CBuiltinConvertVector _ _ n) = n
+        annotation (CBuiltinBitCast _ _ n) = n
         amap f (CBuiltinVaArg a_1 a_2 a_3) = CBuiltinVaArg a_1 a_2 (f a_3)
         amap f (CBuiltinOffsetOf a_1 a_2 a_3)
           = CBuiltinOffsetOf a_1 a_2 (f a_3)
@@ -1422,6 +1427,8 @@
           = CBuiltinTypesCompatible a_1 a_2 (f a_3)
         amap f (CBuiltinConvertVector a_1 a_2 a_3) =
           CBuiltinConvertVector a_1 a_2 (f a_3)
+        amap f (CBuiltinBitCast a_1 a_2 a_3) =
+          CBuiltinBitCast a_1 a_2 (f a_3)
 
 instance CNode t1 => CNode (CConstant t1) where
         nodeInfo (CIntConst _ n) = nodeInfo n

Reply via email to