)]}'
{
  "log": [
    {
      "commit": "ed3c78771fbd8fa70b7703ba0b98f64cf9c42462",
      "tree": "3872eb97fa9dd1caf64957841fa21a4be19060fb",
      "parents": [
        "f0b53115aeb96159ddb493dbe19b587ce612ac07"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Aug 04 09:40:18 2016 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Aug 04 18:22:12 2016 +0000"
      },
      "message": "Guard include of uchar.h in stdatomic.h\n\nBionic stdatomic.h is also used for the host (via a copy in\nprebuilts/clang).  Revert to guarding the include of uchar.h based on\n__STDC_VERSION__, so it is included only when needed.\n\nChange-Id: I5b45c7f5d16da223478512104702a3e4e5a975ae\nTest: bionic tests on host and Angler.  Confirmed failures I am \n      seeing are KIs.\n"
    },
    {
      "commit": "0fe88858f018e74921b8412acacda83870f742ed",
      "tree": "00741dc7cadccae615686c13a5c86f70bff86a49",
      "parents": [
        "61bd7cb6e975c48450350ba5c49862310c2f4762"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 10:45:05 2016 -0700"
      },
      "message": "Clean up \u003cuchar.h\u003e and \u003cwctype.h\u003e transitive includes.\n\nBug: http://b/30367366\nChange-Id: I63212a34c54ca07223a15aa5be4da3bdc6aa38a8\n"
    },
    {
      "commit": "f4840507b57db927c3359914649380d53e5bf7bf",
      "tree": "69ea704de3a8e1dcf49c097b1d34007fbc1f76a6",
      "parents": [
        "901cc14822e431185fbe5075ef4f06aa4fba58cf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 06 17:35:53 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 06 17:35:53 2016 -0700"
      },
      "message": "Preliminary cleanup of \u003csys/cdefs.h\u003e.\n\nWe don\u0027t support anything other than Clang and GCC, and we don\u0027t support\nGCC earlier than 4.9.\n\nMove the various synonyms for __attribute__(__whatever__) together.\n\nFix a __STDC__VERSION__ (for __STDC_VERSION__) typo.\n\nDrop support for BSD _ANSI_SOURCE and _C99_SOURCE; there\u0027s enough confusing\nnonsense here already, and plenty of other ways to ask for obsolete standards.\n\nThere are plenty more problems here -- what I really want to do is rationalize\nour treatment of __STDC_VERSION__ -- but let\u0027s get some of this easy stuff\nout of the way first.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d194631\nChange-Id: I7526b9770fdc01f8a4667781b65e2fb08287b20b\n"
    },
    {
      "commit": "95f197f998f7601b1c9d0c25dc8603413db689ab",
      "tree": "5f77afc33f9634ace2c5feec28470471ccc35219",
      "parents": [
        "22271d0c200c8c2f7c7c960a8751eed0faa708ec"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Nov 12 10:34:26 2014 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Nov 12 18:08:25 2014 -0800"
      },
      "message": "Allow stdatomic.h to be included from mingw prebuilt.\n\nDefine __GNUC_PREREQ if it isn\u0027t already defined.\nThis is a bit ugly, but it seems to be easiest to make this header as\ncontext-independent as possible.  Together with the addition of a symbolic\nlink to this file from the mingw prebuilt, this appears to unblock\ncommit e9fa6be333e35d9e7ae435aeb32532875b95fe22.\n\nChange-Id: I97e39cda8d8f9aa108aa61c4121da09eb9739062\n"
    },
    {
      "commit": "3ce0769aa5f9a991af1d167f730d987dd002253c",
      "tree": "68e3c16747aec5ed41cc5c33f2e5e9b14c1af1ff",
      "parents": [
        "71cbcdcf947835076241b9dd72099f28997eb290"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 16 07:52:51 2014 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Oct 16 07:52:51 2014 -0700"
      },
      "message": "Only use \u003catomic\u003e for C++11 and newer.\n\nAny pre-C++11 clients of stdatomic.h that use libc++ are being forced\nover to \u003catomic\u003e, which they don\u0027t have the language support to use.\n\nChange-Id: I62445c1f2541410a1569498c09433c7196635537\n"
    },
    {
      "commit": "76ac4d0853c3bba0c65edc98a9cdf932c452e252",
      "tree": "89712074ef903ba60c16add4337cab8a159b1687",
      "parents": [
        "81156d93c557e88379dd3e9d869dcc97a15293f5"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Sep 30 18:31:04 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Sep 30 18:35:04 2014 -0700"
      },
      "message": "Make memory_order_acquire visible in global namespace\n\nWe were missing that using directive when including \u003catomic\u003e.\n\nBug:17736764\nChange-Id: Ie8ca92a952749415567bcd5fa21d56629a364660\n"
    },
    {
      "commit": "32429606bf696d3b2ca555f132a0d60c566d0bd0",
      "tree": "a78cacfc6e28d35fdd41b0b4d6682b22b49939f2",
      "parents": [
        "bbe06e0da1742e9bdc52d3246ffa9f2ab3ce999a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 28 15:21:32 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 29 17:03:26 2014 -0700"
      },
      "message": "Make stdatomic.h work with gcc4.6 host compiler\n\nThis is needed to make L work correctly, and bionic tests pass\nagain, after applying the equivalent of\ncommit 00aaea364501b3b0abe58dae461136159df1e356 there.\n\nIt makes the preexisting code that uses __sync implementations\nmuch more useful, although we should no longer be exercising that\ncode in AOSP.\n\nSpecifically fixes:\n\nWe were invoking __has_extension and __has_builtin for GCC compilations.\nThey\u0027re clang specific. Restructured the tests.\n\nThe __sync implementation was not defining the LOCK_FREE macros.\n\nATOMIC_VAR_INIT was using named field initializations.  These are a\nC, not C++, feature, that is not supported by g++ 4.6.\n\nThe stdatomic bionic test still failed with 4.6 and glibc with our\nquestionable LOCK_FREE macro implementation.  Don\u0027t run that piece\nwith 4.6.\n\nIn L, this is a prerequisite for fixing:\n\n    Bug:16880454\n    Bug:16513433\n\nChange-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab\n"
    },
    {
      "commit": "e0c56efddf55ad40cb35b2c22e1dd9b4b50df159",
      "tree": "0e4bed3e5dda4ad2dcf94560c09fe40457e4843a",
      "parents": [
        "83b637fa28e072aa73691b5ddc588293f06cb54b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 29 15:54:11 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 29 15:54:11 2014 -0700"
      },
      "message": "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.\n\nBug: 16874785\nChange-Id: I8512f8be3fd149d8720c5c3b4657bedd5ce2b1d1\n"
    },
    {
      "commit": "3e4a0099a179d7acee63d78c8fc4c3cc7b0bae42",
      "tree": "e2aed336e7f9a1d033835cf6d8bcf4f2d8d23115",
      "parents": [
        "d2bd3c4717ed223bca1c68a87f243f4bcf492a4b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 26 15:58:15 2014 -0700"
      },
      "message": "Undefine _Atomic before redefining\n\nStdatomic.h was potentially redefining _Atomic, in spite of a\nprior definition by \u003catomic\u003e.  This could cause g++ builds that\nincluded \u003cstdatomic.h\u003e with an available \u003catomic\u003e header to break.\n\nChange-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8\n"
    },
    {
      "commit": "00aaea364501b3b0abe58dae461136159df1e356",
      "tree": "f65d7225c30fb5beb7100a3a70b89d025d223294",
      "parents": [
        "b6ed54076abdd337150d7a92a661247b69d26cb4"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue Aug 19 16:14:01 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 22 15:50:17 2014 -0700"
      },
      "message": "Fix, generalize stdatomic.h; improve test.\n\nWe seem to use this stdatomic.h sometimes, and slightly different prebuilts\nat other times, making them all difficult to test, and making it unclear\nwhich one we\u0027re testing.  This generalizes the bionic header so that it\ncan be used directly as the prebuilt header as well.  So long as they\ndon\u0027t diverge again, that should somewhat improve test coverage.\n\nUse the correct builtin for atomic_is_lock_free.\n\nFix atomic_flag_init.\n\nTurn on atomic tests even with __GLIBC__, since they now appear to pass.\n\nInclude uchar.h in stdatomic.h where needed.\n\nAdd a basic memory ordering test.\n\nFix bit-rotted comments in bionic tests makefile.\n\nChange-Id: If6a14c1075b379395ba5d93357d56025c0ffab68\n"
    },
    {
      "commit": "019d3958118b7dc3ec8444ad2accca50c268b737",
      "tree": "01809ecacf090063d43eab54039c97c567aaa1bc",
      "parents": [
        "4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Thu Aug 14 15:26:03 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Fri Aug 15 10:38:20 2014 -0700"
      },
      "message": "Have stdatomic.h punt to C++ atomic when possible\n\nThis is an alternate, somewhat simpler, fix that makes it safe to\ninclude both \u003catomic\u003e and \u003cstdatomic.h\u003e from C++ code in either order.\nIt means that C code consistently uses one implementation of atomics\nand C++ another.  We still have to make sure that those two\nimplementations interoperate correctly at runtime; in particular,\nany flavor of atomic object needs to be represented exactly like the\nunderlying type, with the proper alignment constraint.\n\nBug:17007799\nChange-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc\n"
    },
    {
      "commit": "8b002362d996859ebfc8588d6859a9a79203dc27",
      "tree": "956126751b812cbba9b829bc81167207e72d4ba7",
      "parents": [
        "385bb1ededa734e88bafb8aaf817e9a984bf0d18"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Jul 16 11:33:48 2014 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Jul 16 17:31:05 2014 -0700"
      },
      "message": "Define atomic_charN_t only if charN_t is supported.\n\nSome platform code is apparently compiled with switches that do\nnot support char16_t and char32_t.  This caused stdatomic.h to fail\nto compile.  This CL makes stdatomic.h usable in those environments.\n\nChange-Id: Ie5a17f20b8b545c97128d00605b4eabd2a6bfe3e\n"
    },
    {
      "commit": "e6c57fcb05b0dcbfa8129bb6f7d99093f4819370",
      "tree": "f38faa450b25c99cea2af970268a3fefe7421266",
      "parents": [
        "1c4d83012fea4e6d011215bef1665cf68d2ac47c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 23 20:06:03 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 23 20:06:03 2014 -0700"
      },
      "message": "Add C11 \u003cstdatomic.h\u003e.\n\nBug: 14903517\nChange-Id: I631dbfdaa698cf7fea8e3b5e18a32586383e62a5\n"
    }
  ]
}
