)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
