Frank Heckenbach wrote:
Unfortunately, pushdecl() (further below) overrides DECL_CONTEXT, so your patch is ineffective. (Of course, you couldn't notice this, since the problem doesn't arise under Linux.)
I had checked that 3.4 based cross assembler generates different output. However, in 3.4 backend does not append dots and numbers to the name if it has assembler name set, so my 3.4 patch skips setting assembler name on locals. So, probably with 3.4 it is enough to set the assembler name (as DECL_CONTEXT change was ineffective). For 3.3 I did only native test.