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

Reply via email to