packages feed

llvm-pretty-bc-parser 0.2.0.0 → 0.2.1.0

raw patch · 2 files changed

+21/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

llvm-pretty-bc-parser.cabal view
@@ -1,5 +1,5 @@ Name:                llvm-pretty-bc-parser-Version:             0.2.0.0+Version:             0.2.1.0 License:             BSD3 License-file:        LICENSE Author:              Trevor Elliott <trevor@galois.com>
src/Data/LLVM/BitCode/IR/Metadata.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE RecursiveDo #-} @@ -57,6 +58,11 @@ addString :: String -> MetadataTable -> MetadataTable addString str = snd . addMetadata (ValMdString str) +addLoc :: Bool -> PDebugLoc -> MetadataTable -> MetadataTable+addLoc isDistinct loc mt = nameNode False isDistinct ix mt'+  where+  (ix,mt') = addMetadata (ValMdLoc loc) mt+ -- | Add a new node, that might be distinct. addNode :: Bool -> [Maybe PValMd] -> MetadataTable -> MetadataTable addNode isDistinct vals mt = nameNode False isDistinct ix mt'@@ -233,7 +239,20 @@    -- [distinct, line, col, scope, inlined-at?]    7 -> label "METADATA_LOCATION" $ do-    fail "not implemented"+    cxt       <- getContext+    let field = parseField r+    distinct  <- field 0 numeric+    dlLine    <- field 1 numeric+    dlCol     <- field 2 numeric+    scopeId   <- field 3 numeric+    iaIx      <- field 4 numeric+    let dlScope          = mdForwardRef cxt mt scopeId+        dlIA | iaIx > 0  = Just (mdForwardRef cxt mt (iaIx - 1))+             | otherwise = Nothing+        isDistinct       = distinct /= (0 :: Int)+        loc              = DebugLoc { .. }+    return $! updateMetadataTable (addLoc isDistinct loc) pm+    -- [n x (type num, value num)]   8 -> label "METADATA_OLD_NODE" (parseMetadataOldNode False vt mt r pm)