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)