)]}'
{
  "commit": "ebaf7dab14c3bf1c4f995d9ad1199b6c2784a8ca",
  "tree": "f65c289da0bd7205d5042d29be1efd31a85b20d8",
  "parents": [
    "ccb58d0a2c539a5cec75a30f09243fd3064939a6"
  ],
  "author": {
    "name": "Eric Fiselier",
    "email": "eric@efcs.ca",
    "time": "Fri Jan 13 22:02:08 2017 +0000"
  },
  "committer": {
    "name": "Eric Fiselier",
    "email": "eric@efcs.ca",
    "time": "Fri Jan 13 22:02:08 2017 +0000"
  },
  "message": "Add _LIBCPP_DIAGNOSE_WARNING and _LIBCPP_DIAGNOSE_ERROR macros.\n\nClang recently added a `diagnose_if(cond, msg, type)` attribute\nwhich can be used to generate diagnostics when `cond` is a constant\nexpression that evaluates to true. Otherwise no attribute has no\neffect.\n\nThis patch adds _LIBCPP_DIAGNOSE_ERROR/WARNING macros which\nuse this new attribute. Additionally this patch implements\na diagnostic message when a non-const-callable comparator is\ngiven to a container.\n\nNote: For now the warning version of the diagnostic is useless\nwithin libc++ since warning diagnostics are suppressed by the\nsystem header pragma. I\u0027m going to work on fixing this.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291961 91177308-0d34-0410-b5e6-96231b3b80d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "de87c9c159de26cc1adfda4acf51289a2bc44502",
      "old_mode": 33188,
      "old_path": "docs/UsingLibcxx.rst",
      "new_id": "6d910ca6f308ca5b515166c9d794c10052aa8f2d",
      "new_mode": 33188,
      "new_path": "docs/UsingLibcxx.rst"
    },
    {
      "type": "modify",
      "old_id": "5cb699bb66fd248c9e2968f85cfe95fd693022b6",
      "old_mode": 33188,
      "old_path": "include/__config",
      "new_id": "fec9642bcdb66446309277c69ac2629b9b1f8a87",
      "new_mode": 33188,
      "new_path": "include/__config"
    },
    {
      "type": "modify",
      "old_id": "dd32f70058662de0637b940f5d7a4652801872fe",
      "old_mode": 33188,
      "old_path": "include/__tree",
      "new_id": "3bc020734110fd315b1834befde71e68aa7618d4",
      "new_mode": 33188,
      "new_path": "include/__tree"
    },
    {
      "type": "modify",
      "old_id": "9555aadd295680f3e84a0e64d2fea8013e1ad814",
      "old_mode": 33188,
      "old_path": "include/map",
      "new_id": "ecd9d924e6cf5d253ef6c1553a1e04ad99a00fe5",
      "new_mode": 33188,
      "new_path": "include/map"
    },
    {
      "type": "modify",
      "old_id": "7862955605df2fe378552d97fc964396ef694919",
      "old_mode": 33188,
      "old_path": "include/type_traits",
      "new_id": "8812d3d32f62a38c16a80cc733376631ac30b594",
      "new_mode": 33188,
      "new_path": "include/type_traits"
    },
    {
      "type": "modify",
      "old_id": "8585f44ed35fd23b9c25dc9a27b47acc29f9bd13",
      "old_mode": 33188,
      "old_path": "test/libcxx/compiler.py",
      "new_id": "5003309a6621e1545047201044ad511b7f3a759b",
      "new_mode": 33188,
      "new_path": "test/libcxx/compiler.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "239a7542f6a9031cd688867ce430bbc0d53ebe0f",
      "new_mode": 33188,
      "new_path": "test/libcxx/containers/associative/non_const_comparator.fail.cpp"
    },
    {
      "type": "modify",
      "old_id": "5fcb8f4a9b3f4a56058681471e15dcbd8eb901d2",
      "old_mode": 33188,
      "old_path": "test/libcxx/test/config.py",
      "new_id": "bf17ab2f1ca966825bb4ac01847eb5b91104ad0c",
      "new_mode": 33188,
      "new_path": "test/libcxx/test/config.py"
    },
    {
      "type": "modify",
      "old_id": "cbd96f340bbc2c65597e234be8ee0c3c14854caf",
      "old_mode": 33188,
      "old_path": "test/libcxx/test/format.py",
      "new_id": "f267cab59e91609fcbd57e881cc59ef2dce9646f",
      "new_mode": 33188,
      "new_path": "test/libcxx/test/format.py"
    },
    {
      "type": "modify",
      "old_id": "a35dfd6962592c70155e0dbf2293a00d4f060b06",
      "old_mode": 33188,
      "old_path": "test/libcxx/utilities/tuple/tuple.tuple/diagnose_reference_binding.fail.cpp",
      "new_id": "c18822bbe8117b3c64301dede9dc7f5861f2f364",
      "new_mode": 33188,
      "new_path": "test/libcxx/utilities/tuple/tuple.tuple/diagnose_reference_binding.fail.cpp"
    }
  ]
}
