http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57403
--- Comment #2 from Nick Maclaren <nmm1 at cam dot ac.uk> --- On May 24 2013, pinskia at gcc dot gnu.org wrote: >http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57403 > > --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Well > volatile void * is a pointer to volatile void and the pointer itself does > not have the volatile on it. Aargh! Even after all this time, I still fall into that one :-( Yes, you are quite right, and I was making a stupid error. > I think the only real issue here is the error message. IIRC allocators do > not (and cannot) support volatile qualified types. That may well be true, but I can't find any such restriction in the C++ standard. It would be a great help if the library specification weren't so ambiguous - in this case, it hinges around the meaning of the word 'type', and the unqualified word is used with at least three meanings in the standard.