)]}'
{
  "commit": "7779876a6b06755e3bb2c94ee3ded50635bcb0fa",
  "tree": "526631694e74513076440d1e93bfb70ba0d3a7e6",
  "parents": [
    "0e0a317889464397d6f1ae03aad0d2ca593aab04"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Thu Feb 01 14:06:55 2018 -0500"
  },
  "committer": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Fri Feb 02 17:04:00 2018 +0000"
  },
  "message": "c++: add extern declaration to the generated file\n\nThe extern declaration affects how the C++ compiler does name mangling of global\nvariables.  With:\n\n    $ g++ -c -Wall -std\u003dc++11 -o osx2win32.o osx2win32.cc\n    $ nm osx2win32.o | grep code_map_osx_to_win32\n    0000000000000000 B code_map_osx_to_win32\n    00000000000000a1 t _GLOBAL__sub_I_code_map_osx_to_win32\n\nWithout:\n\n    $ g++ -c -Wall -std\u003dc++11 -o osx2win32.o osx2win32.cc\n    $ nm osx2win32.o | grep code_map_osx_to_win32\n    0000000000000000 b _ZL21code_map_osx_to_win32\n\nNot that unlike C, without \"extern\" you get a local variable (\"b\"), while\n\"extern\" is needed to get a global!\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4d583a3979e042e8e4930a1a0a6ce1a8154b76ef",
      "old_mode": 33261,
      "old_path": "tools/keymap-gen",
      "new_id": "5d4dca3984f660edbbb97fbe17a4e605a8e11ded",
      "new_mode": 33261,
      "new_path": "tools/keymap-gen"
    }
  ]
}
