I don't have the time to finish pushing through the C11 atomic work for
this release. Much of the remaining parts are in the parser, which I
know very little about, and I won't be able to do a sufficient job in
the time remaining, so I am switching my focus to the interface work and
getting the header files re-factored before we end stage 1.
I have put all the work to date in a branch 'C11-atomic' which is based
off of trunk on Sept 25th. I have detailed the current status as well
as what else needs doing on the C11 atomic wiki page
http://gcc.gnu.org/wiki/Atomic/C11
I have also uploaded the specific patches that have been applied to the
branch, along with their revision numbers. they are also on that wiki page.
The patches are very similar to what I posted here
http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00420.html
I addressed jsm's basic comments, but did not address the larger issues
of warnings/errors and converting lvalues into rvals, and other front
end issues. I also removed the places where i tried to treat the atomic
qualifier like it was volatile.. I think that was wrong and was masking
other issues.
If this work is important to someone else, you are welcome to pick it
up. My parser expertise is minimal, and most of the remaining work is
in that part of the compiler. The facilities are provided already to
do the expansion of atomic variable into the appropriate sequences, they
just need to be called from the right places in the parser.
I may well get back to this next spring for the next release, but for
now I am mothballing it until I have the time to learn that parts I need
to learn to finish it.
Andrew