)]}'
{
  "commit": "00cd1a06daa7f950cf0954c7f9fafc371c255639",
  "tree": "12510b32406e37bcc8fc399441e90ba4ad0eca89",
  "parents": [
    "3860e29e0e743c5f411c3023396d1ea07c28da7d"
  ],
  "author": {
    "name": "Thomas Fransham",
    "email": "tfransham@gmail.com",
    "time": "Wed Oct 16 06:41:33 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 16 08:41:33 2024 +0300"
  },
  "message": "Update llvm::Registry to work for LLVM shared library builds on windows (#109024)\n\nThis is part of the effort to support for enabling plugins on windows by\r\nadding better support for building llvm and clang as a DLL.\r\n\r\nSince windows doesn\u0027t implicitly import and merge exported symbols\r\nacross shared libraries like other platforms we need to explicitly add a\r\nextern template declaration for each instantiation of llvm::Registry to\r\nforce the registry symbols to be dllimport\u0027ed.\r\nI\u0027ve added a new visibility macro that doesn\u0027t switch between dllimport\r\nand dllexport on windows since the existing macro would be in the wrong\r\nmode for llvm::Registry\u0027s declared in Clang. This PR also depends Clang\r\nsymbol visibility macros that will be added by #108276\r\n\r\n---------\r\n\r\nCo-authored-by: Saleem Abdulrasool \u003ccompnerd@compnerd.org\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fab5c6f1377d270b1c2ec84593c2f6f273a9f7f9",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Basic/ParsedAttrInfo.h",
      "new_id": "3b5f5d3c3f92ac36eeda66e0e181bf682e08da82",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Basic/ParsedAttrInfo.h"
    },
    {
      "type": "modify",
      "old_id": "810578534acb459e366022232be2de309aae8805",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Frontend/FrontendPluginRegistry.h",
      "new_id": "5eea9c2fd89a32923db9ea3f6d95df4aca2ddd67",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Frontend/FrontendPluginRegistry.h"
    },
    {
      "type": "modify",
      "old_id": "4643b0213815f8b44f35630397d99d35d07cc335",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Lex/Preprocessor.h",
      "new_id": "92749e4de44b577fbc67e41d25908a686a2a302f",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Lex/Preprocessor.h"
    },
    {
      "type": "modify",
      "old_id": "8c58ad926a402ae43bb555e5b59a07e71fef2acb",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h",
      "new_id": "e6bcac542b0ecb7e046fe11043580be39d31bb9b",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h"
    },
    {
      "type": "modify",
      "old_id": "5304ff26252def9ac9dec8745a8796a352deaf5a",
      "old_mode": 33188,
      "old_path": "clang/include/clang/Tooling/ToolExecutorPluginRegistry.h",
      "new_id": "8d54583234684e565985bf6f625dc4be1f2d0372",
      "new_mode": 33188,
      "new_path": "clang/include/clang/Tooling/ToolExecutorPluginRegistry.h"
    },
    {
      "type": "modify",
      "old_id": "f9527c9f8752e93896507ffe889bdb00e1870325",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/CodeGen/GCMetadataPrinter.h",
      "new_id": "9d421be8313f01cae981d3b6c378433ca4c2b8b6",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/CodeGen/GCMetadataPrinter.h"
    },
    {
      "type": "modify",
      "old_id": "3186465f0018124ac168072ad0f6293c88827149",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/GCStrategy.h",
      "new_id": "cbfbe23aaa06835a760140d0a2bc43c733c45045",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/GCStrategy.h"
    },
    {
      "type": "modify",
      "old_id": "1d2d751d4dc11abb3b5441fc0da1431a1aef51b0",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Support/Compiler.h",
      "new_id": "ab0cbff43d749c7c6086eaa342088c707549afd5",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Support/Compiler.h"
    },
    {
      "type": "modify",
      "old_id": "5bb6a254a47f4c3017768d64f14f508e175652c4",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Support/Registry.h",
      "new_id": "ff9226c39359c5aee92ef59720393167f7b253de",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Support/Registry.h"
    }
  ]
}
