http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57926
Andrew Macleod <amacleod at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |amacleod at redhat dot com --- Comment #6 from Andrew Macleod <amacleod at redhat dot com> --- Created attachment 30535 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30535&action=edit should fix bug So this would appear to fix the problem by allowing ARRAY_TYPE as well as POINTER_TYPE to appear where the atomic pointer is required. I haven't bootstrapped it or anything yet, but assuming that ARRAY_TYPE from the g++ front-end means the same as POINTER_TYPE in this context, this would be the solution and I'll proceed with a test case and proper bootstrap/submission. You can try it if you want :-) I tried a few different contexts and got the behaviour I expected in each case.