Hans Boehm 9ac60bf82b Make stdatomic.h work with gcc4.6 host compiler
This is needed to make L work correctly, and bionic tests pass
again, after applying the equivalent of
commit 00aaea364501b3b0abe58dae461136159df1e356 there.

It makes the preexisting code that uses __sync implementations
much more useful, although we should no longer be exercising that
code in AOSP.

Specifically fixes:

We were invoking __has_extension and __has_builtin for GCC compilations.
They're clang specific. Restructured the tests.

The __sync implementation was not defining the LOCK_FREE macros.

ATOMIC_VAR_INIT was using named field initializations.  These are a
C, not C++, feature, that is not supported by g++ 4.6.

The stdatomic bionic test still failed with 4.6 and glibc with our
questionable LOCK_FREE macro implementation.  Don't run that piece
with 4.6.

In L, this is a prerequisite for fixing:

    Bug:16880454
    Bug:16513433

Change-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab
(cherry picked from commit 32429606bf696d3b2ca555f132a0d60c566d0bd0)
2014-09-02 11:37:02 -07:00
..
2014-05-13 18:08:29 -07:00
2014-01-03 15:58:40 -08:00
2014-07-15 16:49:30 -07:00
2014-06-06 15:05:58 -07:00
2014-06-24 19:03:31 -07:00
2010-01-15 15:57:02 -08:00
2014-02-24 20:22:11 +00:00
2014-06-05 23:19:15 -07:00
2014-02-10 13:31:13 -08:00
2014-04-18 21:48:57 +00:00
2010-01-15 15:01:44 -08:00
2014-07-24 15:14:06 -07:00
2014-06-06 16:49:39 -07:00
2014-01-09 13:54:49 -08:00
2014-07-29 14:20:37 -07:00
2014-08-20 12:14:21 -07:00
2014-06-23 08:30:40 -07:00
2010-06-11 14:39:39 -07:00
2014-03-11 19:13:25 -07:00
2014-05-06 15:44:14 +01:00
2014-04-08 19:37:38 -07:00