diff --git a/llvm-pretty.cabal b/llvm-pretty.cabal index 0bf66f6..cebe3c9 100644 --- a/llvm-pretty.cabal +++ b/llvm-pretty.cabal @@ -1,5 +1,5 @@ Name: llvm-pretty -Version: 0.7.6 +Version: 0.7.7 License: BSD3 License-file: LICENSE Author: Trevor Elliott diff --git a/src/Text/LLVM/AST.hs b/src/Text/LLVM/AST.hs index 58cac99..bcd477e 100644 --- a/src/Text/LLVM/AST.hs +++ b/src/Text/LLVM/AST.hs @@ -1092,14 +1092,15 @@ data DIImportedEntity' lab = DIImportedEntity type DITemplateTypeParameter = DITemplateTypeParameter' BlockLabel data DITemplateTypeParameter' lab = DITemplateTypeParameter - { dittpName :: String - , dittpType :: ValMd' lab + { dittpName :: Maybe String + , dittpType :: Maybe (ValMd' lab) } deriving (Data, Eq, Functor, Generic, Generic1, Ord, Show, Typeable) type DITemplateValueParameter = DITemplateValueParameter' BlockLabel data DITemplateValueParameter' lab = DITemplateValueParameter - { ditvpName :: String - , ditvpType :: ValMd' lab + { ditvpTag :: DwarfTag + , ditvpName :: Maybe String + , ditvpType :: Maybe (ValMd' lab) , ditvpValue :: ValMd' lab } deriving (Data, Eq, Functor, Generic, Generic1, Ord, Show, Typeable) diff --git a/src/Text/LLVM/PP.hs b/src/Text/LLVM/PP.hs index 6cd2d05..ac0b23c 100644 --- a/src/Text/LLVM/PP.hs +++ b/src/Text/LLVM/PP.hs @@ -867,19 +867,20 @@ ppDINameSpace = ppDINameSpace' ppLabel ppDITemplateTypeParameter' :: LLVM => (i -> Doc) -> DITemplateTypeParameter' i -> Doc ppDITemplateTypeParameter' pp tp = "!DITemplateTypeParameter" - <> parens (commas [ "name:" <+> text (dittpName tp) - , "type:" <+> ppValMd' pp (dittpType tp) - ]) + <> parens (mcommas [ ("name:" <+>) . text <$> dittpName tp + , ("type:" <+>) . ppValMd' pp <$> dittpType tp + ]) ppDITemplateTypeParameter :: LLVM => DITemplateTypeParameter -> Doc ppDITemplateTypeParameter = ppDITemplateTypeParameter' ppLabel ppDITemplateValueParameter' :: LLVM => (i -> Doc) -> DITemplateValueParameter' i -> Doc ppDITemplateValueParameter' pp vp = "!DITemplateValueParameter" - <> parens (commas [ "name:" <+> text (ditvpName vp) - , "type:" <+> ppValMd' pp (ditvpType vp) - , "value:" <+> ppValMd' pp (ditvpValue vp) - ]) + <> parens (mcommas [ pure ("tag:" <+> integral (ditvpTag vp)) + , ("name:" <+>) . text <$> ditvpName vp + , ("type:" <+>) . ppValMd' pp <$> ditvpType vp + , pure ("value:" <+> ppValMd' pp (ditvpValue vp)) + ]) ppDITemplateValueParameter :: LLVM => DITemplateValueParameter -> Doc ppDITemplateValueParameter = ppDITemplateValueParameter' ppLabel