)]}'
{
  "commit": "e8a7517cf39e24c8327a4f0e8559d9aec073cb5b",
  "tree": "6d54f62d39cf126c01a76f8115b60328b5f80f7e",
  "parents": [
    "e5ac812511e07c482e073fc2130641e6c9da0258"
  ],
  "author": {
    "name": "Louis Dionne",
    "email": "ldionne.2@gmail.com",
    "time": "Tue Jun 08 17:25:08 2021 -0400"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jun 08 19:11:05 2022 -0700"
  },
  "message": "[libc++] Towards a simpler extern template story in libc++\n\nThe flexibility around extern template instantiation declarations in\nlibc++ result in a very complicated model, especially when support for\nslightly different configurations (like the debug mode or assertions\nin the dylib) are taken into account. That results in unexpected bugs\nlike http://llvm.org/PR50534 (and there have been multiple similar\nbugs in the past, notably around the debug mode).\n\nThis patch gets rid of the _LIBCPP_DISABLE_EXTERN_TEMPLATE knob, which\nI don\u0027t think is fundamental. Indeed, the motivation for that knob was to\navoid taking a dependency on the library, however that can be done better\nby linking against the static library instead. And in fact, some parts of\nthe headers will always depend on things defined in the library, which\ndefeats the original goal of _LIBCPP_DISABLE_EXTERN_TEMPLATE.\n\nDifferential Revision: https://reviews.llvm.org/D103960\n\nGitOrigin-RevId: 2ae52326dab0a771b6167bc61a858389ac609ccc\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bc7354e9d38064ef25909e474ce2a963d644ca1a",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "722499e712c726adb31fef36cd2c08cf59d4a425",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    }
  ]
}
