content: [
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_cp",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_5f961556d5c4089a",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_5f961556d5c4089a (signed int arg1) { return square_cp(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment =
        Just
          Comment {
            commentTitle =
            Just
              [
                TextContent
                  "Conflicting attributes on functions for llvm/clang versions 18 and up"],
            commentOrigin = Just
              "square_cp",
            commentLocation = Just
              "fun_attributes_conflict.h:9:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Examples from https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html"]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_pc",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_7dbcbb58ce184f13",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_7dbcbb58ce184f13 (signed int arg1) { return square_pc(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_pc",
            commentLocation = Just
              "fun_attributes_conflict.h:11:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_cc",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_79823cdb6d9c52ff",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_79823cdb6d9c52ff (signed int arg1) { return square_cc(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_cc",
            commentLocation = Just
              "fun_attributes_conflict.h:13:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = []},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_pp",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_3dd09f52296e7452",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_3dd09f52296e7452 (signed int arg1) { return square_pp(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              CPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_pp",
            commentLocation = Just
              "fun_attributes_conflict.h:15:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent "Marked",
                  Monospace
                    [
                      Bold
                        [
                          TextContent
                            "attribute((pure))"]]]]},
        foreignImportSafety = Safe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_cp",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_564ce99eace0df40",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_564ce99eace0df40 (signed int arg1) { return square_cp(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment =
        Just
          Comment {
            commentTitle =
            Just
              [
                TextContent
                  "Conflicting attributes on functions for llvm/clang versions 18 and up"],
            commentOrigin = Just
              "square_cp",
            commentLocation = Just
              "fun_attributes_conflict.h:9:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren =
            [
              Paragraph
                [
                  TextContent
                    "Examples from https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html"]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_pc",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_216e7c195e335424",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_216e7c195e335424 (signed int arg1) { return square_pc(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_pc",
            commentLocation = Just
              "fun_attributes_conflict.h:11:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_cc",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsPrimType HsPrimCInt),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_64cd3d5e7e4c6a2d",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_64cd3d5e7e4c6a2d (signed int arg1) { return square_cc(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              HaskellPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_cc",
            commentLocation = Just
              "fun_attributes_conflict.h:13:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = []},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "square_pp",
        foreignImportParameters = [
          FunctionParameter {
            functionParameterName = Just
              (Name "@NsVar" "x"),
            functionParameterType =
            HsPrimType HsPrimCInt,
            functionParameterComment = Just
              Comment {
                commentTitle = Nothing,
                commentOrigin = Just "x",
                commentLocation = Nothing,
                commentHeaderInfo = Nothing,
                commentChildren = []}}],
        foreignImportResultType =
        NormalResultType
          (HsIO (HsPrimType HsPrimCInt)),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_fab086c774e84aae",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "signed int hs_bindgen_test_fun_attributes_conflict_fab086c774e84aae (signed int arg1) { return square_pp(arg1); }",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Function
          Function {
            functionArgs = [
              _×_
                (Just
                  NamePair {
                    nameC = Name "x",
                    nameHsIdent = Identifier "x"})
                (TypePrim
                  (PrimIntegral PrimInt Signed))],
            functionAttrs =
            FunctionAttributes
              CPureFunction,
            functionRes = TypePrim
              (PrimIntegral PrimInt Signed)},
        foreignImportComment = Just
          Comment {
            commentTitle = Nothing,
            commentOrigin = Just
              "square_pp",
            commentLocation = Just
              "fun_attributes_conflict.h:15:5",
            commentHeaderInfo = Just
              HeaderInfo {
                headerMainHeaders = NE.fromList
                  ["fun_attributes_conflict.h"],
                headerInclude =
                "fun_attributes_conflict.h"},
            commentChildren = [
              Paragraph
                [
                  TextContent "Marked",
                  Monospace
                    [
                      Bold
                        [
                          TextContent
                            "attribute((pure))"]]]]},
        foreignImportSafety = Unsafe},
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_fun_attributes_conflict_a488b67527d299f8",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_a488b67527d299f8",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_square_cp_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_fun_attributes_conflict_a488b67527d299f8 (void)) (signed int arg1) { return &square_cp; } ",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_fun_attributes_conflict_c4cea088a40be2f5",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_c4cea088a40be2f5",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_square_pc_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_fun_attributes_conflict_c4cea088a40be2f5 (void)) (signed int arg1) { return &square_pc; } ",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_fun_attributes_conflict_3bc327fede4fc009",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_3bc327fede4fc009",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_square_cc_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_fun_attributes_conflict_3bc327fede4fc009 (void)) (signed int arg1) { return &square_cc; } ",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple,
    DeclForeignImport
      ForeignImportDecl {
        foreignImportName = Name
          "@NsVar"
          "hs_bindgen_test_fun_attributes_conflict_dca75c8c02c209b2",
        foreignImportParameters = [],
        foreignImportResultType =
        NormalResultType
          (HsIO
            (HsFunPtr
              (HsFun
                (HsPrimType HsPrimCInt)
                (HsIO
                  (HsPrimType HsPrimCInt))))),
        foreignImportOrigName =
        "hs_bindgen_test_fun_attributes_conflict_dca75c8c02c209b2",
        foreignImportCallConv =
        CallConvUserlandCAPI
          UserlandCapiWrapper {
            capiWrapperDefinition =
            "/* get_square_pp_ptr */ __attribute__ ((const)) signed int (*hs_bindgen_test_fun_attributes_conflict_dca75c8c02c209b2 (void)) (signed int arg1) { return &square_pp; } ",
            capiWrapperImport =
            "fun_attributes_conflict.h"},
        foreignImportOrigin = Global
          (TypeFun
            [
              TypePrim
                (PrimIntegral PrimInt Signed)]
            (TypePrim
              (PrimIntegral PrimInt Signed))),
        foreignImportComment = Nothing,
        foreignImportSafety = Unsafe},
    DeclSimple,
    DeclSimple]
  