llvm-hs 6.1.1 → 6.2.0
raw patch · 4 files changed
+40/−31 lines, 4 filesdep ~llvm-hs-purePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: llvm-hs-pure
API changes (from Hackage documentation)
Files
- CHANGELOG.md +8/−0
- llvm-hs.cabal +2/−2
- src/LLVM/Internal/Operand.hs +28/−28
- test/LLVM/Test/Metadata.hs +2/−1
CHANGELOG.md view
@@ -1,3 +1,11 @@+## 6.2.0 (2018-05-08)++* Remove field prefixes from `DIDerivedType`, `DIBasicType` and+ `DISubroutineType` to make the API consistent with the other debug+ metadata types.+* Change the type of the scope fields in `DIModule` and `DINamespace`+ to `Maybe (MDRef DIScope)` to reflect that they can be optional.+ ## 6.1.1 (2018-05-06) * Fix the source distribution by adding missing files to extra-source-files.
llvm-hs.cabal view
@@ -1,5 +1,5 @@ name: llvm-hs-version: 6.1.1+version: 6.2.0 license: BSD3 license-file: LICENSE author: Anthony Cowley, Stephen Diehl, Moritz Kiefer <moritz.kiefer@purelyfunctional.org>, Benjamin S. Scarlet@@ -75,7 +75,7 @@ template-haskell >= 2.5.0.0, containers >= 0.4.2.1, array >= 0.4.0.0,- llvm-hs-pure == 6.1.*+ llvm-hs-pure == 6.2.* hs-source-dirs: src default-extensions: NoImplicitPrelude
src/LLVM/Internal/Operand.hs view
@@ -542,19 +542,19 @@ instance EncodeM EncodeAST A.DIBasicType (Ptr FFI.DIBasicType) where encodeM A.BasicType {..} = do- tag <- encodeM typeTag- typeName <- encodeM typeName- typeEncoding <- encodeM typeEncoding+ tag <- encodeM tag+ name <- encodeM name+ encoding <- encodeM encoding Context c <- gets encodeStateContext- liftIO (FFI.getDIBasicType c tag typeName sizeInBits alignInBits typeEncoding)+ liftIO (FFI.getDIBasicType c tag name sizeInBits alignInBits encoding) instance EncodeM EncodeAST A.DISubroutineType (Ptr FFI.DISubroutineType) where encodeM A.SubroutineType {..} = do- flags <- encodeM typeFlags- types <- encodeM typeTypeArray+ flags <- encodeM flags+ types <- encodeM typeArray Context c <- gets encodeStateContext- liftIO (FFI.getDISubroutineType c flags typeCC types)+ liftIO (FFI.getDISubroutineType c flags cc types) instance DecodeM DecodeAST A.DISubroutineType (Ptr FFI.DISubroutineType) where decodeM p = do@@ -562,23 +562,23 @@ cc <- liftIO (FFI.getSubroutineCC p) arr <- decodeM =<< liftIO (FFI.getSubroutineTypeArray p) pure A.SubroutineType- { A.typeFlags = flags- , A.typeCC = cc- , A.typeTypeArray = arr+ { A.flags = flags+ , A.cc = cc+ , A.typeArray = arr } instance EncodeM EncodeAST A.DIDerivedType (Ptr FFI.DIDerivedType) where encodeM A.DerivedType {..} = do- tag <- encodeM derivedTag- name <- encodeM derivedName- file <- encodeM derivedFile- line <- encodeM derivedLine- scope <- encodeM derivedScope- type' <- encodeM derivedBaseType- (addrSpace, addrSpacePresent) <- encodeM derivedAddressSpace- flags <- encodeM derivedFlags+ tag <- encodeM tag+ name <- encodeM name+ file <- encodeM file+ line <- encodeM line+ scope <- encodeM scope+ type' <- encodeM baseType+ (addrSpace, addrSpacePresent) <- encodeM addressSpace+ flags <- encodeM flags Context c <- gets encodeStateContext- FFI.upCast <$> liftIO (FFI.getDIDerivedType c tag name file line scope type' sizeInBits alignInBits derivedOffsetInBits addrSpace addrSpacePresent flags)+ FFI.upCast <$> liftIO (FFI.getDIDerivedType c tag name file line scope type' sizeInBits alignInBits offsetInBits addrSpace addrSpacePresent flags) instance DecodeM DecodeAST A.DIDerivedType (Ptr FFI.DIDerivedType) where decodeM diTy = do@@ -595,17 +595,17 @@ flags <- decodeM =<< liftIO (FFI.getTypeFlags diTy') addressSpace <- decodeOptional (FFI.getDerivedAddressSpace diTy') pure A.DerivedType- { A.derivedTag = tag- , A.derivedName = name- , A.derivedFile = file- , A.derivedLine = line- , A.derivedScope = scope- , A.derivedBaseType = ty+ { A.tag = tag+ , A.name = name+ , A.file = file+ , A.line = line+ , A.scope = scope+ , A.baseType = ty , A.sizeInBits = size , A.alignInBits = align- , A.derivedOffsetInBits = offset- , A.derivedAddressSpace = addressSpace- , A.derivedFlags = flags+ , A.offsetInBits = offset+ , A.addressSpace = addressSpace+ , A.flags = flags } genCodingInstance [t|A.DerivedTypeTag|] ''FFI.DwTag
test/LLVM/Test/Metadata.hs view
@@ -612,6 +612,7 @@ let mod = defaultModule { moduleDefinitions = [ NamedMetadataDefinition "dummy" [namespaceID]+ , NamedMetadataDefinition "dummy2" [fileID] , MetadataNodeDefinition namespaceID (DINode (DIScope (DINamespace diNamespace))) , MetadataNodeDefinition fileID (DINode (DIScope (DIFile diFile))) ]@@ -622,7 +623,7 @@ fileID = MetadataNodeID 1 genDINamespace :: MDRef DIScope -> Gen DINamespace-genDINamespace scope = Namespace <$> arbitrarySbs <*> pure scope <*> arbitrary+genDINamespace scope = Namespace <$> arbitrarySbs <*> QC.elements [Nothing, Just scope] <*> arbitrary diFlagName :: TestTree diFlagName =