itanium-abi 0.1.2 → 0.1.3
raw patch · 3 files changed
+42/−11 lines, 3 filesdep ~textPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: text
API changes (from Hackage documentation)
Files
- CHANGELOG.md +28/−0
- itanium-abi.cabal +4/−3
- src/ABI/Itanium/Pretty.hs +10/−8
+ CHANGELOG.md view
@@ -0,0 +1,28 @@+## 0.1.3 (2025-02-17)++### Improvements++- Allow building with GHC-9.8++## 0.1.2 (2023-03-23)++### Features / Improvements++- Allow building with text-2.0 (and thus GHC-9.4)+- Decode names referencing integer literal template parameters+- Decode names of static function definitions+- Improve pretty printing for templated constructors and destructors+- Improve pretty printing for template arguments+- Decode names of const declarations for non-builtin datatypes+- Replace some calls to `error` with structured exceptions++### Fixes++- More strictly parse substitution IDs++## 0.1.1.1++- Bump bounds on boomerang to force a newer version++ Some builds (especially under CI) were picking up older versions of boomerang+ that do not compile with modern versions of GHC
itanium-abi.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: itanium-abi-version: 0.1.2+version: 0.1.3 synopsis: An implementation of name mangling/demangling for the Itanium ABI license: BSD3 license-file: LICENSE@@ -10,13 +10,14 @@ maintainer: tristan@ravit.ch category: Development build-type: Simple-cabal-version: >=1.10+cabal-version: 1.18 tested-with: GHC == 7.4.2, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4 description: Currently supports everything in the standard but templates and C++11. Support for these will be added. Includes a name mangler, demangler, and pretty printer. -- copyright: extra-source-files: tests/test-cases.txt+extra-doc-files: CHANGELOG.md library default-language: Haskell2010@@ -25,7 +26,7 @@ build-depends: base >= 4 && < 5, boomerang >= 1.4.5.6 && < 1.5, exceptions >= 0.10 && < 0.11,- text >= 0.11 && < 2.1,+ text >= 0.11 && < 2.2, transformers, unordered-containers >= 0.2.3.0 && < 0.3 exposed-modules: ABI.Itanium
src/ABI/Itanium/Pretty.hs view
@@ -608,14 +608,16 @@ -- stub will never be referenced because function types aren't -- first-class ts' <- mapM showType ts- if null ts'- then return()- else recordSubstitution'- $ mconcat [ head ts'- , fromString " ("- , mconcat $ intersperse (fromString ", ") $ tail ts'- , singleton ')'- ]+ case ts' of+ [] ->+ return()+ ty:tys ->+ recordSubstitution'+ $ mconcat [ ty+ , fromString " ("+ , mconcat $ intersperse (fromString ", ") tys+ , singleton ')'+ ] r <- showFunctionType ts recordSubstitution $! r PointerToType t' -> do