http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55619
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-10 14:48:00 UTC --- Created attachment 28913 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28913 gcc48-pr55619.patch Here is (untested) patch I had in mind. But perhaps we'd need to also change the C FE, because with this patch we no longer error on e.g. void f () { int x[4]; __asm volatile ("" : : "m" (x)); } in C++, but still error out on it in C. On the C side perhaps we should drop the convert_p argument to c_parser_asm_operands, not do any conversion nor c_fully_fold in there and instead do it in build_asm_stmt.